Syllabus

This is a rough schedule of topics for each day and the release and due dates for each homework assignment.

Class topics and homework information may change over the course of the term. Please treat this schedule as a rough guide for seeing what we’ll be focusing on, and expect that there will be shifts as the term progresses. However, I will put all relevant links on this page, so consider this a quick reference for what we have seen so far (that is easier to search than Moodle). Many of the links for future content will be invalid until we get closer to that date.

Preparation should be completed before the class day that they are listed. Class is structured expecting that you have completed the preparation activities and responded to them on Moodle.

DIS refers to Dive Into Systems.

Date Homework/Preparation Due In Class Homework Out
Week 1   Bits of C  
9/15 Logistics Prep Slides, Logistics and C HW1: Bits and Bytes
9/17   Slides, Bit Ops and Numbers  
9/19 HW1; Slides, UTF-8, Data Rep Lab HW2: Character Encodings
Week 2   More C  
9/22   Slides, Arrays in C  
9/24 HW2; Slides, Structs and arrays Debugging HW3: String Things
9/26   Slides, Memory  
Week 3   Numbers  
9/29 Study! Slides, Exam 1  
10/1 HW3; Slides, Pointers and strings HW4: Queues in C
10/3   Slides, Signed integers  
Week 4   Starting Assembly  
10/6   Slides, Overflow and 2’s complement  
10/8 HW4; Slides, Fractions and floating point  
10/10   Slides, Assembly Basics HW5: asm-to-C puzzles
Week 5 More Assembly    
10/13   Slides, mov and lea  
10/15   Slides, Exam 2 [
10/17 HW5, Slides, Trusting Trust  
Week 6   Reverse Engineering  
10/20   Midterm break!  
10/22   Slides, Condition codes HW6: Escape from the Zoo](hw7)
10/24   Slides, Stack and functions  
Week 7   Buffer Overflow  
10/27   Slides, Exam 3  
10/29 HW6; Buffer Overflow Prep Slides, Buffer Overflows HW7: Buffer Overflow
10/31 Unix Prep Slides, File systems and Unix  
Week 8   Processes, threads, and memory  
11/3 OS and Processes Prep Slides, Processes; Getting Started with Processes Lab  
11/5 HW7; Signals and Messages Prep Slides, Forks and Pipes HW8: Simple Command Shell
11/7 Caching Prep Memory Hierarchy Prep Slides, Caching  
Week 9   Caches  
11/10   Slides Exam 4  
11/12 HW8; Slides, Cache aware code  
11/14   Slides, Networking basics  
Week 10   Wrapping up  
11/17 How DNS Works Slides, IP and DNS  
11/19 Study; Submit checklist for SS exam Slides, Mini-exam, Review All revisions due 10pm
11/21   Reading days!  
Exam Period      
Self-scheduled