Course description

This course is an introduction to the intellectual enterprises of computer science and the art of programming. It teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, PHP, and JavaScript plus SQL, 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-10aCSCI E-10b, and CSCI E-50—toward a degree. They cannot count all three toward a degree.


  • head shot, david malan smiling. Young gentleman with slightly receeding hairline.
    Gordon McKay Professor of the Practice of Computer Science, Harvard University
Enroll now.
Take course