Lectures
Lecture 1: Course Overview
Monday, January 9
- [Slides]
[Lecture Video]
[Assignment 0]
Here is a link to the MIT version of the course: The Missing Semester of your CS Education. CS45 is an extended version of the MIT course, and will delve into the topics in more detail.
Lecture 2: The Shell and Shell Tools
Wednesday, January 11
- [Slides]
[Notes]
[Lecture Video]
Here are some resources to learn more about various shell tools:
- cheat.sh
- devhints.io/bash
- Your system manual (
man
pages)
Lecture 3: Data Manipulation
Wednesday, January 18
- [Slides]
[Notes]
[Lecture Video]
Lecture 4: Shell Scripting
Monday, January 23
- [Slides]
[Notes]
[Lecture Video]
[Assignment 2]
Lecture 5: Text Editors
Wednesday, January 25
- [Slides]
[Notes]
[Lecture Video]
Lecture 6: Command Line Environment
Monday, January 30
- [Slides]
[Notes]
[Lecture Video]
[Assignment 3]
Lecture 7: Computer Networking
Wednesday, February 1
- [Slides]
[Lecture Video]
Lecture 8: Version Control
Monday, February 6
- [Slides]
[Notes]
[Lecture Video]
Lecture 9: Version Control II
Wednesday, February 8
- [Slides]
[Notes]
[Lecture Video]
[Assignment 4]
Lecture 10: Build Systems & DevOps
Monday, February 13
- [Slides]
[Lecture Video]
Lecture 11: Debugging and Profiling
Wednesday, February 15
- [Slides]
[Lecture Video]
[Assignment 5]
Lecture 12: Recent Unix Tools
Wednesday, February 22
- [Slides]
[Notes]
[Lecture Video]
[Assignment 6]
Lecture 13: Security
Monday, February 27
- [Slides]
[Lecture Video]
Lecture 14: Cryptography
Wednesday, March 1
- [Slides]
[Lecture Video]
[Final Project]
[Assignment 7]
Lecture 15: Virtual Machines & Containers
Monday, March 6
- [Slides]
[Lecture Video]
Lecture 16: Cloud & Serverless
Wednesday, March 8
- [Slides]
[Lecture Video]
[Assignment 8]
Lecture 17: Student-Chosen Topics
Monday, March 13
Lecture 18: Conclusion
Wednesday, March 15