CS 241: Systems Programming

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