The aim of this course is to help students write programs of higher quality and increased complexity. This requires creating software that is correct, easy to change, easy to understand, and easy to scale. The course covers principled approaches to achieving each of these.
Instructor: Kevin Zatloukal (kevinz at cs)
TAs: Samuel Berensohn, Ege Caglar, Harshal Desai, Andrew Gies, Elijah Greisz, Kellie Gui, Lia Hiscock, Jasmine Li, Nancy Li, Bryan Lim, Ardi Madadi, Betty Park, Bella Rose, Helena Stafford, Josie Thompson, Ronald Widjaja, and David Xu
Contact Info: Please use the message board whenever possible. The answer to your question is likely to be helpful to others in the class, and by using the discussion board, it will be available to them as well. For grading or other private matters, you will get the fastest response by sending email to cse331-staff at cs, which will reach both the instructor and all TAs.
All course activities will take place online.
Live Lectures (Section A) For section A, live lectures will take place at 10:30-11:20am on Monday, Wednesday, Friday via Zoom video. A link to the Zoom meeting for the live lectures is available on our Canvas page.
Pre-Recorded Lectures (Section B): For section B, lectures will be pre-recorded. An email with links to the videos to watch will be sent 1-2 days before the Q&A session for that topic. These videos will also be linked on the lecture list and calendar.
Lecture Q&A: Q&A sessions will take place at 2:30-3:20pm on Monday, Wednesday, Friday via Zoom video. A link to the Zoom meeting for the live lectures is available on our Canvas page.
Sections: Meeting via Zoom video on Thursdays. Times and links to the Zoom meetings will be available on our Canvas page.
If you are new to Zoom, please see the Zoom information page.