Note that the following schedule is tentative. It will be updated as we go.
| # | Date | Topic | Note | Deadline |
|---|---|---|---|---|
| 1 | T 9/6 | Course overview | 00 | T 9/6: HW0 Part A due |
| 2 | R 9/8 | Compiling & linking; Makefile | 01 | R 9/8: HW0 Part B due |
| Su 9/11: HW0 Part C due | ||||
| 3 | T 9/13 | Makefile; Binary number; Data types | 02 | |
| 4 | R 9/15 | Expressions & statements; Automatic v. static variables | 03-lab1 | |
| 5 | T 9/20 | Process address space; Pointers & arrays | 04, 05 | |
| 6 | R 9/22 | Pointers & arrays | F 9/23: lab1 due | |
| 7 | T 9/27 | Pointers & arrays | 06-lab2 | |
| 8 | R 9/29 | Function pointer; Struct | 07, 08-lab3 | Su 10/2: lab2 due |
| 9 | T 10/4 | Standard I/O; Redirection | 09 | |
| 10 | R 10/6 | Midterm exam #1 | ||
| F 10/7 | 3157 Hackathon! | |||
| 11 | T 10/11 | File I/O | 10-lab4 | |
| 12 | R 10/13 | UNIX overview; Creating processes using fork & exec | 11 | F 10/14: lab3 due |
| 13 | T 10/18 | Intro to TCP/IP networking | 12, 13-lab5 | |
| 14 | R 10/20 | Lab 5 overview: fork & exec revisited | Su 10/23: lab4 due | |
| 15 | T 10/25 | Sockets API | 14 | |
| 16 | R 10/27 | Sockets API; HTTP | 15-lab6 | Su 10/30: lab5 due |
| 17 | T 11/1 | HTTP; Lab 7 demo | ||
| 18 | R 11/3 | Midterm exam #2 | 16-lab7 | |
| T 11/8 | No class - Election day | 17 | ||
| 19 | R 11/10 | Intro to C++ | M 11/14: lab6 due | |
| 20 | T 11/15 | Basic 4: constructor, destructor, copy, assignment | ||
| 21 | R 11/17 | MyString class | 18, 21-lab9 | |
| 22 | T 11/22 | MyString class; Software architecture | 19-lab8, 20 | |
| R 11/24 | No class - Thanksgiving day | |||
| 23 | T 11/29 | Templates & STL | 22 | T 11/29: lab7 due |
| 24 | R 12/1 | Templates & STL | 23-lab10 | M 12/5: lab9 due |
| 25 | T 12/6 | Smart pointer | 24 | |
| 26 | R 12/8 | Course wrap-up & review | 25 | M 12/12: lab10 due |
| R 12/22 | Final exam: 4:20–6:20pm, Thu, Dec 22, 309 Havemeyer |