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. 18 Course Introduction and Binary Representation Assignments Released:
Jan. 20 Character Encodings (ASCII, UTF-8) and C Programming Assignments Released:

Week 2

Jan. 25 Binary Math, Two's Complement and Logic Gates Assignments Released:
Jan. 27 ISAs and Instruction Sets, File Types, & Memory Assignments Released:

Week 3

Feb. 1 Locality of Reference and Virtual Memory Assignments Released:
Feb. 3 Heap Memory Allocation and malloc Assignments Released:

Week 4

Feb. 8 Page Eviction, Threads, and pthreads Assignments Released:
Feb. 10 Limited Direct Execution and Threads Assignments Released:

Week 5

Feb. 15 Synchronization and Dining Philosophers Assignments Released:
Feb. 17 Deadlock Solutions and Producer-Consumer Assignments Released:

Week 6

Feb. 22 Inter-process Communications (IPC) and Networking Assignments Released:
Feb. 24 Networking: OSI Model and HTTP Assignments Released:

Week 7

You will sign up to take your Midterm 1 exam in the CBTF anytime on Tuesday, March 1 - Thursday, March 3
Mar. 1 Web Services, Python, and flask
Mar. 3 No Lecture — Midterm 1 Exam (No Lecture)
Assignments Released:

Week 8

Mar. 8 API Programming and Virtualizations
Mar. 10 IaaS and Public/Private Clouds Assignments Released:

Week 9

Have an amazing Spring Break!!
Mar. 14 Spring Break - No Lecture
Mar. 16 Spring Break - No Lecture

Week 10

Mar. 21 Containers, CaaS and Docker
Mar. 23 Data Storage - File Systems to Cloud Assignments Released:

Week 11

Mar. 29 S3 APIs and MapReduce Overview Assignments Released:
Mar. 31 Cloud Architectures (Monolithic, Microservice, Serverless) Assignments Released:

Week 12

Apr. 5 SaaS and Software Architecture
Apr. 7 Caching in HTTP (Age and ETag) Assignments Released:

Week 13

Apr. 12 Domain Name System (DNS)
Apr. 14 Content Delivery Networks (CDNs) Assignments Released:

Week 14

Apr. 19 Tokens and SAML2 Authentication (SSO Login)
Apr. 21 Course-Wide Project Middleware Assignments Released:

Week 15

You will sign up to take your Midterm 2 exam in the CBTF anytime on Tuesday, Apr. 26 - Thursday, Apr. 28
Apr. 26 Threading in Python (async/await)
Apr. 28 No Lecture — Midterm Exam #2

Week 16

May. 2 Finale and Final Project Test Run