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