Course Schedule

(This schedule will be adjusted as the semester progresses. Future topics are a best-estimate on when we expect to cover them.)

Date Event

Week 1

Jan. 17 Course Introduction and Binary Representation Assignments Released:
Jan. 19 Character Encodings (ASCII, UTF-8), Binary Math, and Two's Complement Assignments Released:

Week 2

Jan. 24 C Programming and Logic Gates Additional Readings: Assignments Released:
Jan. 26 Instruction Set Architectures (ISAs) Assignments Released:

Week 3

Jan. 31 Endianness, Memory Hierarchy, and Virtual Memory Assignments Released:
Feb. 2 Memory Allocation and malloc Assignments Released:

Week 4

Feb. 7 Page Eviction, Threads, and pthreads Assignments Released:
Feb. 9 Thread Creation, Join, and the Five State Model Assignments Released:

Week 5

Feb. 14 Synchronization and Dining Philosophers
Feb. 16 Deadlock and The Sleeping Barber Assignments Released:

Week 6

Feb. 21 IPC and Networking Assignments Released:
Feb. 23 Networking: OSI Model and HTTP Assignments Released:

Week 7

You will sign up to take your Midterm 1 exam in the CBTF this week.
Feb. 28 Web Services Assignments Released:
Mar. 2 No Lecture — Mideterm Exam I

Week 8

Mar. 7 API Programming with Flask Assignments Released:
Mar. 9 IaaS and Public/Private Clouds Assignments Released:

Week 9

Mar. 14 No Lecture — Spring Break
Mar. 16 No Lecture — Spring Break

Week 10

Mar. 21 Containers, CaaS and Docker Assignments Released:
Mar. 23 Data Storage and Caching / Local File Storage

Week 11

Mar. 28 Final Project Discussion + Cloud Object Storage (AWS S3, etc) Assignments Released:
Mar. 30 Data Stores and Cloud Architectures

Week 12

Apr. 4 Caching in HTTP (Age and ETag) Assignments Released:
Apr. 6 Domain Name System (DNS) Assignments Released:

Week 13

Apr. 11 Tokens and SAML2 Authentication (SSO Login)
Apr. 13 MP9 Course-Wide Maze and Final Project Overview
Assignments Released:

Week 14

Apr. 18 Finishing Tokens and SAML2 Authentication (SSO Login) Assignments Released:
Apr. 20 MapReduce and SaaS Overview

Week 15

You will sign up to take your Midterm 2 exam in the CBTF this week.
Apr. 25 Threading in Python (async/await) Assignments Released:
Apr. 27 No Lecture — Midterm Exam II

Week 16

May. 2 Finish Up Threading + Final Project (1989 Mosaics) Updates Assignments Released:
The finale of the final project will take place during the final exam period for CS 340, which is 1:30pm-4:30pm on Monday, May 8
May. 8 Final Project Presentations (1:30pm)