Course Info

CSC 363: Theory and Practice of Safe Systems Programming

Modern developments in programming languages, toolchains, and package management reduce the risk of security vulnerabilities from programming errors and supply chain attacks. This course covers the theory and practice of ownership type systems, their application in systems programming, and discussion of the vulnerabilities they mitigate. Approaches to software integrity and distributed code review are investigated in the context of package management and supply chain attacks. Coursework includes development of a large systems program in a language with ownership types such as Rust.

CSC 347 is a prerequisite for this class.

Fall 2025-2026

  • Section: 401
  • Class number: 13269
  • Meeting time: MW 1:30PM - 3:00PM
  • Location: CDM 00206 at Loop Campus
  • Instructor: Corin Pitcher | View syllabus

Section 441

Class number 13270

  • Meeting dates: 9/10/2025 - 11/25/2025
  • Meeting time: MW 1:30PM - 3:00PM
  • Location: CDM 00206 at Loop Campus
  • Instructor: Corin Pitcher | View syllabus


Fall 2024-2025

  • Section: 401
  • Class number: 15024
  • Meeting time: MW 1:30PM - 3:00PM
  • Location: CDM 00206 at Loop Campus
  • Instructor: James Riely | View syllabus

Section 441

Class number 15025

  • Meeting dates: 9/4/2024 - 11/19/2024
  • Meeting time: MW 1:30PM - 3:00PM
  • Location: CDM 00206 at Loop Campus
  • Instructor: James Riely | View syllabus
  • Meeting dates: 9/4/2024 - 11/19/2024
  • Meeting time: MW 1:30PM - 3:00PM
  • Location: Flex
  • Instructor: James Riely | View syllabus


Fall 2023-2024

  • Section: 401
  • Class number: 13545
  • Meeting time: MW 1:30PM - 3:00PM
  • Location: CDM 00202 at Loop Campus
  • Instructor: Corin Pitcher | View syllabus

Spring 2022-2023

Fall 2022-2023

  • Section: 401
  • Class number: 24690
  • Meeting time: MW 1:30PM - 3:00PM
  • Location: CDM 00202 at Loop Campus
  • Instructor: Corin Pitcher | View syllabus