Schedule

March
MondayTuesdayWednesdayThursdayFriday
30
11:30-12:20 Lecture
Intro and C review
slides code
31 01
11:30-12:20 Lecture
Arrays and memory
slides code
02
Section
Pointers, arrays, function ptrs.; GitLab
slides worksheet (sample solution)
03
11:30-12:20 Lecture
Pointers, pointers, pointers, ...
slides code

April
MondayTuesdayWednesdayThursdayFriday
06
11:30-12:20 Lecture
malloc, free, structs, typedef
slides code
23:00 hw0 due (logistics)
07 08
11:30-12:20 Lecture
Data structures and modules
slides code
09
Section
Pointers, debugging, gdb, valgrind
slides, worksheet (sample solution), code
10
11:30-12:20 Lecture
Final C details; Makefiles
C: slides code; make: slides code
13
11:30-12:20 Lecture
File I/O & System calls (start)
slides code
14 15
11:30-12:20 Lecture
System calls (cont.); Posix I/O
posix: slides code
16
Section
POSIX system calls, I/O, directories
slides, worksheet (sample-solution)
23:00 hw1 due (data structures)
17
11:30-12:20 Lecture
C++ intro
slides code
20
11:30-12:20 Lecture
Intro to C++ (concl.)
21 22
11:30-12:20 Lecture
C++ references, const, classes, etc.
slides code
23
Section
C++, references, const, classes
slides code, worksheet (sample-solution)
24
11:30-12:20 Lecture
C++ constructor insanity
slides code
27
11:30-12:20 Lecture
C++ class details, heap
slides code
28 29
11:30-12:20 Lecture
C++ templates; STL (start)
templates: slides, code; STL: slides; code
30
Section
C++ classes, dynamic memory
slides, worksheet (sample solution)
23:00 hw2 due (file index/search)
01
11:30-12:20 Lecture
STL (cont.); hw3 overview & demo

May
MondayTuesdayWednesdayThursdayFriday
04
11:30-12:20 Lecture
hw3 demo/questions; STL (concl.); Inheritance (start)
inheritance: slides code
05 06
11:30-12:20 Lecture
Inheritance (cont.)
07
Section
C++, HW3 debugging, files in hex
slides index example
08
11:30-12:20 Lecture
Inheritance; C++ casts
slides code
11
11:30-12:20 Lecture
Static function dispatch; Smart pointers (start)
slides code
12 13
11:30-12:20 Lecture
Smart pointers (concl.)
14
Section
Inheritance, vtables and dynamic dispatch
slides, worksheet (sample solution)
15
11:30-12:20 Lecture
Networking intro
slides
18
11:30-12:20 Lecture
Network programming - DNS & client side
DNS: slides code; client: slides code
19 20
11:30-12:20 Lecture
Network programming - server side
slides code
21
Section
Network programming - DNS & client side
slides, worksheet (sample solution)
23:00 hw3 due (disk index)
22
11:30-12:20 Lecture
server programming (concl.); hw4 demo; HTTP (start)
slides demo
25
Memorial Day
10:00 ex15 "due" (but since Monday is a University holiday, ex15 can be submitted up to 10 am Wed. morning with no late penalty.)
11:30-12:20 Lecture
Bonus lecture: http details + hw4
26 27
10:00 ex15 due - for real this time (sample solution)
11:30-12:20 Lecture
Concurrency - intro
slides
28
Section
Concurrency, pthreads
slides, code
29
11:30-12:20 Lecture
Concurrency - threads
slides code

June
MondayTuesdayWednesdayThursdayFriday
01
11:30-12:20 Lecture
Concurrency - processes
processes: slides code
02 03
11:30-12:20 Lecture
No class. TAs will be available in the regular lecture Zoom meeting to help with hw4 or other questions.
04
Section
Review, Future Classes, and wrapup
slides
23:00 hw4 due (web server)
05
11:30-12:20 Lecture
Course wrapup
slides