Skip to the main content

Abstraction and Design in Computation - Spring 2020

Professor Stuart Shieber

Fundamental concepts in the design of computer programs, emphasizing the crucial role of abstraction. The goal of the course is to give students insight into the difference between programming and programming well. To emphasize the differing approaches to expressing programming solutions, you will learn to program in a variety of paradigms -- including functional, imperative, and object-oriented. Important ideas from software engineering and models of computation will inform these different views of programming.

For more information about this course, visit the Harvard John A. Paulson School of Engineering and Applied Sciences Course Catalog