Course Schedule

Loading...

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

0

Syllabus

Aug 29, 2025

Content and Videos

Class

Slides: remark(down) · printable

Class Recordings: CoE Lec. Cap.

Class Survey

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 05, 2025

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, Sep 05 at 10:30 am on Canvas

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Recordings: CoE Lec. Cap.

Class Survey

Let's get acquainted with the command line :)

  • What is a command line?
  • Intro to *nix

Basic

Due Wed, Sep 24 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

Sep 12, 2025

Content and Videos

Quiz due at Fri, Sep 12 at 10:30 am on Canvas

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Recordings: CoE Lec. Cap.

Class Survey

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 Wed, Sep 24 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

Due Wed, Sep 24 at 11:59 pm on Gradescope - pdf

  • Recovering data with Git

3

Unix and You

Sep 19, 2025

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, Sep 19 at 10:30 am on Canvas

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Recordings: CoE Lec. Cap.

Class Survey

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 Wed, Oct 01 at 11:59 pm on EECS GitLab - pdf

  • Redirection
  • Pipelines
  • File modes

Advanced

Due Wed, Oct 01 at 11:59 pm on EECS GitLab - pdf

  • Writing a minimal shell

4

Shells

Sep 26, 2025

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, Sep 26 at 10:30 am on Canvas

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Recordings: CoE Lec. Cap.

Class Survey

Today we'll be at how to take advantage of Bash.

  • Shell operation
  • Expansion
  • Control flow
  • Scripts
  • Configuration

Basic

Due Wed, Oct 08 at 11:59 pm on EECS GitLab - pdf

  • Pipelines
  • Expansions
  • Control flow
  • Functions
  • Scripting

Advanced

Due Wed, Oct 08 at 11:59 pm on Gradescope - pdf

  • Shell prompt configuration

5

Regular Expressions

Oct 03, 2025

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, Oct 03 at 10:30 am on Canvas

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Survey

Today we'll be going into regular expressions.

  • Regular expressions

Basic

Due Wed, Oct 15 at 11:59 pm on EECS GitLab - pdf

  • Regexes with grep
  • Regexes with sed

Advanced

Due Wed, Oct 15 at 11:59 pm on EECS GitLab - pdf

  • Pig Latin conversion with sed

Fall Study Break

Oct 10, 2025

Content and Videos

Class

Enjoy the Fall Study Break!

6

Git Gud

Oct 17, 2025

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, Oct 17 at 10:30 am on Canvas

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Survey

Today we'll be reviewing and working through some examples and using Bash and then go into regular expressions.

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

Basic

Due Wed, Oct 29 at 11:59 pm on EECS GitLab - pdf

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

Advanced

Due Wed, Oct 29 at 11:59 pm on EECS GitLab - pdf

  • Git hooks

7

Build Systems and Make

Oct 24, 2025

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, Oct 24 at 10:30 am on Canvas

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Survey

Today we'll be looking at how code gets built and the tools that help them out

  • Building programs
  • Build systems
  • Make

Basic

Due Wed, Nov 05 at 11:59 pm on EECS GitLab - pdf

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

Advanced

Due Wed, Nov 05 at 11:59 pm on EECS GitLab - pdf

  • More Make
  • CMake

8

Python

Oct 31, 2025

Content and Videos

Quiz due at Fri, Oct 31 at 10:30 am on Canvas

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Survey

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

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

Basic

Due Wed, Nov 12 at 11:59 pm on EECS GitLab - pdf

  • Getting settled with Python

Advanced

Due Wed, Nov 12 at 11:59 pm on Gradescope - pdf

  • MATLAB alternative
  • Your own path

9

Libraries

Nov 07, 2025

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, Nov 07 at 10:30 am on Canvas

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Survey

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 Wed, Nov 19 at 11:59 pm on EECS GitLab - pdf

  • Linking against libraries
  • Creating libraries

Advanced

Due Wed, Nov 19 at 11:59 pm on EECS GitLab - pdf

  • Runtime library linking

10

Text Editors

Nov 14, 2025

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, Nov 14 at 10:30 am on Canvas

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Survey

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 Tue, Nov 25 at 11:59 pm on EECS GitLab - pdf

  • Getting familiar with terminal editors

Advanced

Due Tue, Nov 25 at 11:59 pm on Gradescope - pdf

  • Extending editors

11

Debugging

Nov 21, 2025

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, Nov 21 at 10:30 am on Canvas

Slides: remark(down) · printable

Class

Slides: remark(down) · printable

Class Survey

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

  • printf
  • Logging
  • GDB
  • Valgrind

Basic

Due Wed, Dec 03 at 11:59 pm on EECS GitLab - pdf

  • Using GDB to debug a C/C++ program
  • Using Valgrind to check for memory errors

Advanced

Due Wed, Dec 03 at 11:59 pm on Gradescope - pdf

  • Debugging a running process
  • Your debugging process

Conclusion

Dec 05, 2025

Content and Videos

Quiz due at Fri, Dec 05 at 10:30 am on Canvas

Class

Class Survey

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

Basic

Due Fri, Dec 05 at 11:59 pm on Gradescope - pdf

  • How's it going?

Advanced

Due Fri, Dec 05 at 11:59 pm on Gradescope - pdf

  • Downloading course resources