The lessons and exercises provided here and the software systems supporting them were originally developed for CS 124, an introductory computer science course at the University of Illinois. When the COVID-19 pandemic began in 2020, the course moved to an asynchronous online format comprising a series of daily lessons and homework problems, weekly quizzes, and a longer Android programming project completed over the second half of the semester. Currently only the lessons and homework are available here, but we plan on posting the Android assignment and related materials later in 2022.
Since Fall 2020, this format has proven so successful at supporting student learning that CS 124 will continue to be taught this way even after in-person on-campus activities fully resume—combined with high-value in-person learning opportunities.
All the materials provided here may be freely used by anyone—including independent learners, and in support of other introductory computer science courses. You can find the official attribution license here.
If you’d like to use these materials for your course, please get in touch, since we are developing features to support instructors and would appreciate your input.
If you are an instructor and would like to add your own explanations to our existing materials, please also get in touch. We can enable contributor access allowing you to add your own live coding and video explanations to our existing materials, creating an even more robust set of online explanations for all students.
Geoffrey Challen is the primary creator of these materials and the systems supporting them. He created and maintains the website and backend services; structured and authored the lesson text, examples, and walkthroughs; and provided an initial set of live coding and video explanations for the Java and Kotlin lessons. If something is wrong or not working, it’s probably his fault—but please let us know!
Since it began supporting CS 124 in Fall 2020, multiple generations of course staff have contributed video and live coding explanations to the site, which was designed specifically to incorporate many voices into the teaching of introductory computing. Colleen Lewis added a complete set of explanations to the Java materials in Fall 2021. And many other people—including many CS 124 course staff—have made smaller contributions as well.
A number of students have made significant technical contributions to the systems and innovative features used on this site, which you can find described in more detail here.
Ben Nordick has made by far the the most substantial set of contributions, including sophisticated technical work on the systems that power the site playgrounds, homework problems, and debugging challenges.
Ben Clarage and Hania Dziurdzik have also made contributions to Jeed, a library and toolkit used by several critical
The computational resources powering this site and technical support required to keep them running smoothly are provided by the Computer Science Department at the University of Illinois. More details about the systems supporting this site and how they are deployed is provided in a series of forthcoming essays which you can find here.