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:


Upcoming Deadlines


Welcome to CS 340!
CDN: Content Delivery Networks

Lecture #26: CDN: Content Delivery Networks

December 6, 2022
Finish Up DNS, Final Project Updates, MP9 Maze (v2)

Lecture #25: Finish Up DNS, Final Project Updates, MP9 Maze (v2)

November 29, 2022
Domain Name System (DNS)

Lecture #24: Domain Name System (DNS)

November 17, 2022
Tokens and SAML2 Authentication (SSO Login)

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

November 15, 2022
Caching in HTTP (Age and ETag)

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

Assignments:
  • Homework 14 (Due Monday, Oct. 7 by 11:59pm)

November 3, 2022
Infinite Maze

MP 9: Infinite Maze

November 1, 2022
MapReduce and SaaS Introduction

Lecture #20: MapReduce and SaaS Introduction

Assignments:

November 1, 2022
Data Stores and Cloud Architectures

Lecture #19: Data Stores and Cloud Architectures

Assignments:
  • Homework 13 (Due Monday, Oct. 31 by 11:59pm)

October 27, 2022
Mandelbrot Set Explorer

MP 8: Mandelbrot Set Explorer

October 25, 2022
Data Storage - File Systems to Cloud Object Storage

Lecture #18: Data Storage - File Systems to Cloud Object Storage

Assignments:
  • MP8 (Due Tuesday, Nov. 1 by 11:59pm)

October 25, 2022
Containers, CaaS and Docker

Lecture #17: Containers, CaaS and Docker

October 20, 2022
Course-Weather Microservice

MP 7: Course-Weather Microservice

October 18, 2022
IaaS and Public/Private Clouds

Lecture #16: IaaS and Public/Private Clouds

Assignments:

October 18, 2022
Building a Microservice from Existing Code

MP 6: Building a Microservice from Existing Code

October 11, 2022
Web Services, Python, and flask

Lecture #14: Web Services, Python, and flask

Assignments:

October 11, 2022
HTTP Client-Server

MP 5: HTTP Client-Server

October 4, 2022
Inter-process Communications (IPC) and Networking

Lecture #13: Inter-process Communications (IPC) and Networking

Assignments:

October 4, 2022
Networking: OSI Model and HTTP

Lecture #12: Networking: OSI Model and HTTP

September 29, 2022
Resource Manager

MP 4: Resource Manager

September 27, 2022
Deadlock Solutions and Producer-Consumer

Lecture #11: Deadlock Solutions and Producer-Consumer

Assignments:

September 27, 2022
Synchronization and Dining Philosophers

Lecture #10: Synchronization and Dining Philosophers

Assignments:

September 22, 2022
Synchronization and Dining Philosophers

Lecture #9: Synchronization and Dining Philosophers

September 20, 2022
Limited Direct Execution and Threads

Lecture #8: Limited Direct Execution and Threads

Assignments:

September 15, 2022
malloc

MP 3: malloc

September 13, 2022
Page Eviction, Threads, and pthreads

Lecture #7: Page Eviction, Threads, and pthreads

Assignments:

September 13, 2022
Heap Memory Allocation and malloc

Lecture #6: Heap Memory Allocation and malloc

Assignments:

September 8, 2022
PNG Chunks

MP 2: PNG Chunks

September 6, 2022
Locality of Reference and Virtual Memory

Lecture #5: Locality of Reference and Virtual Memory

Assignments:

September 6, 2022
Logic Gates, ISAs and Instruction Sets, File Types, & Memory

Lecture #4: Logic Gates, ISAs and Instruction Sets, File Types, & Memory

Assignments:

September 1, 2022
Emojis

MP 1: Emojis

August 30, 2022
Character Encodings (ASCII, UTF-8) and Binary Math

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

Assignments:

August 25, 2022
Welcome to C, It's Been Waitin' For You

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

August 23, 2022
Course Introduction and Binary Representation

Lecture #1: Course Introduction and Binary Representation

Assignments:

August 23, 2022
Welcome to CS 340!

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

August 4, 2022