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