Concordia University Wisconsin  ·  School of Arts and Sciences  ·  B.S. Computer Science Curriculum proposal draft
Computer Science Curriculum Evolution
CSC 3050 3 Credits 3000 level Moderate AI weight

Operating Systems

In industry the operating system has become the containment layer for AI: agent tool calls and machine-generated code are confined with namespaces, control groups, and system-call filters, while schedulers, paging, and I/O paths are tuned for accelerator-bound inference. The course therefore keeps its virtualization, concurrency, and persistence core intact and adds least-privilege confinement of agent workloads plus disciplined verification of AI-authored systems code.

Current catalog prerequisites — (CSC 250 or 2050).

The revision

Current description → proposed description

Current — CUW catalogverbatim

This course examines the foundational concepts, functions, and structure of operating systems. The primary operating system responsibilities of supporting virtualization, concurrency, and persistence are studied in depth. Students will investigate key concepts via a number of interactive simulations. In addition, students will carry out a number of systems programming projects in order to gain hands-on experience.

Prerequisites: (CSC 250 or 2050).

Proposed — revised for the AI eradraft

This course examines the foundational concepts, functions, and structure of operating systems, studying in depth the primary responsibilities of virtualization, concurrency, and persistence. Students analyze process abstraction, system calls, and context switching; compare CPU scheduling policies and their trade-offs among throughput, latency, and fairness; implement address translation, demand paging, and page replacement; build concurrent programs with threads, locks, condition variables, and semaphores; and examine file system layout, journaling, and crash consistency, working through interactive simulations and a sequence of hands-on systems programming projects. The course then treats the operating system as the boundary that contains untrusted and machine-generated code: students apply namespaces, control groups, system-call filtering, and least-privilege capabilities to confine tool-calling AI agents within a justified resource budget, and measure how scheduling and paging shape inference latency and cost. Because coding agents are now routinely used to produce systems code, students also review machine-generated concurrency and system-call code with sanitizers and deterministic stress testing, remaining accountable for behavior they did not personally write.

Note. CSC 3050 has no row in the workbook's curriculum map (assessment_map.json), so the PLO mapping proposed here is a proposal, not a department-approved placement, and should be reconciled with the map before adoption. Separately, the workbook's 18 PLOs contain no outcome for core software implementation skill; CLO 2 therefore earns PLO 4.3 through an explicit reflective-documentation deliverable rather than through the implementation work itself, and the department may wish to add a technical-competence outcome when revising the map. PLO 4.3 also situates self-reflection within a Christian faith-informed framework; in this course that framing is carried explicitly by CLO 5 rather than inside the concurrency work.

What changes

  • Retains the virtualization, concurrency, and persistence core and adds scheduling, synchronization, and file-system implementation detail
  • Least-privilege confinement of tool-calling agent workloads, justified against policy and consent constraints
  • Measurement of how scheduling and paging behavior differs for model-inference workloads
  • Review and verification of AI-generated concurrency and system-call code
  • Crash consistency framed around audit and provenance data
Course learning outcomes

5 proposed outcomes, mapped to 8 program outcomes

Each outcome below is written to be observable and assessable, and each is mapped to the program learning outcomes for which it produces evidence.

1

Students will be able to analyze how an operating system virtualizes the CPU and memory through process abstraction, scheduling policy, address translation, and demand paging, using measured latency, throughput, and fairness data to characterize how memory-intensive model inference differs from classical CPU-bound and I/O-bound workloads under the same policies.

Maps to

PLO 6.1: students must interpret and explain measurement outcomes from instrumented runs, including what those outcomes mean for AI workloads, rather than only describe mechanisms. PLO 6.2: the required conclusion is a quantitative characterization of how the model-inference workload class behaves differently from CPU-bound and I/O-bound work under identical scheduling and paging policies, so the analysis is of an AI workload pattern rather than of a benchmark label.

2

Students will be able to implement concurrent systems programs using threads, locks, condition variables, and semaphores that are demonstrably free of data races and deadlock under deterministic stress testing and dynamic analysis tooling, and document each failure diagnosed, the revision it prompted, and what it changed in their own debugging approach.

Maps to

PLO 4.3: the required record of each diagnosed failure, the revision it prompted, and the resulting change to the student's own debugging approach is an assessable self-reflection deliverable that continuously assesses and improves their problem-solving method, not an inference drawn from a working program.

3

Students will be able to evaluate the crash-consistency and durability guarantees of file system designs, including journaling, copy-on-write, and fsync discipline, under injected failure conditions that threaten audit and provenance records written by automated processes.

Maps to

PLO 6.1: students must interpret recovery-experiment results and explain what a storage layer does and does not guarantee to the pipelines and audit trails that depend on its data. PLO 4.1: judging which durability guarantee is adequate for data whose silent loss would propagate into downstream AI training and audit records is critical analysis of a data-driven outcome with consequences beyond the machine.

4

Students will be able to construct an operating-system-enforced isolation boundary using namespaces, control groups, system-call filtering, and capability restriction or a lightweight virtual machine that confines a tool-calling AI agent and the code it generates to a least-privilege system-call, filesystem, and resource budget, and justify that budget in writing against a stated organizational policy, legal, or user-consent constraint.

Maps to

PLO 3.2: the written justification requires students to bring policy, legal, and user-consent reasoning from outside computer science to bear on what an agent acting on a user's behalf may do, and to communicate that reasoning, which is the interdisciplinary work of developing a human-centered AI application. PLO 2.3: capping an agent process's CPU, memory, and I/O and denying it unnecessary privilege is concrete, responsible management of shared computing resources.

5

Students will be able to critique systems code generated by an AI coding agent for race conditions, memory-safety violations, and incorrect system-call and error handling, justifying an accept, revise, or reject decision with reproducible evidence and articulating why responsibility for machine-generated behavior remains the engineer's own under a Christian understanding of vocation and stewardship.

Maps to

PLO 1.2: students must articulate, not merely assume, why a Christian understanding of vocation and stewardship places accountability for machine-generated behavior on the engineer, which is the reflection on how Christian values guide accountability that this PLO names. PLO 5.1: the accept, revise, or reject decision must be defended in writing with reproducible evidence, which is transparent technical communication delivered with integrity.

Coverage

Program outcomes this course reaches

Filled cells are program learning outcomes with at least one supporting course learning outcome in this course. Sparse coverage is expected — no single course carries all eighteen.

ULO1
1.11.21.3
ULO2
2.12.22.3
ULO3
3.13.23.3
ULO4
4.14.24.3
ULO5
5.15.25.3
ULO6
6.16.26.3