CS208 Intro to Systems S24 Schedule
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 | Starting with C | ||
3/25 | Resources, Syllabus, Collaboration, Samples | Slides, VSCode & mantis, starting C | HW1: select-column |
3/27 | Getting Started with C | Slides, More C | |
3/29 | HW1; Strings and Files | Slides, Strings and IO | HW2: minigrep |
Week 2 | More C | ||
4/1 | HW2; Pointers Prep | Slides, Memory | HW3: readline |
4/3 | Binary Prep | Slides, Binary and Debugging | |
4/5 | HW3; Structs Prep | Slides, Types | HW4: Queues in C |
Week 3 | Machine Languages | ||
4/8 | Study! | Slides, Quiz 1 | |
4/10 | HW4; Bit Ops Prep | Slides, Bit Ops | HW5: Bit operations and UTF-8 |
4/12 | Unicode Prep | Slides, UTF-8, Data Rep Lab | |
Week 4 | Assembly | ||
4/15 | Starting Assembly Prep; Study! | Slides, Quiz 2; Compiler Explorer | |
4/17 | HW5; Assembly Basics Prep | Slides, x86-64 assembly language | HW6.1: asm-to-C puzzles |
4/19 | Assembly Flow Control Prep | Slides, Flow Control in Assembly | |
Week 5 | More Assembly | ||
4/22 | Assembly Bits and LEA Prep | Slides, Quiz 3; LEA | |
4/24 | HW6.1; Assembly Functions Prep | Slides, Functions in Assembly | HW6.2: More puzzles! |
4/26 | Assembly Recursion Prep | Slides, Recursion in Assembly | |
Week 6 | Reverse Engineering | ||
4/29 | Midterm break! | ||
5/1 | HW6.2, GDB and Arrays Prep | Slides, Intro to gdb; Arrays in Assembly | HW7: Escape from the Zoo |
5/3 | More GDB and Structs Prep | Slides, GDB Assembly Lab | |
Week 7 | Buffer Overflow | ||
5/6 | Study! | Slides, Quiz 4 | |
5/8 | HW7; Buffer Overflow Prep | Slides, Buffer Overflows | HW8: Buffer Overflow |
5/10 | Unix Prep | Slides, Useful Unix | |
Week 8 | Processes, threads, and sockets | ||
5/13 | OS and Processes Prep | Slides, The OS; Getting Started with Processes Lab | |
5/15 | HW8; Signals and Messages Prep | Slides, Intro to HW9 | HW9: Command shell 1 |
5/17 | No prep | Slides, Catch up | |
Week 9 | Memory | ||
5/20 | HW9 | Slides, Quiz 5 | HW10: Command shell 2 |
5/22 | Memory Hierarchy Prep | Slides, Locality and Memory | |
5/24 | HW10; Caching Prep | Slides, Caching | |
Week 10 | Wrapping up | ||
5/27 | Study! | Slides, Quiz 6 | |
5/29 | No prep; Submit checklist for SS exam | Slides, Something fun :) | |
5/31 | Reading days! | ||
Exam Period | |||
Self-scheduled | |||
All revisions due Monday 6/3, 9:30pm. Any request for an extension must go through the Dean of Students office as I am not otherwise permitted to consider work submitted after this time. |