We have an assortment of lessons grouped into series based on their categories. These lessons are all written by Keenan Gugeler and Alexander Liao.
- Introduction to Computer Science: This series is the Computer Science prequel; it outlines what computer science is and how to get setup to start programming.
- The Basics of Computer Science: These are the basic principles of Computer Science, on which the many other advanced concepts are built.
- Data Structures: Data structures are structured ways of storing data.
- Miscellaneous: These are miscellaneous topics that need to be taught but that don't fit anywhere else.
- Graph Theory: Graph theory is the study of graphs: structures used to represent connections between objects.
- Dynamic Programming: Dynamic programming is a technique to solve problems that can be expressed recursively, by building up the answers iteratively. See the first lesson for a better introduction.
- Advanced Data Structures: This series contains lessons on more advanced data structures.
- Object Oriented Programming: Object oriented programming focuses on objects and the manipulation of them, including functions and classes.