CS 241: Systems Programming

DateTopic and readingAssignments
Week 1
Mon, Feb 05Introduction [slides]
No reading
Wed, Feb 07Introduction to UNIX and the shell [slides]
Reading
  • LCL. Chapters 1–5.
Fri, Feb 09More shell [slides]
Reading
  • LCL. Chapters 6–10, chapter 8 is optional.
Week 2
Mon, Feb 12Continuing with the shell
No reading
Wed, Feb 14Environment and expansion [slides]
Reading
  • LCL. Chapter 11 and optionally chapter 13.
Fri, Feb 16Version control and Git [slides]
Reading
  • Git book. Sections 1.1, 1.3, 1.6, 1.7, 2.1, and 2.2.
Week 3
Mon, Feb 19Shell scripting 1 [slides]
Reading
  • LCL. Chapters 24–27.
Wed, Feb 21Shell scripting 2 [slides]
Reading
  • LCL. Chapters 29, 31–33.
Fri, Feb 23Introduction 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 4
Mon, Feb 26Basic Rust programming [slides]
Reading
Wed, Feb 28More Rust programming [slides]
Reading
Fri, Mar 01Ownership in Rust [slides]
Reading
Week 5
Mon, Mar 04References [slides]
Reading
Wed, Mar 06Slices [slides]
Reading
Fri, Mar 08Catch up [slides]
No reading
Week 6
Mon, Mar 11Structure types [slides]
Reading
Wed, Mar 13Enumerations [slides]
Reading
Fri, Mar 15Processes [slides]
Reading
Week 7
Mon, Mar 18Modules in Rust [slides]
Reading
Wed, Mar 20System calls I [slides]
Reading
Fri, Mar 22Unsafe Rust and pointers [slides]
No reading
Week 8
Mon, Mar 25No class: spring break
No reading
    Wed, Mar 27No class: spring break
    No reading
    Fri, Mar 29No class: spring break
    No reading
    Week 9
    Mon, Apr 01System calls II [slides]
    Reading
    Wed, Apr 03Generics and traits [slides]
    Reading
    Fri, Apr 05Generics and traits II [slides]
    Reading
    Week 10
    Mon, Apr 08Lifetimes [slides]
    Reading
    Wed, Apr 10UNIX Signals [slides]
    Reading
    Fri, Apr 12Catch up
    No reading
    Week 11
    Mon, Apr 15Advanced Git [slides]
    Reading
    Wed, Apr 17Closures [slides]
    Reading
    Fri, Apr 19Threads [slides]
    Reading
    Week 12
    Mon, Apr 22More threads
    No reading
    • Lab 10: Threading
    Wed, Apr 24Networking
    Reading
    Fri, Apr 26Static Libraries [slides]
    Reading
    • I.L. Taylor. Linkers. Read Linkers parts 1, 2, and 3.
    Week 13
    Mon, Apr 29Dynamic Libraries [slides]
    Reading
    • Lab 11: Networking
    Wed, May 01Regular expressions I [slides]
    Reading
    • LCL. Chapter 19.
    Fri, May 03Regular expressions II [slides]
    No reading
    Week 14
    Mon, May 06Memory unsafety: Introduction to control flow hijacking
    No reading
    • Final project work day
    Wed, May 08TBA
    No reading
    Fri, May 10TBA
    No reading