Date | Topic | Reading | HW | |
---|---|---|---|---|
Week 1 | ||||
Jan 31 | Introduction and Course Overview | |||
Feb 02 | Introduction to UNIX and the shell | Read LCL, Chapters 1-3 Run the vim and emacs tutorials |
HW0 | |
Week 2 | ||||
Feb 07 | UNIX Commands | Read LCL, Chapters 4-8 | ||
Feb 09 | 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 | ||||
Feb 14 | Introduction to C and Compilation | Effective C Ch. 1 | HW1 | Exercise 7 |
Feb 16 | Makefiles | A short introduction to Make Variables in Make Implicit rules in Make Standard targets in Makefiles |
||
Week 4 | ||||
Feb 21 | Objects, Functions, and Types | Effective C Ch. 2 | HW2 | |
Feb 23 | Arithmetic Types | Effective C Ch. 3 Dis Ch. 4.1 - 4.6 |
||
Week 5 | ||||
Feb 28 | Expressions and Operators | Effective C Ch. 4 | ||
Mar 02 | Control Flow | Effective C Ch. 5 | HW3 | |
Week 6 | ||||
Mar 07 | Dynamically Allocated Memory | Effective C Ch. 6 | ||
Mar 09 | Debugging, Testing, and Analysis | Effective C Ch. 11 DiS Ch. 3.1 - 3.4 21st Century C, Ch. 2 |
||
Week 7 | ||||
Mar 14 | Project Proposals | |||
Mar 16 | No class (RJH at SIGCSE) | HW4 | ||
Fall Break | ||||
Week 8 | ||||
Mar 28 | Characters and Strings | DiS 2.6 | ||
Mar 30 | Self-referential Structures | DiS Ch. 2.5, 2.7 | ||
Week 9 | ||||
Apr 04 | Input/Output | Effective C Ch. 8 | HW5 | |
Apr 06 | Input/Output | |||
Week 10 | ||||
Apr 11 | Advanced git | HW6 | ||
Apr 13 | Compression | Read HW8 | ||
Week 11 | ||||
Apr 18 | Open Source Software | HW7 | ||
Apr 20 | System Calls | DiS 13.0 - 13.1 | ||
Week 12 | ||||
Apr 25 | Processes | DiS 13.2 | ||
Apr 27 | Interprocess Communication | DiS 13.4 | ||
Week 13 | ||||
May 02 | Networking | |||
May 04 | Virtual Memory | DiS 13.3 | HW8 | |
Week 14 | ||||
May 09 | TBD | |||
May 11 | Buffer Overflows |