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. 26 Introduction + Setup for C
Jan. 28 Data Representation - Binary, Hex, ASCII, Unicode, and UTF-8

Week 2

Feb. 2 Files and File Types
Feb. 4 Bit Manipulation and Logic Gates

Week 3

Feb. 9 Binary Adders and Memory Hierarchy
Feb. 11 Caching and Locality of Reference

Week 4

Feb. 16 Heap Memory and Heap Management
Feb. 18 Heap Memory and Heap Management

Week 5

Feb. 23 Page Table Eviction Strategies & Size
Feb. 25 Operating System and Multiprogramming

Week 6

Mar. 2 Python and Web Services/IPC
Mar. 4 Threads and Synchronization

Week 7

Mar. 9 Critical Sections and Deadlock
Mar. 11 Networking and the OSI Model

Week 8

Mar. 16 End of Act 1 - Remaining Bits
Mar. 18 Midterm Exam 1

Week 9

Mar. 23 Containerization
Mar. 25 Isolation: Containerization and Visualization

Week 10

Mar. 30 Docker
Apr. 1 Application Programming Interfaces (APIs) and MapReduce

Week 11

Apr. 6 Microservices and Cloud-based Pipelines
Apr. 8 Data Storage, IaaS, PaaS, SaaS, and AWS

Week 12

Apr. 13 COVID-19 Non-Lecture Spring Break Replacement Day
Apr. 15 Web Server Technologies + Examples

Week 13

Apr. 20 End of Act 2 - Review
Apr. 22 Midterm II (No Lecture)

Week 14

Apr. 27 Advanced Topics / Final Project
Apr. 29 Advanced Topics / Final Project

Week 15

May. 4 Advanced Topics / Final Project