CS 241: Systems Programming

DateTopic and readingAssignments
Week 1
Fri, Sep 01Introduction [slides]
No reading
    Week 2
    Mon, Sep 04No class
    No reading
    Wed, Sep 06Introduction to UNIX and the shell [slides]
    Reading
    • LCL. Chapters 1–5.
    Fri, Sep 08More shell [slides]
    Reading
    • LCL. Chapters 6–10, chapter 8 is optional.
    Week 3
    Mon, Sep 11Continuing with the shell
    No reading
    Wed, Sep 13Environment and expansion [slides]
    Reading
    • LCL. Chapter 11 and optionally chapter 13.
    Fri, Sep 15Version control and Git [slides]
    Reading
    • Git book. Sections 1.1, 1.3, 1.6, 1.7, 2.1, and 2.2.
    Week 4
    Mon, Sep 18Shell scripting 1 [slides]
    Reading
    • LCL. Chapters 24–27.
    Wed, Sep 20Shell scripting 2 [slides]
    Reading
    • LCL. Chapters 29, 31–33.
    Fri, Sep 22Introduction to Rust [slides]
    Reading
    • Rust book. §1.2 and 1.3; read §1.1 for installation instructions on your own computer, if you want.
    Week 5
    Mon, Sep 25No class: Yom Kippur
    No reading
    Wed, Sep 27Basic Rust programming [slides]
    Reading
    Fri, Sep 29More Rust programming [slides]
    Reading
    Week 6
    Mon, Oct 02Ownership in Rust [slides]
    Reading
    Wed, Oct 04References [slides]
    Reading
    Fri, Oct 06Slices [slides]
    Reading
    Week 7
    Mon, Oct 09Catch up [slides]
    No reading
    Wed, Oct 11Structure types [slides]
    Reading
    Fri, Oct 13Enumerations [slides]
    Reading
    Week 8
    Mon, Oct 16No class: fall break
    No reading
      Wed, Oct 18No class: fall break
      No reading
      Fri, Oct 20No class: fall break
      No reading
      Week 9
      Mon, Oct 23Processes [slides]
      Reading
      Wed, Oct 25Modules in Rust [slides]
      Reading
      Fri, Oct 27System calls I [slides]
      Reading
      Week 10
      Mon, Oct 30Unsafe Rust and pointers [slides]
      No reading
      Wed, Nov 01System calls II [slides]
      Reading
      Fri, Nov 03Generics and traits [slides]
      Reading
      Week 11
      Mon, Nov 06Generics and traits II [slides]
      Reading
      Wed, Nov 08Lifetimes [slides]
      Reading
      Fri, Nov 10UNIX Signals [slides]
      Reading
      Week 12
      Mon, Nov 13Catch up
      No reading
      Wed, Nov 15Advanced Git [slides]
      Reading
      Fri, Nov 17Closures [slides]
      Reading
      Week 13
      Mon, Nov 20Threads [slides]
      Reading
      • Lab 10: Threading
      Wed, Nov 22Nothing
      No reading
      Fri, Nov 24No class: Thanksgiving break
      No reading
      Week 14
      Mon, Nov 27More threads
      No reading
      • Lab 11: Networking
      Wed, Nov 29Networking
      Reading
      Fri, Dec 01Static Libraries [slides]
      Reading
      • I.L. Taylor. Linkers. Read Linkers parts 1, 2, and 3.
      Week 15
      Mon, Dec 04Dynamic Libraries [slides]
      Reading
      • Final project work day
      Wed, Dec 06Regular expressions I [slides]
      Reading
      • LCL. Chapter 19.
      Fri, Dec 08Regular expressions II [slides]
      No reading
      Week 16
      Mon, Dec 11Memory unsafety: Introduction to control flow hijacking
      No reading