Course description

This course is an intensive introduction to the intellectual enterprises of computer science and the art of programming. It is a fast-moving course that demands a substantial commitment of time and effort for students to be successful. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets are inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. Students can count two of the following three courses—CSCI E-10a, CSCI E-10b, and CSCI E-50—toward a degree. They cannot count all three toward an Extension School degree.


  • Gordon McKay Professor of the Practice of Computer Science, Harvard John A. Paulson School of Engineering and Applied Sciences
Enroll now.
Learn More