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