teaching programming: a new approach based on analysis skills
A new approach is described to the teaching of introductory computer programming and computer science (the CS1 course). The approach is based on a new view of what programming is fundamentally about. The central feature of the approach is the teaching of skills in program analysis along with the traditional emphasis on skills in program synthesis . The approach was class tested in an earlier version in 1986, and the difficulties encountered in the class test led to two supporting changes in the course content: (1) data structures are introduced at the beginning of the course, and (2) the concept of program state is introduced as a key element in understanding programs.
teaching program analysis skill computer programming computer science feature class test version change contention concept understandability