Course Schedule

1

Introduction and a dash of *nix

Sep 03, 2021

Lecture

Slides: remark(down) · pdf

Lecture Recordings: CoE Lec. Cap.

Lecture Survey

Syllabus week! Today we will look at what this course is and how it's organized and then jump right into talking about one of my favorite things: command lines.

  • Introduction
  • Course overview
  • Intro to *nix
  • What is a command line?
  • Why a command line?
  • Live command line demo

Basic

Due Wed, Sep 22 at 11:59 pm: pdf

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

Advanced

2

GITing started

Sep 10, 2021

Lecture

Slides: remark(down) · pdf

Lecture Recordings: CoE Lec. Cap.

Lecture Survey

Today we'll be taking a bit of a detour and looking at the basics of version control and Git

  • Recap of Lec 1
  • What is version control?
  • Basic Git flow
  • Git branches
  • A taste of Git remotes

Basic

Due Thu, Sep 30 at 11:59 pm: 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 29 at 11:59 pm: pdf

  • Recovering data with Git

3

Unix and You

Sep 17, 2021

Lecture

Slides: remark(down) · pdf

Lecture Recordings: CoE Lec. Cap.

Lecture 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
  • Bash

Basic

Due Wed, Oct 06 at 11:59 pm: pdf

  • Redirection
  • Pipelines
  • Variables
  • Expansion

Advanced

Due Fri, Oct 08 at 11:59 pm: pdf

  • Small testing framework
  • Writing a minimal shell

4

Review and Regular Expressions

Sep 24, 2021

Lecture

Slides: remark(down) · pdf

Lecture Recordings: CoE Lec. Cap.

Lecture Survey

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

  • Reviewing Bash
  • Regular expressions

Basic

Due Mon, Oct 18 at 11:59 pm: pdf

  • Regexes with grep
  • Regexes with sed

Advanced

Due Mon, Oct 18 at 11:59 pm: pdf

  • Pig Latin conversion with sed

5

Git Gud

Oct 01, 2021

Lecture

Slides: remark(down) · pdf

Lecture Recordings: CoE Lec. Cap.

Lecture 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 Fri, Oct 22 at 11:59 pm: pdf

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

Advanced

Due Fri, Oct 22 at 11:59 pm: pdf

  • Git hooks

6

Text Editors

Oct 08, 2021

Lecture

Slides: remark(down) · pdf

Lecture Recordings: Google Drive

Lecture 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, Oct 27 at 11:59 pm: pdf

  • Getting familiar with terminal editors

Advanced

Due Wed, Oct 27 at 11:59 pm: pdf

  • Extending editors

7

Potpourri

Oct 15, 2021

Lecture

Slides: remark(down) · pdf

Lecture Recordings: How do computers understand us/Fields and jobs in EECS (main)

Lecture Survey

Today we'll be discussing a medley of topics

  • How do computers understand us?
  • Fields and jobs in EECS

Basic

Advanced

GNU/Linux experience (supplemental)

Lecture

Slides: remark(down) · pdf

Lecture Recordings: GNU/Linux installation and VMs · "Steal his look"

Lecture Survey

This is a supplemental, optional set of lecture recordings for people interested in running a bone-fide GNU/Linux system. The first part discusses GNU/Linux in general and illustrates two ends of the installation spectrum. The second part goes over how I have put together the GNU/Linux system that you see me present in lecture.

  • Virtual machines
  • GNU/Linux installation experiences
  • "Steal his look"

Basic

Advanced