This course covers abstraction and design in computation. Topics include functional and object-oriented styles of programming, software engineering in the small, and models of computation. The goal is to understand how to design large programs to make them readable, maintainable, efficient, and elegant. The recorded lectures are from the Harvard John A. Paulson School of Engineering and Applied Sciences course Computer Science 51.

Meet The Author

Stuart Shieber

Stuart Shieber

James O. Welch, Jr. and Virginia B. Welch Professor of Computer Science, Harvard University

PhD Stanford University

Course Provided By

Back To Top