Course Schedule

Loading...

Click/tap off of the video to close, or hit Esc

0

Syllabus

Sep 04, 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

Sep 11, 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 ]
Slides: remark(down) · printable

Class

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 Fri, Sep 18 at 11:59 pm on EECS 201 Autograder - html

  • Getting access to Unix(-like) command line
  • Getting access to the course server
  • Some light reading

2

GITing started

Sep 18, 2026

Content and Videos

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Recordings: 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 Fri, Sep 25 at 11:59 pm on EECS GitLab - html

  • 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 Fri, Sep 25 at 11:59 pm on Gradescope - html
Checkoffs in lab from Fri, Sep 25 to Fri, Oct 02

  • Recovering data with Git

3

Unix and You

Sep 25, 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 ]
Slides: remark(down) · printable

Class

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

Basic

Due Fri, Oct 02 at 11:59 pm on EECS GitLab - html

  • Redirection
  • Pipelines
  • File modes

Advanced

Submission due Fri, Oct 02 at 11:59 pm on EECS GitLab - html
Checkoffs in lab from Fri, Oct 02 to Fri, Oct 09

  • Writing a minimal shell

4

Shells

Oct 02, 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 ]
Slides: remark(down) · printable

Class

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

Basic

Due Fri, Oct 09 at 11:59 pm on EECS GitLab - html

  • Pipelines
  • Expansions
  • Control flow
  • Functions
  • Scripting

Advanced

Submission due Fri, Oct 09 at 11:59 pm on Gradescope - html
Checkoffs in lab from Fri, Oct 09 to Wed, Oct 21

  • Shell prompt configuration

5

Regular Expressions

Oct 09, 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 ]
Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Recordings: CoE Lec. Cap.

Today we'll be going into regular expressions.

  • Regular expressions

Basic

Due Fri, Oct 16 at 11:59 pm on EECS GitLab - html

  • Regexes with grep
  • Regexes with sed

Advanced

Submission due Fri, Oct 16 at 11:59 pm on EECS GitLab - html
Checkoffs in lab from Wed, Oct 21 to Fri, Oct 30

  • Pig Latin conversion with sed

Fall Study Break (No Class)

Oct 16, 2026

Content and Videos

Class

Enjoy the Fall Study Break!

6

Git Gud

Oct 23, 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 ]
Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Today we'll be taking a deeper look at Git.

  • Rewriting history
  • Stashing
  • Remotes
  • Workflows
  • Merge conflicts

Basic

Due Fri, Oct 30 at 11:59 pm on EECS GitLab - html

  • Changing remotes
  • Dealing with a merge conflict
  • Cleaning up by rebasing

Advanced

Submission due Fri, Oct 30 at 11:59 pm on EECS GitLab - html
Checkoffs in lab from Fri, Oct 30 to Fri, Nov 06

  • Git hooks

7

Build Systems and Make

Oct 30, 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 ]
Slides: remark(down) · printable

Class

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

Basic

Due Fri, Nov 06 at 11:59 pm on EECS GitLab - html

  • Basic Makefile
  • Makefile phonies
  • Makefile dependencies
  • Variables and reuse

Advanced

Submission due Fri, Nov 06 at 11:59 pm on EECS GitLab - html
Checkoffs in lab from Fri, Nov 06 to Fri, Nov 13

  • More Make
  • CMake

8

Python

Nov 06, 2026

Content and Videos

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Today we'll be taking a look at how to program a snake

  • Higher level scripting
  • What is Python?
  • Python extras

Basic

Due Fri, Nov 13 at 11:59 pm on EECS GitLab - html

  • Getting settled with Python

Advanced

Submission due Fri, Nov 13 at 11:59 pm on Gradescope - html
Checkoffs in lab from Fri, Nov 13 to Fri, Nov 20

  • MATLAB alternative
  • Your own path

9

Libraries

Nov 13, 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 ]
Slides: remark(down) · printable

Class

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

Basic

Due Fri, Nov 20 at 11:59 pm on EECS GitLab - html

  • Linking against libraries
  • Creating libraries

Advanced

Submission due Fri, Nov 20 at 11:59 pm on EECS GitLab - html
Checkoffs in lab from Fri, Nov 20 to Fri, Dec 04

  • Runtime library linking

10

Text Editors

Nov 20, 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 ]
Slides: remark(down) · printable

Class

Today we'll be looking at text editor history and look at more "advanced" text editor features, featuring Vim

  • Text editor history
  • vim

Basic

Due Wed, Dec 02 at 11:59 pm on EECS GitLab

Coming soon!

Advanced

Submission due Wed, Dec 02 at 11:59 pm on Gradescope
Checkoffs in lab from Wed, Dec 02 to Wed, Dec 09

Coming soon!

Thanksgiving Break (No Class)

Nov 27, 2026

Content and Videos

Class

Enjoy the Thanksgiving break!

11

Debugging

Dec 04, 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 ]
Slides: remark(down) · printable

Class

We'll be looking at methods for debugging C/C++ programs

  • printf
  • Logging
  • GDB
  • Valgrind

Basic

Due Wed, Dec 09 at 11:59 pm on EECS GitLab

Coming soon!

Advanced

Submission due Wed, Dec 09 at 11:59 pm on Gradescope
Checkoffs in lab from Mon, Dec 07 to Mon, Dec 14

Coming soon!

Conclusion (No Class)

Dec 11, 2026

Content and Videos

Class

In another semester, we'll have handed the floor over to our IAs to give some small class

Basic

Due Fri, Dec 11 at 11:59 pm on Gradescope

Coming soon!