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
    Reading
    • LCL. Chapter 19.
    • Lab 11: Networking
    Wed, Dec 03Regular expressions II
    No reading
    Fri, Dec 05Memory unsafety: Introduction to control flow hijacking
    No reading
    Week 16
    Mon, Dec 08TBA
    No reading
    • Project work day
    Wed, Dec 10Class wrap up
    No reading