CSE 124
Class resources


I want to provide you with as many learning resources for this course as I can, while also helping to prevent “notification overload”, where keeping up with every possible course resource becomes overwhelming and distracting. Below is a short guide to the resources that will be provided as part of this class, provided to you so that you can thoughtfully choose which you’d like to use.

Required resources


We cover course material, announcements, occasional in-class exercises and demos, Q&A

Course website

Provides authoritative information about the class, assignments, and clarifications of homeworks and projects. You are responsible for keeping up with announcements and materials posted on the web site.

Textbooks (2+2)

Two required, and two optional. One of the required books is available for free online as a PDF. The other is available as a paperback book and as a “rental” ebook. One of the optional books (Peterson and Davie) is available for free if you’re on campus or on the VPN.


A full-featured source code management system used extensively in industry. You will submit most of your assignments using GitHub.

Optional resources

These resources are provided for your benefit, and you are under no obligation to use them.

Discussion section

I highly recommend going. You get additional exposure to the material, get to work through examples and demos, and get “deep cuts” of useful information I won’t have time to cover in lecture (e.g., related to the software tools, programming environments, etc.)

Video podcasts

If you have trouble following the lecture, or want to re-examine something you had trouble understanding, it could potentially be useful.



Provides an opportunity to have offline discussions with your classmates and ask questions. However, keeping up with every thread and message can be overwhelming, and sometimes responses posted could contain misleading or incorrect information. If you’re only interested in keeping up with relevant updates related to the assignments, you can simply monitor the web page–I’ll post “FAQs” for assignments as needed with any clarifications or updates. For urgent matters near the deadlines, I may send out a bulk email with the update.