Course Schedule

Loading...

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

Labor Day Weekend

Aug 30, 2024

Content and Videos

Class

Enjoy the Labor Day weekend!

0

Syllabus

Sep 06, 2024

Content and Videos

Class

Slides: remark(down) · pdf

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

Cancelled

Sep 13, 2024

Content and Videos

Class

Something came up for me this day, so have an extra week to get settled in and set up.

1

Intro and getting started

Sep 20, 2024

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 20 at 10:30 am on Canvas

Slides: remark(down) · pdf

Class

Slides: remark(down) · pdf

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, Oct 02 at 11:59 pm on Gradescope - pdf

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

2

GITing started

Sep 27, 2024

Content and Videos

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

Slides: remark(down) · pdf

Class

Slides: remark(down) · pdf

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, Oct 16 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, Oct 16 at 11:59 pm on Gradescope - pdf

  • Recovering data with Git

3

Unix and You

Oct 04, 2024

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

Slides: remark(down) · pdf

Class

Slides: remark(down) · pdf

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 23 at 11:59 pm on EECS GitLab - pdf

  • Redirection
  • Pipelines
  • File modes

Advanced

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

  • Writing a minimal shell

Fall Study Break

Oct 11, 2024

Content and Videos

Class

Enjoy the Fall Study Break!

4

Shells

Oct 18, 2024

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

Slides: remark(down) · pdf

Class

Slides: remark(down) · pdf

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 30 at 11:59 pm on EECS GitLab - pdf

  • Pipelines
  • Expansions
  • Control flow
  • Functions
  • Scripting

Advanced

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

  • Shell prompt configuration

5

Regular Expressions

Oct 25, 2024

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 25 at 10:30 am on Canvas

Slides: remark(down) · pdf

Class

Slides: remark(down) · pdf

Class Recordings: CoE Lec. Cap.

Class Survey

Today we'll be going into regular expressions.

  • Regular expressions

Basic

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

  • Regexes with grep
  • Regexes with sed

Advanced

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

  • Pig Latin conversion with sed

6

Git Gud

Nov 01, 2024

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

Slides: remark(down) · pdf

Class

Slides: remark(down) · pdf

Class Recordings: CoE Lec. Cap.

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

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

Advanced

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

  • Git hooks

7

Build Systems and Make

Nov 08, 2024

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

Slides: remark(down) · pdf

Class

Slides: remark(down) · pdf

Class Recordings: CoE Lec. Cap.

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 20 at 11:59 pm on EECS GitLab - pdf

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

Advanced

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

  • More Make
  • CMake

8

Python

Nov 15, 2024

Content and Videos

Quiz due at Fri, Nov 15 at 10:30 am on Canvas

Slides: remark(down) · pdf

Class

Slides: remark(down) · pdf

Class Recordings: CoE Lec. Cap.

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, Dec 04 at 11:59 pm on EECS GitLab - pdf

  • Getting settled with Python

Advanced

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

  • MATLAB alternative
  • Your own path

9

Libraries

Nov 22, 2024

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 22 at 10:30 am on Canvas

Slides: remark(down) · pdf

Class

Slides: remark(down) · pdf

Class Recordings: CoE Lec. Cap.

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, Dec 04 at 11:59 pm on EECS GitLab - pdf

  • Linking against libraries
  • Creating libraries

Advanced

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

  • Runtime library linking

Thanksgiving Break

Nov 29, 2024

Content and Videos

Class

Enjoy the Thanksgiving break!

10

Testing

Dec 06, 2024

Content and Videos

Slides:

Class

Slides: remark(down) · pdf

Class Survey

We'll be taking a dip into testing software

  • What is and why testing?
  • Kinds of testing
  • Unit testing
  • Test-driven development
  • Live TTD demo

Conclusion

Dec 06, 2024

Content and Videos

Class

Slides: remark(down) · pdf

Class Recordings: CoE Lec. Cap.

Class Survey

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

Basic

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

  • How's it going?

Advanced

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

  • Internships/jobs/summer plans

11

Debugging

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 Wed, Dec 18 at 10:30 am on Canvas

Slides: remark(down) · pdf

Class

Class Survey

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

  • printf
  • Logging
  • GDB
  • Valgrind

Basic

Due Wed, Dec 11 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 11 at 11:59 pm on Gradescope - pdf

  • Debugging a running process
  • Your debugging process

12

Text Editors

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 Wed, Dec 18 at 10:30 am on Canvas

Slides: remark(down) · pdf

Class

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

  • Getting familiar with terminal editors

Advanced

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

  • Extending editors