| Date | Topic | Reading | HW | |
|---|---|---|---|---|
| Week 1 | ||||
| Sep 06 | Introduction and Course Overview | |||
| Sep 08 | Introduction to UNIX and the shell | Read LCL, Chapters 1-3 Run the vim and emacs tutorials |
HW0 | |
| Week 2 | ||||
| Sep 13 | UNIX Commands | Read LCL, Chapters 4-8 | ||
| Sep 15 | Version control and git | Read LCL, Chapters 9-11. Git Book, sections 1.1, 1.3, 1.6, 1.7, 2.1, and 2.2 Interactive Git Tutorial |
Exercise 2 Exercise 3 Exercise 4 |
|
| Week 3 | ||||
| Sep 20 | Introduction to C and Compilation | Effective C Ch. 1 | HW1 | |
| Sep 22 | Makefiles | A short introduction to Make Variables in Make Implicit rules in Make Standard targets in Makefiles |
||
| Week 4 | ||||
| Sep 27 | Objects, Functions, and Types | Effective C Ch. 2 | HW2 | |
| Sep 29 | Arithmetic Types | Effective C Ch. 3 Dis Ch. 4.1 - 4.6 |
||
| Week 5 | ||||
| Oct 04 | Expressions and Operators | Effective C Ch. 4 | HW3 | |
| Oct 06 | Control Flow | Effective C Ch. 5 | ||
| Week 6 | ||||
| Oct 11 | Dynamically Allocated Memory | Effective C Ch. 6 | ||
| Oct 13 | Project Proposals | |||
| Fall Break | ||||
| Week 7 | ||||
| Oct 25 | Debugging, Testing, and Analysis | Effective C Ch. 11 DiS Ch. 3.1 - 3.4 21st Century C, Ch. 2 |
HW4 | |
| Oct 27 | Characters and Strings | Effective C Ch. 7 | ||
| Week 8 | ||||
| Nov 01 | Self-referential Structures | DiS Ch. 2.5 - 2.7 | HW5 | |
| Nov 03 | Input/Output | Effective C Ch. 8 | ||
| Week 9 | ||||
| Nov 08 | No class, sick kids… | HW6 | ||
| Nov 10 | Input/Output | |||
| Week 10 | ||||
| Nov 15 | Advanced git | HW7 | ||
| Nov 17 | Compression | Read HW8 | ||
| Week 11 | ||||
| Nov 22 | Open Source Software | |||
| Nov 24 | Thanksgiving Break | |||
| Week 12 | ||||
| Nove 29 | System Calls | DiS 13.0 - 13.1 | ||
| Dec 01 | Processes | DiS 13.2 | HW8 | |
| Week 13 | ||||
| Dec 06 | Interprocess Communication | DiS 13.4 | ||
| Dec 08 | Virtual Memory | DiS 13.3 | ||
| Week 14 | ||||
| Dec 13 | Buffer Overflows |