Spring 2023 is Complete!
This webpage is no longer updated and serves as an archive of the Spring 2023 semester of CS 340: Introduction to Computer Systems. The following links may be useful for you:
It was such an honor to teach the class one final semester and we had the greatest time -- I will miss CS 340!! In Fall 2023, I will be teaching:
- Data Science DISCOVERY (CS 107 / STAT 107 / IS 107), an introduction to data science
Upcoming Deadlines
Welcome to CS 340!
Lecture #26: Finish Up Threading + Final Project (1989 Mosaics) Updates
Assignments:
Lecture #25: Threading in Python (async/await)
Assignments:
Lecture #23: Finishing Tokens and SAML2 Authentication (SSO Login)
Assignments:
Lecture #23: MP9 Course-Wide Maze and Final Project Overview
Assignments:
Lecture #22: Tokens and SAML2 Authentication (SSO Login)
Lecture #21: Domain Name System (DNS)
Assignments:
Lecture #20: Caching in HTTP (Age and ETag)
Assignments:
Lecture #19: Data Stores and Cloud Architectures
Lecture #18: Final Project Discussion + Cloud Object Storage (AWS S3, etc)
Assignments:
Lecture #17: Data Storage and Caching / Local File Storage
Lecture #16: Containers, CaaS and Docker
Assignments:
Lecture #15: IaaS and Public/Private Clouds
Assignments:
Lecture #14: API Programming with Flask
Assignments:
Lecture #13: Web Services
Assignments:
Lecture #12: Networking: OSI Model and HTTP
Assignments:
Lecture #11: IPC and Networking
Assignments:
Lecture #10: Deadlock and The Sleeping Barber
Assignments:
Lecture #9: Synchronization and Dining Philosophers
Lecture #8: Thread Creation, Join, and the Five State Model
Assignments:
Lecture #7: Page Eviction, Threads, and pthreads
Assignments:
- Homework 6 (Due Monday, Feb. 13 by 11:59pm)
- MP3 (Week 1 due on Tuesday, Feb. 14 by 11:59pm)
- MP3 (Week 2 due on Tuesday, Feb. 21 by 11:59pm)
Lecture #6: Memory Allocation and malloc
Assignments:
Lecture #5: Endianness, Memory Hierarchy, and Virtual Memory
Assignments:
Lecture #4: Instruction Set Architectures (ISAs)
Assignments:
Lecture #3: C Programming 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), Binary Math, and Two's Complement
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 at 12:30pm in 1404 Siebel Center.
See you on Tuesday, Jan. 17! :)