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:


Upcoming Deadlines


Welcome to CS 340!
Finish Up Threading + Final Project (1989 Mosaics) Updates

Lecture #26: Finish Up Threading + Final Project (1989 Mosaics) Updates

Assignments:

May 2, 2023
Threading in Python (async/await)

Lecture #25: Threading in Python (async/await)

Assignments:

April 25, 2023
MapReduce and SaaS Overview

Lecture #24: MapReduce and SaaS Overview

April 20, 2023
Finishing Tokens and SAML2 Authentication (SSO Login)

Lecture #23: Finishing Tokens and SAML2 Authentication (SSO Login)

Assignments:

April 18, 2023
MP9 Course-Wide Maze and Final Project Overview

Lecture #23: MP9 Course-Wide Maze and Final Project Overview

Assignments:

April 13, 2023
Tokens and SAML2 Authentication (SSO Login)

Lecture #22: Tokens and SAML2 Authentication (SSO Login)

April 11, 2023
Domain Name System (DNS)

Lecture #21: Domain Name System (DNS)

Assignments:

April 6, 2023
Bigger Than the Whole Maze

MP 9: Bigger Than the Whole Maze

April 4, 2023
Caching in HTTP (Age and ETag)

Lecture #20: Caching in HTTP (Age and ETag)

Assignments:

April 4, 2023
Data Stores and Cloud Architectures

Lecture #19: Data Stores and Cloud Architectures

March 30, 2023
Come Back... Be Cached (Mandelbrot's Version)

MP 8: Come Back... Be Cached (Mandelbrot's Version)

March 28, 2023
Final Project Discussion + Cloud Object Storage (AWS S3, etc)

Lecture #18: Final Project Discussion + Cloud Object Storage (AWS S3, etc)

Assignments:

March 28, 2023
Data Storage and Caching / Local File Storage

Lecture #17: Data Storage and Caching / Local File Storage

March 23, 2023
Dancing with Our C Code

MP 7: Dancing with Our C Code

March 21, 2023
Containers, CaaS and Docker

Lecture #16: Containers, CaaS and Docker

Assignments:

March 21, 2023
IaaS and Public/Private Clouds

Lecture #15: IaaS and Public/Private Clouds

Assignments:

March 9, 2023
Midnight Rain

MP 6: Midnight Rain

March 7, 2023
API Programming with Flask

Lecture #14: API Programming with Flask

Assignments:

March 7, 2023
getaway.html

MP 5: getaway.html

February 28, 2023
Web Services

Lecture #13: Web Services

Assignments:

February 28, 2023
Networking: OSI Model and HTTP

Lecture #12: Networking: OSI Model and HTTP

Assignments:

February 23, 2023
My Resource in your Wallet

MP 4: My Resource in your Wallet

February 21, 2023
IPC and Networking

Lecture #11: IPC and Networking

Assignments:

February 21, 2023
Deadlock and The Sleeping Barber

Lecture #10: Deadlock and The Sleeping Barber

Assignments:

February 16, 2023
Synchronization and Dining Philosophers

Lecture #9: Synchronization and Dining Philosophers

February 14, 2023
Thread Creation, Join, and the Five State Model

Lecture #8: Thread Creation, Join, and the Five State Model

Assignments:

February 9, 2023
Alloc Too Well

MP 3: Alloc Too Well

February 7, 2023
Memory Allocation and malloc

Lecture #6: Memory Allocation and malloc

Assignments:

February 2, 2023
I Know Places (We Won't Be Found)

MP 2: I Know Places (We Won't Be Found)

January 31, 2023
Endianness, Memory Hierarchy, and Virtual Memory

Lecture #5: Endianness, Memory Hierarchy, and Virtual Memory

Assignments:

January 31, 2023
Instruction Set Architectures (ISAs)

Lecture #4: Instruction Set Architectures (ISAs)

Assignments:

January 26, 2023
Best Believe I'm Still 💎💎💎

MP 1: Best Believe I'm Still 💎💎💎

January 24, 2023
Character Encodings (ASCII, UTF-8), Binary Math, and Two's Complement

Lecture #2: Character Encodings (ASCII, UTF-8), Binary Math, and Two's Complement

Assignments:

January 19, 2023
Welcome to C, It's Been Waitin' For You

MP 0: Welcome to C, It's Been Waitin' For You

January 17, 2023
Course Introduction and Binary Representation

Lecture #1: Course Introduction and Binary Representation

Assignments:

January 17, 2023
Welcome to CS 340!

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! :)

August 4, 2022