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