Course Schedule
Loading...
Click/tap off of the video to close, or hit Esc
0
Syllabus
Jan 12, 2024
Content and Videos
Class
Slides: remark(down) · pdf
Class Recordings: CoE Lec. Cap.
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
Jan 19, 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, Jan 26 at 10:30 am on Canvas
Slides: remark(down) · pdfClass
Slides: remark(down) · pdf
Class Recordings: CoE Lec. Cap.
Let's get acquainted with the command line :)
- What is a command line?
- Intro to *nix
Basic
Due Wed, Jan 31 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
Jan 26, 2024
Content and Videos
- 1 - What is version control? [ Play | Link ]
- 2 - What is Git? [ Play | Link ]
- 3 - GITing around [ Play | Link ]
- 4 - GITing things back [ Play | Link ]
- 5 - Git branches [ Play | Link ]
- 6 - Git remotes [ Play | Link ]
Quiz due at Fri, Jan 26 at 10:30 am on Canvas
Slides: remark(down) · pdfClass
Slides: remark(down) · pdf
Class Recordings: CoE Lec. Cap.
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
3
Unix and You
Feb 02, 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, Feb 02 at 10:30 am on Canvas
Slides: remark(down) · pdfClass
Slides: remark(down) · pdf
Class 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
4
Shells
Feb 09, 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, Feb 09 at 10:30 am on Canvas
Slides: remark(down) · pdfClass
Slides: remark(down) · pdf
Class Recordings: CoE Lec. Cap.
Today we'll be at how to take advantage of Bash.
- Shell operation
- Expansion
- Control flow
- Scripts
- Configuration
5
Regular Expressions
Feb 16, 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, Feb 16 at 10:30 am on Canvas
Slides: remark(down) · pdfClass
Slides: remark(down) · pdf
Class Recordings: CoE Lec. Cap.
Today we'll be going into regular expressions.
- Regular expressions
6
Git Gud
Feb 23, 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, Feb 23 at 10:30 am on Canvas
Slides: remark(down) · pdfClass
Slides: remark(down) · pdf
Class 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
Break
Mar 01, 2024
Content and Videos
Class
Enjoy your winter (spring?) break!
7
Build Systems and Make
Mar 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, Mar 08 at 10:30 am on Canvas
Slides: remark(down) · pdfClass
Slides: remark(down) · pdf
Class 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
8
Python
Mar 15, 2024
Content and Videos
- 1 - Intro (0:46) [ Play | Link ]
- 2 - What is Python? (3:11) [ Play | Link ]
- 3 - Variables and data (3:34) [ Play | Link ]
- 4 - Types (9:39) [ Play | Link ]
- 5 - Expressions (3:26) [ Play | Link ]
- 6 - Comprehensions (2:58) [ Play | Link ]
- 7 - Simple statements (1:26) [ Play | Link ]
- 8 - Compound statements (1:51) [ Play | Link ]
- 9 - Functions (0:42) [ Play | Link ]
- 10 - Classes (1:35) [ Play | Link ]
- 11 - Modules (3:10) [ Play | Link ]
- 12 - Conclusion (0:26) [ Play | Link ]
Quiz due at Fri, Mar 15 at 10:30 am on Canvas
Slides: remark(down) · pdfClass
Slides: remark(down) · pdf
Class 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
9
Libraries
Mar 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, Mar 22 at 10:30 am on Canvas
Slides: remark(down) · pdfClass
Slides: remark(down) · pdf
Class Recordings: CoE Lec. Cap.
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
10
Debugging
Mar 29, 2024
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, Mar 29 at 10:30 am on Canvas
Slides: remark(down) · pdfClass
Slides: remark(down) · pdf
Class Recordings: CoE Lec. Cap.
We'll be looking at methods for debugging C/C++ programs
printf- Logging
- GDB
- Valgrind
Eclipse!
Apr 05, 2024
Content and Videos
Class
Go experience the total solar eclipse! Next total eclipse visible from the contiguous US will be in 2044!
11
Text Editors
Apr 12, 2024
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, Apr 19 at 10:30 am on Canvas
Slides: remark(down) · pdfClass
Slides: remark(down) · pdf
Class Recordings: CoE Lec. Cap.
Today we'll be looking at text editor history and look at more "advanced" text editor features, featuring Vim
- Text editor history
- vim
12
Testing
Apr 19, 2024
Content and Videos
Class
Slides: remark(down) · pdf
Class 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
Conclusion
Apr 19, 2024
Content and Videos
Class
Slides: remark(down) · pdf
In another semester, we'll have handed the floor over to our IAs to give some small classs