Course Schedule
1
Introduction and a dash of *nix
Jan 07, 2022
Lecture
Slides: remark(down) · pdf
Lecture Recordings: CoE Lec. Cap. · Google Drive
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, Jan 26 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
Jan 14, 2022
Lecture
Slides: remark(down) · pdf
Lecture Recordings: CoE Lec. Cap. · Google Drive
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
Jan 21, 2022
Lecture
Slides: remark(down) · pdf
Lecture Recordings: CoE Lec. Cap. · Google Drive
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
4
Shells
Jan 28, 2022
Lecture
Slides: remark(down) · pdf
Lecture Recordings: Shells · Shell configuration · Shells (Google Drive) · Shell Configuration (Google Drive)
Today we'll be at how to take advantage of Bash.
- Shell operation
- Expansion
- Control flow
- Scripts
- Configuration
5
Regular Expressions
Feb 04, 2022
Lecture
Slides: remark(down) · pdf
Lecture Recordings: CoE Lec. Cap. · Google Drive
Today we'll be going into regular expressions.
- Regular expressions
6
Git Gud
Feb 11, 2022
Lecture
Slides: remark(down) · pdf
Lecture Recordings: CoE Lec. Cap. · Google Drive
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
7
Potpourri
Feb 18, 2021
Lecture
Slides: remark(down) · pdf
Lecture Recordings: Google Drive
Today we'll be discussing a medley of topics
- How do computers understand us?
- Fields and jobs in EECS
8
Text Editors
Feb 25, 2022
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
Break
Lecture
Enjoy your (spring?) break!
Basic
Advanced
9
Build Systems
Mar 11, 2022
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
10
Python
Mar 18, 2022
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
11
Debugging
Mar 25, 2022
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
12
Libraries
Apr 01, 2022
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
13
Testing
Apr 08, 2022
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
14
Staff lectures and conclusion
Apr 15, 2022
Lecture
Slides: remark(down) · pdf · Sowgandhi's · John Paul's
Lecture Recordings: Part 1 · Part 2
We'll hand the floor over to our IAs to give some small lectures
- Staff lectures
GNU/Linux experience (supplemental)
Lecture
Slides: remark(down) · pdf
Lecture Recordings: GNU/Linux · Steal his look
This is a supplemental lecture for people interested in running a bone-fide GNU/Linux system. I did a live presentation in class which...ran into some snags. I did do a pre-recorded version last semester which is more structured and doesn't run into nearly as many snags, whose recordings are here.
- Virtual machines
- GNU/Linux installation experiences
- "Steal his look"
Basic
Advanced