COMS W3157 Advanced Programming

Spring 2019

Course essentials

Supplementary materials

Schedule

Note that the following schedule is tentative. It will be updated as we go.

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