Course Schedule
Loading...
Click/tap off of the video to close, or hit Esc
0
Syllabus
Jan 09, 2026
Content and Videos
Class
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap.
Syllabus week! Today we will look at what this course is and how it's organized, and strategies for success.
- Introduction
- Course overview
1
Intro and getting started
Jan 16, 2026
Content and Videos
- 1 - What is a command line? [ Play | Link ]
- 2 - What is Unix? [ Play | Link ]
- 3 - Getting around the Unix command line [ Play | Link ]
- 4 - Playing around with the Unix command line [ Play | Link ]
- 5 - Getting an SSH key [ Play | Link ]
Quiz due at Fri, Jan 16 at 10:30 am on Canvas
Slides: remark(down) · printableClass
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap.
Let's get acquainted with the command line :)
- What is a command line?
- Intro to *nix
Basic
Due Mon, Jan 26 at 11:59 pm on EECS 201 Autograder - pdf
- Getting access to Unix(-like) command line
- Getting access to the course server
- Some light reading
2
GITing started
Jan 23, 2026
Content and Videos
- 1 - What is version control? [ Play | Link ]
- 2 - What is Git? [ Play | Link ]
- 3 - GITing around [ Play | Link ]
- 4 - GITing things back [ Play | Link ]
- 5 - Git branches [ Play | Link ]
- 6 - Git remotes [ Play | Link ]
Quiz due at Fri, Jan 23 at 10:30 am on Canvas
Slides: remark(down) · printableClass
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap. · CoE Lec. Cap.
Today we'll be taking a bit of a detour and looking at the basics of version control and Git
- What is version control?
- Basic Git flow
- Git branches
- A taste of Git remotes
Basic
Due Mon, Feb 02 at 11:59 pm on EECS GitLab - pdf
- Connecting to the course server
- Setting up an existing code base
- Making and merging topic/feature branches
- Setting up a remote
- Running the autograder
Advanced
Submission due Mon, Feb 02 at 11:59 pm
on
Gradescope
-
pdf
Checkoffs in lab from Tue, Feb 03 to Fri, Feb 13
- Recovering data with Git
3
Unix and You
Jan 30, 2026
Content and Videos
- 1 - What is Unix 2, Electric Boogaloo (2:03) [ Play | Link ]
- 2 - Unix principles (4:39) [ Play | Link ]
- 3 - Unix processes (16:26) [ Play | Link ]
- 4 - Unix files (12:11) [ Play | Link ]
- 5 - Shell background (2:17) [ Play | Link ]
- 6 - Shell operation (8:28) [ Play | Link ]
- 7 - Variables (4:35) [ Play | Link ]
- 8 - Walking the PATH (3:41) [ Play | Link ]
- 9 - Executables and shell scripts (8:02) [ Play | Link ]
Quiz due at Fri, Jan 30 at 10:30 am on Canvas
Slides: remark(down) · printableClass
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap.
Today we'll be looking at Unix and its workings and how they tie into Bash and other shells.
- What is Unix?
- How does Unix work?
- Interacting with Unix via Shells
4
Shells
Feb 06, 2026
Content and Videos
- 1 - Shell introduction (2:39) [ Play | Link ]
- 2 - Job control (13:41) [ Play | Link ]
- 3 - File redirection++ (11:02) [ Play | Link ]
- 4 - Command grouping (3:47) [ Play | Link ]
- 5 - Expansions (15:19) [ Play | Link ]
- 6 - Quoting (4:35) [ Play | Link ]
- 7 - Control flow (23:16) [ Play | Link ]
- 8 - Sourcing (3:40) [ Play | Link ]
- 9 - Shell configuration (5:31) [ Play | Link ]
Quiz due at Fri, Feb 06 at 10:30 am on Canvas
Slides: remark(down) · printableClass
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap.
Today we'll look at how to take advantage of Bash.
- Shell operation
- Expansion
- Control flow
- Scripts
- Configuration
5
Regular Expressions
Feb 13, 2026
Content and Videos
- 1 - Regex introduction (4:33) [ Play | Link ]
- 2 - Character literals (4:05) [ Play | Link ]
- 3 - Special characters (9:15) [ Play | Link ]
- 4 - Brackets (5:56) [ Play | Link ]
- 5 - Quantifiers (7:27) [ Play | Link ]
- 6 - Anchors (4:53) [ Play | Link ]
- 7 - Backreferences (6:10) [ Play | Link ]
Quiz due at Fri, Feb 13 at 10:30 am on Canvas
Slides: remark(down) · printableClass
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap.
Today we'll be going into regular expressions.
- Regular expressions
6
Git Gud
Feb 20, 2026
Content and Videos
- 1 - Fixing commits (12:49) [ Play | Link ]
- 2 - Rebase (12:45) [ Play | Link ]
- 3 - Caveats of rewriting history (5:34) [ Play | Link ]
- 4 - Stash (4:07) [ Play | Link ]
- 5 - Remotes and tracking (10:12) [ Play | Link ]
- 6 - Workflows (19:42) [ Play | Link ]
- 7 - Conflicts (7:47) [ Play | Link ]
Quiz due at Fri, Feb 20 at 10:30 am on Canvas
Slides: remark(down) · printableClass
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap.
Today we'll be taking a deeper look at Git.
- Rewriting history
- Stashing
- Remotes
- Workflows
- Merge conflicts
Break (No Class)
Feb 27, 2026
Content and Videos
Class
Enjoy your winter (spring?) break!
Break (No Class)
Mar 06, 2026
Content and Videos
Class
Enjoy your winter (spring?) break!
7
Build Systems and Make
Mar 13, 2026
Content and Videos
- 1 - What are programs? (3:20) [ Play | Link ]
- 2 - What is a build system? (3:11) [ Play | Link ]
- 3 - What is Make? (1:29) [ Play | Link ]
- 4 - Rules and targets (9:34) [ Play | Link ]
- 5 - Variables (6:37) [ Play | Link ]
- 6 - Automatic variables (5:46) [ Play | Link ]
- 7 - Functions and expansions (1:26) [ Play | Link ]
- 8 - Pattern matching (6:24) [ Play | Link ]
Quiz due at Fri, Mar 13 at 10:30 am on Canvas
Slides: remark(down) · printableClass
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap.
Today we'll be looking at how code gets built and the tools that help them out
- Building programs
- Build systems
- Make
8
Python
Mar 20, 2026
Content and Videos
- 1 - Intro (0:46) [ Play | Link ]
- 2 - What is Python? (3:11) [ Play | Link ]
- 3 - Variables and data (3:34) [ Play | Link ]
- 4 - Types (9:39) [ Play | Link ]
- 5 - Expressions (3:26) [ Play | Link ]
- 6 - Comprehensions (2:58) [ Play | Link ]
- 7 - Simple statements (1:26) [ Play | Link ]
- 8 - Compound statements (1:51) [ Play | Link ]
- 9 - Functions (0:42) [ Play | Link ]
- 10 - Classes (1:35) [ Play | Link ]
- 11 - Modules (3:10) [ Play | Link ]
- 12 - Conclusion (0:26) [ Play | Link ]
Quiz due at Fri, Mar 20 at 10:30 am on Canvas
Slides: remark(down) · printableClass
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap.
Today we'll be taking a look at how to program a snake
- Higher level scripting
- What is Python?
- Python extras
9
Libraries
Mar 27, 2026
Content and Videos
- 1 - Intro (1:12) [ Play | Link ]
- 2 - Types of libraries (4:41) [ Play | Link ]
- 3 - Using libraries (7:26) [ Play | Link ]
- 4 - Creating libraries (15:17) [ Play | Link ]
Quiz due at Fri, Mar 27 at 10:30 am on Canvas
Slides: remark(down) · printableClass
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap.
We'll be looking into the idea of libraries, how to use them, and how to create them. This class will be in the context of C and C++, but the general idea can apply to other languages as well.
- What are libraries?
- Using existing libraries
- Creating your own
10
Text Editors
Apr 03, 2026
Content and Videos
- 1 - Intro (1:25) [ Play | Link ]
- 2 - The editors around us (9:01) [ Play | Link ]
- 3 - Intro to Vim (15:07) [ Play | Link ]
- 4 - Vim counts, motions, and operators (3:00) [ Play | Link ]
- 5 - Vim macros (3:26) [ Play | Link ]
- 6 - Vim configuration (3:35) [ Play | Link ]
Quiz due at Fri, Apr 03 at 10:30 am on Canvas
Slides: remark(down) · printableClass
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap.
Today we'll be looking at text editor history and look at more "advanced" text editor features, featuring Vim
- Text editor history
- vim
11
Debugging
Apr 10, 2026
Content and Videos
- 1 -Intro (0:27) [ Play | Link ]
- 2 - Print debugging (9:30) [ Play | Link ]
- 3 - Logging (13:00) [ Play | Link ]
- 4 - Interactive debuggers feat. GDB and LLDB (21:04) [ Play | Link ]
- 5 - Valgrind Memcheck (7:09) [ Play | Link ]
- 6 - Conclusion (9:14) [ Play | Link ]
Quiz due at Fri, Apr 10 at 10:30 am on Canvas
Slides: remark(down) · printableClass
Slides: remark(down) · printable
Class Recordings: CoE Lec. Cap.
We'll be looking at methods for debugging C/C++ programs
printf- Logging
- GDB
- Valgrind
Conclusion (No Class)
Apr 17, 2026
Content and Videos
Class
In another semester, we'll have handed the floor over to our IAs to give some small class