This course is an introduction to fundamental ideas in computer programming. Topics discussed include building abstractions with procedures, building abstractions with data, modularity, objects, and state, metalinguistic abstraction, and computing with register machines. The programming language used is the Scheme dialect of Lisp. The course presupposes no formal training in computation, and addresses elements of style and aesthetics of programming as well as formal issues. This course is an introduction to fundamental ideas in computer programming. Topics discussed include building abstractions with procedures, building abstractions with data, modularity, objects, and state, metalinguistic abstraction, and computing with register machines. The programming language used is the Scheme dialect of Lisp. The course presupposes no formal training in computation, and addresses elements of style and aesthetics of programming as well as formal issues.
Prerequisites: none
Recitations: none
Expected class size:
Frequency:
Credits: 3