This page gives an overview of the topics I am currently available to teach. All are available as guided individual instruction, and occasionally as scheduled group classes (currently inactive).

Introductory Group

This is a series of courses that I think present a good foundational introduction to computer science, based on my time as an instructor at Carnegie Mellon.

  • Computation and Change (no requirements)
    An introduction to the fundamentals of computer programming.
  • Getting It Right (requires previous topics or programming experience)
    How do computer scientists know if their computer programs are correct?
  • Numbers in a Computer (no requirements)
    How do computers store and manipulate numbers?
  • Arrays, Searching, and Sorting (requires previous topics)
    Some of the most beautiful algorithms in computer science deal with sequences of information.
  • Trees and the Structure of Data (requires some programming experience)
    Learn about the different ways computers represent, store, and think about data.

Other Topics

Next scheduled classes

March-April 2018
Schedule available mid-February

Start today!

Learn any of the topics here with my expert help, on your own schedule.