ASSIGNMENT items are due by 11:59PM on the listed date. Read the READ items before class on the day where they appear. Homework submissions via Moodle.
M Mar 27
- [READ] Course information
- [LAB 3/27] VS Code & mantis Do this by the end of the day. We won't spend class time on actually doing this lab, though I'll give you a little guidance and field questions about it Monday and Wednesday.
- Class notes
W Mar 29
- [READ] I strongly urge you to read through my Slack posts in #questions on the afternoon of Monday, March 27. Lots of good questions asked, and I tried to provide useful answers. Also, some detailed guidance on the homework.
- [READ] Bryant & O'Halloran 1.1-1.4, 2.1
- [ASSIGNMENT 3/30] Starting C
- Class notes
- Slides
F Mar 31
- [READ] Bryant & O'Halloran 2.2-2.3
- [READ] Pointer basics (Stanford)
- [READ] The 5-Minute Guide to C Pointers (Dennis Kubes) You can read this one if you want, but it might make more sense later in the term.
- [VIDEO] (3:11) Binky Pointer Fun Video C (Nick Parlante)
- Class notes
- Slides
M Apr 3
- [LAB] In class today. Debugging with VS Code
- [VIDEO] (21:48) The queues assignment
- [VIDEO] (16:30) C header files (how the compiler treats queue.h versus queue.c)
- Class notes
- Slides
W Apr 5
- [ASSIGNMENT 4/6] Queues in C
- Class notes
- Slides
F Apr 7
- [LAB] In class today. Data representation, part 1: characters
- Class notes
- Slides
M Apr 10
- [READ] Review sections 2.1.6-2.1.9 of Bryant & O'Halloran on bitwise and logical operations in C
- [READ] An Introduction to Character Encodings (Ravi Suresh Mashru)
- [LAB] In class today. Data representation, part 2: integers
- Class notes
- Slides
W Apr 12
- [ASSIGNMENT 4/13] Bits & character encodings
- Class notes
- Slides
F Apr 14
- [Quiz 4/16] See Moodle. You can do this quiz as many times as you like, and your score (out of 8) will be your highest score.
- Class notes
- Slides
M Apr 17
W Apr 19
- In-class exam
F Apr 21
- [READ] Sections 3.1-3.4 of Bryant & O'Halloran. In general, all of Chapter 3 will be a good reference for concepts during the next few weeks, but you'll also use online reference materials for some of the day-to-day details. Don't read Chapter 3 for memorization--read it for ideas.
- [LAB] Try this before Monday. Getting started mapping C to i86_64 assembly
- Class notes
- Slides
M May 1
- Midterm break. Have fun!
W May 3
- [LAB] In class. Lab: a sample bomb
- Class notes
- Slides
F May 5
- [ASSIGNMENT 5/7] Defusing digital "bombs"
- A gdb quick reference targeted at the bomb project
- Class notes
- Slides
M May 8
W May 10
- [READ] Bryant & O'Halloran 8.1-8.4
- [READ] Read the main sections of the manual pages for fork, execlp, execvp, wait, and signal (and fflush, while you're at it)
- Class notes
- Slides
F May 12
- [VIDEO] (31:22) Implementing a command shell, part 1
- [VIDEO] (26:05) Implementing a command shell, part 2
- Class notes
- Slides
M May 15
- [ASSIGNMENT 5/16] Implementing a command shell, part 1
- Class notes
- Slides
W May 17
- [ASSIGNMENT 5/18] Implementing a command shell, part 2
- Class notes