Schedule
Online textbook: GWU CSCI 2410: Systems Programming
Note:
- Labs, including coding practice and homework assessments, are on Wednesday and Friday, and you only need to come to one lab each week.
- Homework assignments are always due by 6PM EST of the due day.
| Week | Date | Topic | Activity | Material | Lab & Homework |
|---|---|---|---|---|---|
| 1 | Tue 8/25 | Intro & Computer Organization Basics | Sec. 1 | Lab: Setup & Basic C | |
| Thu 8/27 | Memory | Sec. 2 | HW0.25 – Due: Fri 9/4 | ||
| Slides | |||||
| 2 | Tue 9/1 | C Basics | Quiz | Sec. 3–3.1 | Lab: C Development |
| Thu 9/3 | C Basics II | Sec. 3.3 | HW0.5 – Due: Fri 9/11 | ||
| 3 | Tue 9/8 | Pointers | Sec. 4–4.1 | Lab: GDB & Valgrind | |
| Thu 9/10 | Pointers II | Quiz | Sec. 4.2 | HW0.75 – Due: Tue 9/22 | |
| 4 | Tue 9/15 | Memory Allocations | Quiz | Sec. 4.3 | Lab: Pointers |
| Thu 9/17 | Memory Allocation II | Exercise | |||
| 5 | Tue 9/22 | Memory Layout and Interfaces | Sec. 4.5 | HW0.75 assessment | |
| Thu 9/24 | Casting | Quiz | Sec. 4.7 | HW1 – Due: Tue 10/6 | |
| 6 | Tue 9/29 | C Scoping Rules | Quiz | Sec. 5 | Lab: Key-Value Store |
| Thu 10/1 | Instructor travelling. No Class. | ||||
| 7 | Tue 10/6 | Function Pointers | Exercise | Sec. 6 | HW1 assessment |
| Thu 10/8 | Lifetimes of Memory Objects | Quiz | Sec. 7.1 | ||
| Sec. 7.3.2 | |||||
| 8 | Tue 10/13 | Fall break. No Class. | |||
| Thu 10/15 | Course Review | Exercise | HW2 – Due: Fri 10/23 | ||
| 9 | Tue 10/20 | Processes: fork() | Sec. 8–8.3 | Lab: Shell Intro | |
| Thu 10/22 | API Design and Error Handling | Quiz | Sec. 7.3 | ||
| Sec. 7.5 | |||||
| 10 | Tue 10/27 | Processes: wait() and exit() | Sec. 8.4–8.5 | HW3 – Due: M0: 11/3, M1: 11/11, M2 & M3: 12/4 HW2 assessment | |
| Thu 10/29 | Processes: execve() and Process Descriptors | Quiz | Sec. 8.11 | ||
| Sec. 9 | |||||
| 11 | Tue 11/3 | Inter-process Communication (IPC): Pipes | Quiz | Sec. 9.1 | Lab: Shell Design |
| Thu 11/5 | Pipes | Exercise | |||
| 12 | Tue 11/10 | Signals | Sec. 9.2 | Lab: Pipes | |
| Thu 11/12 | Signals II: The Dark Side | Exercise | Sec. 9.2.6 | ||
| 13 | Tue 11/17 | Files | Sec. 10 | HW3 M1 assessment | |
| Thu 11/19 | Files Streams | Quiz | Sec. 10.3.2 | ||
| 14 | Tue 11/24 | Thanksgiving. No Class. | |||
| Thu 11/26 | |||||
| 15 | Tue 12/1 | IPC: Sockets | Sec. 11.5 | Lab: Signals | |
| Thu 12/3 | Security: Pitfalls of Systems Programming | Quiz | Sec. 17 | ||
| 16 | Tue 12/8 | Course Review & Q & A |