CSE 331

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.


All course activities will take place in person.

Lectures: We have lectures on Monday, Wednesday, and Friday. These will take place 2:30-3:20pm in JHN 102.

Sections: We have quiz sections on Thursdays. See the time schedule for times and locations.

Office Hours: These will be held in person throughout the week. See the course calendar for times and locations.


James Wilcox

James's profile photo

He/Him or They/Them


OH: Tue 14:30-15:30 CSE 440 and Zoom

Kevin Zatloukal

Kevin's profile photo



OH: Mon 15:30-16:30, CSE 436

Alex Zhang

Alex's profile photo


Section AA, AE

OH: Tue 10:30-11:30, CSE2 121

Betty Park

Betty's profile photo


Section AC

OH: Thur 16-17, Zoom

David Xu

David's profile photo


OH: Fri 10-11, Zoom

Elijah Greisz

Elijah's profile photo


Section AC, AD

OH: Fri 16-17, CSE 2/F breakout

Gargi Panatula

Gargi's profile photo


OH: Thur 10-11, CSE2 121 &
Fri 13-14, Zoom

Jaela Field

Jaela's profile photo


Section AB

OH: Fri 9:30-10:30, CSE 4/F breakout

Katherine Murphy

Katherine's profile photo


Section AB

OH: Mon 16:30-17:30, CSE 3/F breakout

Maia Xiao

Maia's profile photo


OH: Mon & Wed 9:20-10:20, CSE 4/F breakout

Michael Li

Michael's profile photo


Section AA, AE

OH: Tue 16:30-17:30, Zoom

Zhennan Zhou

Zhennan's profile photo


Section AD

OH: Mon 12:30-13:30, CSE 4/F Breakout &
Wed 12:30-13:30, CSE 3/F Breakout

Contact Info: Please use the message board whenever possible; the answer to your question is likely helpful to other students. For grading questions, please make a regrade request on Gradescope if possible. For other private matters or staff test reruns, please contact the cse331-staff at cs email list which will reach both instructors and all TAs for the quickest response.