June 2026: Free, live class on artificial intelligence
Teaching
Introduction to Artificial Intelligence with Python
My course introducing concepts in artificial intelligence for computer scientists. Developed for Harvard Extension School and edX, produced by CS50.
Web Programming with Python and JavaScript
My course introducing web application development with Python and JavaScript. Developed for Harvard Extension School and edX, produced by CS50.
Abstraction and Design in Computation
My video series on the design of computer programs and the role of abstraction in programming. Developed as a companion to the book by Stuart Shieber for Harvard's CS51.
Introduction to Programming with Scratch
My course introducing the fundamentals of programming with Scratch. Developed for edX, produced by CS50.