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