All ASSIGNMENT due times are 11:59PM on the listed date. Submissions via Moodle.
M Jan 3
Yay! Two more days of break!
W Jan 5
- [READ] Course information
- [LAB] VS Code & mantis
- [ASSIGNMENT, 1/10] Starting C
- Class notes
F Jan 7
- [READ] Bryant & O'Halloran 1.1-1.4, 2.1
- [ASSIGNMENT 1/17] Queues in C
- Class notes
- Slides
M Jan 10
- [READ] Bryant & O'Halloran 2.2-2.3
- [READ] Pointer basics (Stanford)
- [READ] The 5-Minute Guide to C Pointers (Dennis Kubes)
- [VIDEO] (3:11) Binky Pointer Fun Video C (Nick Parlante)
- Class notes
- Slides
W Jan 12
- [READ] The Descent to C (Simon Tatham)
- [READ] An Introduction to Character Encodings (Ravi Suresh Mashru)
- Class notes
- Slides
F Jan 14
- [VIDEO] (16:30) C header files (how the compiler treats queue.h versus queue.c)
- Class notes
- Slides
M Jan 17
- [QUIZ 1/20] C and data representation. For quizzes in this class, you may retake the quiz as many times as you wish before the deadline (11:59PM on the listed date). Your final score will be the maximum score of all your retakes.
- Class notes
- Slides
W Jan 19
- [READ] Revisit Bryant & O'Halloran 2.1.6-2.1.9
- [READ] Bryant & O'Halloran 3.1-3.2
- Class notes
- Slides
F Jan 21
- [READ] Bryant & O'Halloran 3.3-3.6.7. Read this for high-level concepts rather than detailed command of each type of instruction.
- [ASSIGNMENT 1/24] Bits & character encodings in C
- Class notes
- Slides
M Jan 24
- [ASSIGNMENT 1/31] Assembly to C
- Class notes
- Slides
W Jan 26
F Jan 28
- Class notes
- Slides for 1/26 and 1/28
- [VIDEO] (20:43) x86 miscellany
M Jan 31
W Feb 2
- In-class exam in Olin 304/306/308
F Feb 4
- Class notes
- [LAB] Intro to gdb (this is a quick listing of the stuff I walked through in class today)
M Feb 7
- Midterm break
W Feb 9
- [LAB] a sample bomb
- [ASSIGNMENT, 2/14] Defusing "bombs", a reverse engineering exercise
F Feb 11
M Feb 14
- [READ] Textbook sections 3.7 Procedures and 3.8.1-3.8.2 Array Allocation and Access
- Class notes
W Feb 16
- [READ] Textbook sections 8.1 through 8.4
- [ASSIGNMENT, 2/22] Writing a command shell
- [VIDEO] (32:49) Getting Started With the Command Shell, Part 1
F Feb 18
- [VIDEO] (32:49) Getting Started With the Command Shell, Part 2
M Feb 21
- Class notes
- Slides
- [VIDEO] (3:35) Command Shell: quick note on implementing one pipe
W Feb 23
F Feb 25
- [READ] Textbook sections 9.1 through 9.6 (introducing virtual memory)
- Class notes
- Slides
- [ASSIGNMENT, 3/4] Exploiting buffer overflows
M Mar 7
- Class notes
- Slides
- [EXAM 5:00PM W March 16] Here's your final exam. Have fun!
W Mar 9
- [VIDEO] (32:16) page tables
- Slides from the video
- Aaron Bauer's lecture notes on virtual memory from last term
- Wikipedia on page tables, which has some good diagrams and discussion