This is the main website for CSE 401 and CSE M 501. Please use the navigation bar at the top of this page to find important resources and links on this site. Some additional resources, particularly links to lecture recordings, office hours, and the course gradebook, are on the course Canvas web page.
10/28: Information about possible project extensions for CSE M 501 students has been added to the main project index page. If you are in CSE M 501, you and your partner should start thinking now about what you want to do since it may be useful to start working on this as part of the semantics/type-checking part of the overall project.
10/25: Reminder: midterm exam is in class this Friday, Oct. 31. Topics include everything through lectures on semantics and type-checking plus all other work we've done up to this point. You can bring a single 5x8 notecard with you with whatever hand-written notes you want on both sides. We'll have time for review questions in sections on Oct. 30, the day before the exam.
10/25: x86-64 lecture slides for next week added.
10/24: Next part of the project, static semantics and type checking, available now. Due Thru. 11/13, but there is a required check-in during sections on 11/6 where you and your partner should review your symbol table and type APIs with your TA and discuss progress.
10/16: Mini-hw3 on LL grammars is out now. Due Oct. 27, but we've now covered all of the relevant topics in class, so this is posted now so people can get started on it.
10/7: New pages added to the web containing old exams and topic lists. The topic lists will be updated for this quarter, but are not likely to change significantly. These should be useful for studying for exams this quarter. See the resources page for the link.
9/18: Welcome to the website for CSE 401 and CSE M 501 for
Fall Quarter, 2025.
Please send mail to cse401-staff[at]cs if you spot
any unexpected problems.
Instructor: Hal Perkins (perkins[at]cs – but please use cse401-staff[at]cs for mail)
Teaching Assistants: Bill Baxter, Karen Haining, Varun Iyengar, Larry Mei, Rajat Sengupta, and Andy Stanciu. We will also have some help from Alexander Metzger who is the TA for the related CSE P 501 course.
Contact Info: Please use the message board (link at the top of this page) 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. Feel free to use private messages on the discussion board for questions that contain detailed code or should not be shared with the rest of the class. For other questions, including unexpected emergencies or other personal circumstances, please send mail to cse401-staff[at]cs (use the same list for CSE M 501). That will help us keep track of things that need further followup from the course staff to better help you.
Lectures: MWF 2:30-3:20 in CSE2 G10. Lectures will be recorded using panopto. See the course canvas page for links. Lecture slides and other items will be posted on the course calendars here, generally by the evening before each class.
Although lectures will be recorded, this class is not a distance-learning or hybrid class. Recordings are intended for review, or to help when unavoidable absences such as illness occur, not to replace class attendance. Recent experience has shown that significant numbers of students who regularly miss class struggle with the material, find it hard to keep up, and do not do as well in the course. You should plan to attend class regularly.
Sections: Various times on Thursday afternoons. Sections will not be recorded, but we may make occasional videos available of tutorial material when helpful. All section materials will be posted on here on the course web site, and you should plan to attend sections regularly.
Office Hours: In-person, zoom, and hybrid at scheduled times during the week. Times and locations will be posted on the main course calendar. Zoom links are on the course canvas calendar page.