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.
Next scheduled classes
Schedule available mid-February
Learn any of the topics here with my expert help, on your own schedule.