- Preface
- Remote coding
- Lab 0. Getting started
❱
- Part 1. Installing extensions
- Part 2. Installing remote extensions
- Part 3. Debugging a shell script
- Part 4. Getting Ready for Class
- Submitting
- Lab 1. Introduction to Bash
❱
- Part 1. Navigating the file system
- Part 2. Manipulating files and directories
- Part 3. Grepping
- Submitting
- Lab 2. Shell scripting
❱
- Part 1. Multiple executions
- Part 2. A simple pipeline
- Part 3. Shell script hygiene
- Part 4. Top file types
- Submitting
- Lab 3. Introduction to Rust
❱
- Part 1. Guessing game
- Part 2. Iteration
- Part 3. Reversing a vector
- Part 4. Checking for in-order data
- Part 5. Iterating manually
- Part 6. Iterating over string
- Submitting
- Lab 4: Wordle ahead
❱
- Part 1. Wordle
- Part 2. Head
- Part 3. More head
- Submitting
- Lab 5: Gutensearch
❱
- Part 1. Getting a result
- Part 2. Reading the index
- Part 3. Implementing some methods
- Part 4. Modeling resources
- Part 5. Implementing Display
- Part 6. Building a TUI
- Submitting
- Lab 6: Processes I
❱
- Part 1. Making a library
- Part 2. Result, again
- Part 3. A proc primer
- Part 4. Modeling a process
- Part 5. More processing
- Part 6. Implementing ps
- Submitting
- Lab 7: Processes II
❱
- Part 1. Calling C functions
- Part 2. Looking up users
- Part 3. Adding usernames to ps
- Part 4. Execution times
- Part 5. Controlling terminals
- Submitting
- Lab 8: Osh I
❱
- Part 1. Parsing input
- Part 2. Building a pipeline
- Part 3. Running a pipeline
- Part 4. Making a shell
- Submitting
- Lab 9: Osh II
❱
- Part 1. Parsing redirections
- Part 2. Performing redirections
- Part 3. Handling signals
- Submitting
- Lab 10: Threads
❱
- Part 1. Hello threads!
- Part 2. Parallelizing jfrac
- Part 3. Timing
- Submitting
- Group Project
❱
- Project Proposal
- Status Update
- Final Report
- Presentation