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

Aug. 25 Introduction + Setup for C Assignments Released:
Aug. 27 Data Representation - Binary, Hex, ASCII, Unicode, and UTF-8 Assignments Released:

Week 2

Sep. 1 Files and File Types Assignments Released:
Sep. 3 Bit Manipulation and Logic Gates Assignments Released:

Week 3

Sep. 8 Binary Adders and Memory Hierarchy Assignments Released:
Sep. 10 Caching and Locality of Reference Assignments Released:

Week 4

Sep. 15 Heap Memory and Heap Management Assignments Released:
Sep. 17 Heap Memory and Heap Management Assignments Released:

Week 5

Sep. 22 Page Table Eviction Strategies & Size Assignments Released:
Sep. 24 Operating System and Multiprogramming Assignments Released:

Week 6

Sep. 29 Python and Web Services/IPC Assignments Released:
Oct. 1 Threads and Synchronization Assignments Released:

Week 7

Oct. 6 Critical Sections and Deadlock Assignments Released:
Oct. 8 Networking and the OSI Model Assignments Released:

Week 8

Oct. 13 End of Act 1 - Remaining Bits
Oct. 15 Midterm Exam 1

Week 9

Oct. 20 Containerization
Oct. 22 Isolation: Containerization and Visualization

Week 10

Oct. 27 Docker
Oct. 29 Application Programming Interfaces (APIs) and MapReduce

Week 11

Nov. 3 (Election Day)
Nov. 5 Microservices and Cloud-based Pipelines

Week 12

Nov. 10 Data Storage, IaaS, PaaS, SaaS, and AWS
Nov. 12 Web Server Technologies + Examples

Week 13

Nov. 17 End of Act 2 - Review
Nov. 19 Midterm II (No Lecture)

Week 14

Nov. 24 Fall Break (No Lecture)
Nov. 26 Fall Break (No Lecture)

Week 15

Dec. 1 Final Project
Dec. 3 Final Project

Week 16

Dec. 8 Final Project