Course Schedule
1
Introduction and a dash of *nix
Sep 03, 2021
Lecture
Slides: remark(down) · pdf
Lecture Recordings: CoE Lec. Cap.
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.
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
3
Unix and You
Sep 17, 2021
Lecture
Slides: remark(down) · pdf
Lecture 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
- Bash
4
Review and Regular Expressions
Sep 24, 2021
Lecture
Slides: remark(down) · pdf
Lecture Recordings: CoE Lec. Cap.
Today we'll be reviewing and working through some examples and using Bash and then go into regular expressions.
- Reviewing Bash
- Regular expressions
5
Git Gud
Oct 01, 2021
Lecture
Slides: remark(down) · pdf
Lecture Recordings: CoE Lec. Cap.
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
6
Text Editors
Oct 08, 2021
Lecture
Slides: remark(down) · pdf
Lecture Recordings: Google Drive
Today we'll be looking at text editor history and look at more "advanced" text editor features, featuring Vim
- Text editor history
- vim
7
Potpourri
Oct 15, 2021
Lecture
Slides: remark(down) · pdf
Lecture Recordings: How do computers understand us/Fields and jobs in EECS (main)
Today we'll be discussing a medley of topics
- How do computers understand us?
- Fields and jobs in EECS
GNU/Linux experience (supplemental)
Lecture
Slides: remark(down) · pdf
Lecture Recordings: GNU/Linux installation and VMs · "Steal his look"
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
8
Build Systems
Oct 22, 2021
Lecture
Slides: remark(down) · pdf
Lecture 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
9
Python
Oct 29, 2021
Lecture
Slides: remark(down) · pdf
Lecture 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
10
Debugging
Nov 05, 2021
Lecture
Slides: remark(down) · pdf
Lecture Recordings: CoE Lec. Cap.
We'll be looking at methods for debugging C/C++ programs
printf
- Logging
- GDB
- Valgrind
11
Libraries
Nov 12, 2021
Lecture
Slides: remark(down) · pdf
Lecture Recordings: CoE Lec. Cap.
We'll be looking into the idea of libraries, how to use them, and how to create them. This lecture 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
12
Testing
Nov 19, 2021
Lecture
Slides: remark(down) · pdf
Lecture Recordings: CoE Lec. Cap.
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
Basic
Advanced
13
Staff lectures and conclusion
Dec 03, 2021
Lecture
Slides: remark(down) · pdf · Sowgandhi's · John Paul's
Lecture Recordings: CoE Lec. Cap.
We'll hand the floor over to our IAs to give some small lectures
- Staff lectures