Read Me First: Welcome!
Last updated
Was this helpful?
Last updated
Was this helpful?
This instructor guide is intended to help you get started quickly with the material. (If you're reading this on GitHub, you might prefer the much nicer formatting of the .)
If you're new to the course, you might want to quickly scan the Pedagogy and Teaching Tips sections first, so that you know what you're getting into!
The following materials are public and available to everyone:
The free-to-download , also available as an
A set of lecture videos, one per textbook section, as
Lecture slides, one deck per textbook chapter, as
from previous offerings of the course at UC Berkeley
CHIPS (Coding & Hands-on Integrated Projects)—“learn by doing” programming-related assignments. If you adopt Codio for the course, the assignments are preconfigured including auto-graders. You can also use the assignments manually outside of Codio, without the preconfigured autograders.
Access to the following requires you to join the Google group (note: you must be signed in to a Google account for the link to work). In your join request, please include your GitHub username and a link to evidence that you are an instructor (web page, etc.). Once you're a member, you can email with questions/support.
Per-chapter (with instructor solutions) for flipped-classroom or small group work
Per-chapter quizzes (see separate page in this book describing them) consisting of mostly multiple-choice questions to test understanding. You can modify and deliver the quizzes via PrairieLearn, or use legacy materials to generate the quizzes yourself.
suitable for written exams.
Questions for exams that have a coding component (see separate page in this book for details). You can deliver these via Codio which includes autograding, or administer them manually.
This manual guides you through using the above materials and provides pedagogical information and background as well.
Codio is an all-in-one Web-based IDE that also includes our textbook, autograding, and LMS integration. This is the recommended way to administer CHIPS, since students need only a web browser and everything is preconfigured including the autograders. Note: We have no connection to Codio and do not receive any royalty if you use their service, but it makes the course much easier to manage, so we highly recommend using it.
How to get started:
Create a Codio account—
(via the giant orange button)
Preview the content , or preview it to see the full student experience
to convert your trial into a full account. You can then either or .
As of 2021, we are converting all summative assessments (quizzes/exams) and all non-CHIPS formative assessments (practice problems, practice questions not involving code-writing) to use the (PL) assessment authoring system. Besides allowing us to create rich interactive exercises, PL allows randomizing elements of the questions, making them suitable for summative assessments as well as practice.
PL is open source and you can download and run it yourself (not trivial), or contact the nice folks at to host it for you. Note: We have no formal connection to PL so you'll need to contact them directly for support, but we believe it’s the best system we have seen for authoring rich interactive exercise for this course.