CIT 5950 (Spring 2025) Home Schedule Assignments Tools & Refs Schedule

Schedule

Week 0

L00 Wed, Jan 15 Introduction & C Refresher [ pdf ]
Course administrivia. C Refresher, pointers, memory as an array of bytes
R00 Thu, Jan 16 Recitation00: C & Pointers Review [ slides ]
C, Pointers, Arrays

Week 1

:( Mon, Jan 20 No Class
L01 Wed, Jan 22 C++ and Memory [ pdf ]
C++ Pointers, new/delete, memory diagrams
R01 Thu, Jan 23 Recitation01: TODO
TODO
HW00 Due (simple_string and check_time)
due @ 11:59 pm on Fri, Jan 24

Week 2

Check-in00 Due (Pointers, C refresher and Memory Model)
due @ 10:15 am on Mon, Jan 27
L02 Mon, Jan 27 Core C++
Const, References, vector, string, printing, copying by value.
Survey00 Due (Pre-semester Survey)
due @ 11:59 pm on Tue, Jan 28
L03 Wed, Jan 29 Lifetimes and RAII
std::optional, destructors, RAII, refernces and memory model cont
R02 Thu, Jan 30 Recitation02: TODO
TODO
HW01 Due (vec)
due @ 11:59 pm on Fri, Jan 31

Week 3

Check-in01 Due (C++, references, RAII)
due @ 10:15 am on Mon, Feb 03
L04 Mon, Feb 03 Style, Modules, and Encapsulation
Header Files, Makefiles, clang-tidy, valgrind, reading error messages
L05 Wed, Feb 05 Invariants & smart pointers
Invariants, unique_ptr and shared_ptr
R03 Thu, Feb 06 Recitation03: TODO
TODO
HW02 Due (simple_string in C++ and memory diagram)
due @ 11:59 pm on Fri, Feb 07

Week 4

Check-in02 Due (Hoare Logic, Smart Pointers)
due @ 10:15 am on Mon, Feb 10
L06 Mon, Feb 10 OS Start
nix, system calls, fork()
L07 Wed, Feb 12 Processes Continued
Processes, process states, exec(), wait(), exit()
R04 Thu, Feb 13 Recitation04: TODO
TODO
HW03 Due (simplekv)
due @ 11:59 pm on Fri, Feb 14

Week 5

Check-in03 Due (Processes)
due @ 10:15 am on Mon, Feb 17
L08 Mon, Feb 17 File Decriptors and Streams
stdin, stdout, stderr, file descriptor table
L09 Wed, Feb 19 Pipes
pipe() and redirections
R05 Thu, Feb 20 Recitation05: TODO
TODO
HW04 Due (crash_proof)
due @ 11:59 pm on Fri, Feb 21

Week 6

Check-in04 Due (File Descriptors)
due @ 10:15 am on Mon, Feb 24
L10 Mon, Feb 24 Caches
file buffering & memory caches
L11 Wed, Feb 26 Caches cont and other overhead
memory caches, dynamic mem overhead, unnecessary copying
R06 Thu, Feb 27 Recitation06: TODO
TODO
HW05 Due (pipe_shell)
due @ 11:59 pm on Fri, Feb 28

Week 7

Check-in05 Due (Performance)
due @ 10:15 am on Mon, Mar 03
L12 Mon, Mar 03 Midterm Review
Midterm Review
Ex0 Wed, Mar 05 Midterm Exam  [exam info]
R07 Thu, Mar 06 Recitation07: TODO
TODO

Week 8

:( Mon, Mar 10 No Class
:( Wed, Mar 12 No Class

Week 9

Check-in06 Due (C++ & File Descriptor Refresher)
due @ 10:15 am on Mon, Mar 17
L13 Mon, Mar 17 Midterm Review
Last Minute Questions & Midterm Review
L14 Wed, Mar 19 File Descriptors Refresh
Caches & posix file descriptor streams refresh
R08 Thu, Mar 20 Recitation08: TODO
TODO
HW05 Due (hashtable)
due @ 11:59 pm on Fri, Mar 21

Week 10

Check-in07 Due (posix streams)
due @ 10:15 am on Mon, Mar 24
L15 Mon, Mar 24 More C++
C++ Copy Constructor, Assignment Operator, Casts
L16 Wed, Mar 26 Intro to threads
Intro to threads
R09 Thu, Mar 27 Recitation09: TODO
TODO
HW06 Due (filereaders)
due @ 11:59 pm on Fri, Mar 28

Week 11

Check-in08 Due (Threads)
due @ 10:15 am on Mon, Mar 31
L17 Mon, Mar 31 Mutex & Data races
mutex, data races, deadlocks
L18 Wed, Apr 02 Transactions & ACID
Transactions & ACID
R10 Thu, Apr 03 Recitation10: TODO
TODO
HW07 Due (blur_bmp)
due @ 11:59 pm on Fri, Apr 04

Week 12

Check-in09 Due (Condition Variables & Transactions)
due @ 10:15 am on Mon, Apr 07
L19 Mon, Apr 07 Condition Variables
Condition Varaibles & Monitors
L20 Wed, Apr 09 Networking Intro
High Level Overview of the 7-layer OSI model.
R11 Thu, Apr 10 Recitation11: TODO
TODO
HW08 Due (transactions)
due @ 11:59 pm on Fri, Apr 11

Week 13

Check-in10 Due (Sockets)
due @ 10:15 am on Mon, Apr 14
L21 Mon, Apr 14 TCP Sockets
Posix Sockets API
L22 Wed, Apr 16 HTTP & Templates
HTTP & Templates
R12 Thu, Apr 17 Recitation12: TODO
TODO
HW09 Due (netcat)
due @ 11:59 pm on Fri, Apr 18

Week 14

Check-in11 Due (HTTP)
due @ 10:15 am on Mon, Apr 21
L23 Mon, Apr 21 UDP
UDP
L24 Wed, Apr 23 Project Overview and REST api's
Final Project Overivew, REST api's
R13 Thu, Apr 24 Recitation13: TODO
TODO

Week 15

L25 Mon, Apr 28 Processes: pipe finished & Unix
pipes, Unix, HW4
L26 Wed, Apr 30 Special topics: aync coding and Move
async, std::move
HW10 Due (final project)
due @ 11:59 pm on Wed, Apr 30