Formulating a Program Idea