COMS W3157 Advanced Programming

Spring 2020

Course essentials

Supplementary materials

Schedule

Note that lecture schedule and all due dates are subject to change.

# Date Topic Note Deadline
Lect 1 T 1/21 Course overview 00 T 1/21: HW0 Part A due
Lect 2 R 1/23 Compiling & linking; Makefile 01 R 1/23: HW0 Part B due
Lect 3 T 1/28 Makefile; Binary number; Data types 02, 03-lab1
Lect 4 R 1/30 Expressions & statements
Lect 5 T 2/4 Storage class; Process address space T 2/4: lab1 due
Lect 6 R 2/6 Pointers & arrays 04, 05, 06-lab2
Lect 7 T 2/11 Pointers & arrays
Lect 8 R 2/13 Pointers & arrays
Lect 9 T 2/18 Function pointer; Struct 07, 08-lab3 T 2/18: lab2 due
Lect 10 R 2/20 Linked list; Standard I/O; Redirection 09
T 2/25 Midterm exam #1
Lect 11 R 2/27 File I/O 10-lab4 M 3/2: lab3 due
Lect 12 T 3/3 UNIX overview; Creating processes using fork & exec 11
Lect 13 R 3/5 Intro to TCP/IP networking 12, 13-lab5
Sa 3/7 3157 Hackathon!
Lect 14 T 3/10 Lab 5 overview: fork & exec revisited; Endianness T 3/10 R 3/12: lab4 due
R 3/12 Class canceled - Instructor attending conference
T 3/17 No class - Spring break
R 3/19 No class - Spring break
Lect 15 T 3/24 Sockets API 14
Lect 16 R 3/26 Sockets API; HTTP 15-lab6 F 3/27 Sa 4/4: lab5 due
Lect 17 T 3/31 HTTP; Lab 7 demo; Intro to C++ 16-lab7, 17
Lect 18 R 4/2 Basic-4 in C++; Software architecture 20
TBA Midterm exam #2 19-lab8 (optional)
Lect 19 R 4/9 Basic-4 in C++ Sa 4/11: lab6 due
Lect 20 T 4/14 MyString class 18
Lect 21 R 4/16 MyString class 21-lab9 M 4/20 R 4/23: lab7 due
Lect 22 T 4/21 Templates & STL 22
Lect 23 R 4/23 Templates & STL 23-lab10 M 4/27 W 4/29: lab9 due
Lect 24 T 4/28 Smart pointer 24
Lect 25 R 4/30 Course wrap-up & review 25 M 5/4 T 5/5: lab10 due
T 5/12 Final exam: 4:30–6:30pm, room TBA