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.