Fall 2022 is Complete!
This webpage is no longer updated and serves as an archive of the Fall 2022 semester of CS 340: Introduction to Computer Systems. The following link will take you to the current semester's CS 340 website:
In Spring 2023, I will be teaching:
- CS 340 (this course), but Spring 2023 will likely be the last time I teach CS 340 for many years
- Data Science DISCOVERY (CS 107 / STAT 107 / IS 107), an introduction to data science
Upcoming Deadlines
Welcome to CS 340!
Lecture #25: Finish Up DNS, Final Project Updates, MP9 Maze (v2)
Lecture #21: Caching in HTTP (Age and ETag)
Assignments:
- Homework 14 (Due Monday, Oct. 7 by 11:59pm)
Lecture #20: MapReduce and SaaS Introduction
Assignments:
Lecture #19: Data Stores and Cloud Architectures
Assignments:
- Homework 13 (Due Monday, Oct. 31 by 11:59pm)
Lecture #18: Data Storage - File Systems to Cloud Object Storage
Assignments:
- MP8 (Due Tuesday, Nov. 1 by 11:59pm)
Lecture #17: Containers, CaaS and Docker
Lecture #16: IaaS and Public/Private Clouds
Assignments:
- MP7 (Due Tuesday, Oct. 25 by 11:59pm)
- Homework 12 (Due Monday, Oct. 29 by 11:59pm)
Lecture #15: API Programming and Virtualizations
Assignments:
Lecture #14: Web Services, Python, and flask
Assignments:
Lecture #13: Inter-process Communications (IPC) and Networking
Assignments:
Lecture #12: Networking: OSI Model and HTTP
Lecture #11: Deadlock Solutions and Producer-Consumer
Assignments:
Lecture #10: Synchronization and Dining Philosophers
Assignments:
Lecture #9: Synchronization and Dining Philosophers
Lecture #8: Limited Direct Execution and Threads
Assignments:
Lecture #7: Page Eviction, Threads, and pthreads
Assignments:
Lecture #6: Heap Memory Allocation and malloc
Assignments:
Lecture #5: Locality of Reference and Virtual Memory
Assignments:
Lecture #4: Logic Gates, ISAs and Instruction Sets, File Types, & Memory
Assignments:
Lecture #3: C Programming, Two's Complement and Logic Gates
Additional Readings
- The C Programming Language - An Introduction
- Strings in C
- Basic Memory Management in C
- Bitwise Operations
Assignments:
Lecture #2: Character Encodings (ASCII, UTF-8) and Binary Math
Assignments:
Lecture #1: Course Introduction and Binary Representation
Assignments:
Welcome to CS 340!
CS 340 is an in-person course and we meet every Tuesday and Thursday in 1404 Siebel Center.
See you on Tuesday, Aug. 23! :)