Course Schedule

DATE

TOPIC

ASSIGNMENT

Week 1

LEC 01
Mon, Jun 22
Introduction; C Review
SEC 01
Thu, Jun 25
Gitlab, Pointers, and C Strings
LEC 03
Fri, Jun 26
Pointers; Memory Model

Week 2

LEC 04
Mon, Jun 29
Types and Structs
Slides:
LEC 05
Wed, Jul 01
Preprocessor and Linking
Slides:
HDAY
Fri, Jul 03
Independence Day

Week 3

LEC 06
Mon, Jul 06
Decompilation; File IO
LEC 07
Wed, Jul 08
File I/O, POSIX, and System Calls
SEC 03
Thu, Jul 09
POSIX I/O
LEC 08
Fri, Jul 10
System Calls; Intro to C++

Week 4

LEC 09
Mon, Jul 13
C++: references, const, auto
SEC 04
Thu, Jul 16
HW2 and C++ Classes
LEC 11
Fri, Jul 17
C++: operator overloading & inheritance

Week 5

LEC 13
Wed, Jul 22
SEC 05
Thu, Jul 23
C++ Classes, Dynamic Memory
LEC 14
Fri, Jul 24
Midterm Review
Slides:

Week 6

EXAM
Mon, Jul 27
Midterm Exam
LEC 15
Wed, Jul 29
SEC 06
Thu, Jul 30
C++ Templates, STL
LEC 16
Fri, Jul 31
Intro to Networking

Week 7

LEC 17
Mon, Aug 03
Guest Lecture: Anna Levenberg
Slides:
LEC 18
Wed, Aug 05
Networks and Socket Programming
SEC 07
Thu, Aug 06
C++ Smart Pointers, Casting, Inheritance
LEC 19
Fri, Aug 07

Week 8

LEC 20
Mon, Aug 10
SEC 08
Thu, Aug 13
Final+ HW4+ Networking+ Concurency
LEC 22
Fri, Aug 14
More Parallelism

Week 9

LEC 23
Mon, Aug 17
Final Exam Review
Slides:
EXAM
Tue, Aug 18
Final Exam
LEC 24
Wed, Aug 19
Lock-free Data Structures
Slides:
Thu, Aug 20
LEC 25
Fri, Aug 21
Guest Lecture: Tim Avilov (GPU Programming)
Slides: