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

Schedule

Week 0

:( Thu, Jan 18 No Recitation

Week 1

L00 Mon, Jan 22 Introduction & C++ intro [ pdf ]
Course administrivia. C++ STL, streams, string, references.
L01 Wed, Jan 24 C++ cont. & const [ pdf ]
STL continued (list, set, map), C++ Simple Objects, Constructors, Operator Overload, const, std::optional, std::variant
R01 Thu, Jan 25 Recitation01: C++ & Setup [ slides ]
Docker, C++ std::vector, std::map, std::optional

Week 2

L02 Mon, Jan 29 C++: Dynamic Memory, destructors [ pdf ]
HW0 Q&A, pointers, new/delete, std::array, overhead to dynamic memory, destructors & RAII :)
L03 Wed, Jan 31 Into to OS: Systems Calls, Processes, C style pointers & arrays [ pdf ]
System calls, T*, T[] vs std::array, POSIX IO
Survey0 Due (Pre-Semester Survey)
due @ 11:59 pm on Wed, Jan 31
R02 Thu, Feb 01 Recitation02: C++ continued and HW0 Tips [ slides ]
Destructors, new, delete
Project 0 Due (SimpleKV)
due @ 11:59 pm on Fri, Feb 02

Week 3

L04 Mon, Feb 05 Posix Cont. Processes Start [ pdf ]
Processes, Fork, Interrupts
L05 Wed, Feb 07 Processes Cont. & Threads Start [ pdf ]
pthread_create, pthread_join, concurrency
R03 Thu, Feb 08 Recitation03: POSIX I/O & HW1 Tips [ slides ]
read(), write(), open(), close(), HW01

Week 4

Q00 Check-in Quiz 00 Due (Threads, POSIX)
due @ 10:00 am on Mon, Feb 12
L06 Mon, Feb 12 Threads Cont. [ pdf ]
Refersher, Parallelism, Concurrency, Synchronization start
L07 Wed, Feb 14 Data Races, Mutexes [ pdf ]
Synchronization, Mutexes
R04 Thu, Feb 15 Recitation04: Threads & Processes [ slides ]
Threads & Proceses
Project 1 Due (File Readers)
due @ 11:59 pm on Fri, Feb 16

Week 5

L08 Mon, Feb 19 Synchronization, Condition Variables, and Caches [ pdf ]
Mutex, condition variables, Caches
L09 Wed, Feb 21 Caches Continued, Scheduling [ pdf ]
Caches, Scheduling, FCFS, SJF, Round Robin, RR Variants
R05 Thu, Feb 22 Recitation05: Synchronization and Locks [ slides ]
mutex, deadlock, HW2 overview

Week 6

L10 Mon, Feb 26 Midterm Review [ pdf ]
Midterm Review
L11 Wed, Feb 28 Midterm Review [ pdf ]
Last Minute Questions & Midterm Review
Ex0 Wed, Feb 28 Midterm Exam Wed 07:00 pm - Wed 09:00 pm @ Towne 100  [exam info]
R06 Thu, Feb 29 Recitation06: NO RECITATION
NO RECITATION

Week 7

:( Mon, Mar 04 No Class
:( Wed, Mar 06 No Class
:( Thu, Mar 07 No Recitation

Week 8

L12 Mon, Mar 11 Virtual Memory start [ pdf ]
Virtual Memory Overview
L13 Wed, Mar 13 Virtual Memory: Details [ pdf ]
Pages, Page Frames, Page Tables, Address Translation
R08 Thu, Mar 14 Recitation08: Virtual Memory & Scheduling [ slides ]
Virtual Memory & Scheduling

Week 9

L14 Mon, Mar 18 Networking Intro [ pdf ]
High Level Overview of the 7-layer OSI model.
Q01 Check-in Quiz 1 Due (Virtual Memory)
due @ 10:00 am on Wed, Mar 20
L15 Wed, Mar 20 TCP Sockets [ pdf ]
Posix Sockets API
R09 Thu, Mar 21 Recitation09: Networks and Sockets [ slides ]
Networks and Sockets
Project 2 Due (Threads)
due @ 11:59 pm on Fri, Mar 22
Survey1 Due (Mid-Semester Survey)
due @ 11:59 pm on Sat, Mar 23

Week 10

L16 Mon, Mar 25 HTTP & Templates [ pdf ]
HTTP & Templates
L17 Wed, Mar 27 Catchup & OH [ pdf ]
Catchup & OH
R10 Thu, Mar 28 Recitation10: Boost and HTTP [ slides ]
Boost trim, replace_all, and split; HTTP Requests, Responses, and Methods

Week 11

L18 Mon, Apr 01 C++ Copying & Casts [ pdf ]
C++ Copy Constructor, Assignment Operator, Casts
Q02 Check-in Quiz 2 Due (Sockets)
due @ 10:00 am on Wed, Apr 03
L19 Wed, Apr 03 C interop & Processes [ pdf ]
Processes Intro, fork(), C, C-strings,
R11 Thu, Apr 04 Recitation11: HW3 and Processes [ slides ]
HW3 Overview, fork, waitpid, dup2
Survey2 Due (Github Information & Partner Signup Survey)
due @ 11:59 pm on Fri, Apr 05

Week 12

L20 Mon, Apr 08 Project Overview and pipe() [ pdf ]
Final Project Overivew (searchserver), pipe(), Unix Shell
L21 Wed, Apr 10 Processes: pipe finished & Unix [ pdf ]
pipes, Unix, HW4
R12 Thu, Apr 11 Recitation12: HW4 and Pipe() [ slides ]
HW4 Overview, file descriptors, dup2, pipes
Project 3 Due (simplevm)
due @ 11:59 pm on Fri, Apr 12
Q03 Check-in Quiz 3 Due (File Descriptors)
due @ 11:59 pm on Fri, Apr 12

Week 13

L22 Mon, Apr 15 Unix, HW4 & Move [ pdf ]
Unix, HW4 pipes(), std::move
L23 Wed, Apr 17 Smart Pointers & Concepts [ pdf ]
unique_ptr, shared_ptr, weak_ptr, concepts
R13 Thu, Apr 18 Recitation13: TODO
TODO
Q04 Check-in Quiz 4 Due (pipe())
due @ 11:59 pm on Fri, Apr 19

Week 14

L24 Mon, Apr 22 Systems Programming Saftey [ pdf ]
Catchup, C, C++, memory saftey and Rust
L25 Wed, Apr 24 Special Topics: Intro to Distributed Systems [ pdf ]
Thinking about concurrent puzzles, Common Knowledge, etc.
R14 Thu, Apr 25 Recitation14: TODO
TODO
Project 4 Due (pipe_shell)
due @ 11:59 pm on Fri, Apr 26

Week 15

L26 Mon, Apr 29 Exam Review [ pdf ]
L27 Wed, May 01 Final Exam Review
Final Project Due (searchserver)
due @ 11:59 pm on Wed, May 01
Survey3 Due (Post-Semester Survey)
due @ 11:59 pm on Wed, May 01

Week 16

Ex1 Fri, May 10 Final Exam Fri 03:00 pm - Fri 05:00 pm @ Towne 100  [exam info]