CSE 29 Winter 2025 Assignments
You are seeing the assignments (programming assignments and labs) site for the Winter 2025 offering of CSE 29. All course related pages are still linked through the main homepage, cse29.site.
Table of contents
(Source: xkcd 138)
Programming Assignments
PA1: Enigma Machine
Due: January 28 23:59
PA2: Integer List Sorter: Array and Linked List Operations
Due: February 11 23:59
PA3: Systems Programming
Due: February 25 23:59
PA4: The Pioneer Shell
Due: March 11 23:59
Late Policy
- Each student gets four free “slip days” that allow an automatic 24-hour extension on any programming assignment (PA). You do not have to ask to use your slip days. Just submit your assignment after the deadline (but before 24 hours after the deadline) and it will be automatically deducted from your account. You may submit your PAs up to two days late. You can only use a maximum of 2 slip days for any PA. No PA can be submitted more than 2 days late.
- Once you use up your free slip days, you can still submit assignments late but for each late day you will be docked 20% of the grade for that PA. You cannot submit a PA more than 2 days late. For example, if you submit your PA anytime between 12:01am - 11:59pm on the day after the PA is due, your PA will be graded only for a maximum of 80% total points. And if you submit it anytime between 12:01am - 11:59pm on the second day after the PA is due, your PA will be graded for a maximum of 60% total points. After 2 days no late PA submissions will be accepted.
Labs
- Lab 1: Unix, SSH, and Vim
- Lab 2: Version Control with Git
- Lab 3: Debugging with GDB
- Lab 4: Finding memory errors with Valgrind
- Lab 5: Exposing bugs via automated testing
- Lab 6: Automating compilation with Makefiles
- Lab 7: Pipes and filters in UNIX
- Lab 8: Git and GitHub at scale
- Lab 9: Shell scripting, .gitignore, and Mail