Concordia University Wisconsin  ·  School of Arts and Sciences  ·  M.S. Artificial Intelligence Curriculum proposal draft
Artificial Intelligence Curriculum Evolution
CSC 6220 3 Credits 6000 level Substantial AI weight MSAI core Description from proposal workbook

Language Theory

Production code is increasingly written by AI coding agents, so the professional value of language design has shifted from developer ergonomics alone toward machine-facing guarantees: grammars and schemas that constrain what a model may emit, type and effect systems that make generated code checkable before it runs, and harnesses that measure where generated programs fail. The course accordingly treats syntax and semantics as the enforcement layer for agent-produced software rather than as purely human-facing notation.

The revision

Current description → proposed description

Current — CUW catalogverbatim

This is an advanced course in current trends of programming language design and implementation. Students will create a modern trends inspired programming language and solve traditional problems using their creation. This course builds on our undergraduate language theory class (CSC 3210).

Proposed — revised for the AI eradraft

This advanced course explores the theory and practice of programming language design, with an emphasis on modern trends such as functional paradigms, domain-specific languages, type systems, metaprogramming, and AI-assisted code generation. Building on undergraduate foundations, students examine the formal structures underlying language syntax and semantics, including grammars, parsing, and language evaluation strategies. As a culminating experience, students will design and implement a prototype programming language tailored to a specific problem domain, incorporating features inspired by modern compilers and interpreters. Topics include language abstraction, runtime environments, type inference, garbage collection, and interoperability. The course also addresses the role of language design in emerging fields like Artificial Intelligence and software verification, encouraging students to critically evaluate how language shapes human–machine interaction, developer productivity, and system safety. The course further treats language design as a control surface for autonomous coding agents, using grammars, static types, effect systems, and sandboxed runtimes to make machine-generated programs checkable, reproducible, and accountable.

Source of the proposed description. This text is the department's own proposed description for this course, taken from the Course Titles & Descriptions sheet of the program proposal workbook, where it appears as “Language Theory”. Workbook proposal; the catalog description for CSC 6220 is different and much shorter.
Note. The catalog description (three sentences, referencing CSC 3210) has not adopted the department's workbook text; the proposed description is the workbook's two-paragraph version, reproduced in full with one appended sentence on agentic coding. The workbook proposes no retitle. The workbook's own curriculum map lists only PLO 3.1 (D) and PLO 5.1 (I) for this course; both are covered, and PLO 4.2, 6.2, and 1.1/3.2 are added only where the workbook's own proposed description already commits the course to AI-assisted code generation, software verification, and system safety. Note also that the workbook's PLO 1.1 and PLO 3.2 are word-for-word identical. PREREQUISITE / ASSUMED BACKGROUND - for department action: the catalog record for CSC 6220 lists no prerequisite (the prereq field is empty), and the MSAI workbook's Student Educational Plan places CSC 6220 in Semester 3 after CSC 5010 (AI Ethics and Vocation), CSC 5015 (Applied Artificial Intelligence), CSC 6210 (Applied Restful APIs and Integrations) and CSC 5025 (Data Security and Information Assurance) - none of them a programming-languages or compilers course - while that same sheet states at the top that "courses can be taken in any order," so even the Semester 3 placement is not binding. At the same time, the workbook description being adopted replaces the catalog's explicit pointer ("This course builds on our undergraduate language theory class (CSC 3210)") with the vaguer "Building on undergraduate foundations," removing the one place the record named the assumed background just as the outcomes raise the technical demand to operational semantics and type inference. CLO 2 has been bounded to a defined core subset with a single backend and named out-of-scope features to keep the workload feasible at 3 credits, but that is a mitigation, not a fix. Recommend the department either list a PL/compilers prerequisite or bridge requirement, or state the assumed background explicitly in the course record - for example by restoring the CSC 3210 reference or adding an equivalent "assumes prior coursework in programming language paradigms" sentence. CLO 2's rationale no longer claims the course extends CSC 3210, because the adopted description no longer says so and no prerequisite enforces it.

What changes

  • Adopts the workbook's fuller two-paragraph description in place of the three-sentence catalog text
  • Adds type systems, metaprogramming, DSLs and functional paradigms as named modern trends
  • Treats grammars and type systems as constraints on LLM code generation
  • Adds an evaluation harness for AI-generated programs (property-based, differential, LLM-as-judge)
  • Adds language-level safety and effect/capability confinement over machine-written code
Course learning outcomes

6 proposed outcomes, mapped to 6 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 design a formal specification for a domain-specific programming language, expressing its concrete and abstract syntax as an unambiguous grammar and its evaluation strategy as a set of operational semantic rules.

Maps to

Writing an unambiguous grammar and operational semantic rules is direct application of formal language theory and the discrete mathematics of parsing and evaluation named in PLO 3.1.

2

Students will be able to implement a working front end and execution model for a defined core subset of that language - lexer, parser, a type checker with inference over that subset, and an interpreter or a compiled backend (one, not both) - with defended runtime decisions governing scoping, memory management, and host interoperability, and with the out-of-scope features named and justified.

Maps to

Building a type checker with inference and a runtime for a bounded core subset applies the language-theory foundations of PLO 3.1 beyond derivation to executable systems, and naming what is deliberately left out is itself a defended scoping judgement about the theory a 3-credit implementation can carry.

3

Students will be able to construct machine-facing interfaces for their language - structured output schemas, grammar-constrained decoding, and tool-call surfaces - and to engineer the accompanying system prompt and few-shot exemplar set that adapt a model with no pretraining exposure to the new language, measuring first-attempt validity with and without each constraint.

Maps to

Writing and iterating the system prompt and exemplar set that make an unfamiliar language usable by an LLM, and measuring the resulting alignment and formatting gains, is the prompt engineering PLO 4.2 names; the ablation that isolates each constraint is run against the grammar itself, which is the language theory of PLO 3.1 applied as a decoding constraint.

4

Students will be able to evaluate the reliability of AI-generated programs in their language by constructing an evaluation harness that combines static type checking, property-based and differential testing, and calibrated LLM-as-judge review, and by feeding the resulting failure taxonomy back into a revision of the language's grammar, type system, or generation interface, then re-running the harness to demonstrate which failure classes the revision eliminated and which it did not.

Maps to

Building the harness and selecting metrics for generated-code correctness is the assessment of performance and limitations PLO 6.2 requires, and the revise-and-re-measure cycle supplies the iterative refinement half of that outcome - here the artifact refined on diagnostic evidence is the language and its generation interface rather than a trained model, since those are what determine what the model can emit.

5

Students will be able to critique the safety guarantees a language design can and cannot extend over machine-generated code - type and memory safety, effect and capability confinement, sandboxed execution - and to produce an accountability statement for a named deployment context that identifies which guarantees are enforced mechanically, which are left to the caller, who bears responsibility when machine-written code in the language causes harm, and what limits must be disclosed to a party depending on it.

Maps to

The accountability statement is the evidence: naming who answers for harm caused by machine-written code, distinguishing mechanically enforced guarantees from those the caller must supply, and disclosing the design's limits to a dependent party are the accountability, transparency, and potential-harm obligations this outcome names; the workbook states that outcome twice, once under Christian Faith as PLO 1.1 and once under Integrated Disciplinary Knowledge as PLO 3.2, so a CLO that earns one necessarily earns the other.

6

Students will be able to communicate a language's design rationale, trade-offs, and limits through a written reference specification and a design review defended to both compiler-literate reviewers and non-specialist stakeholders who must depend on the language.

Maps to

Producing a reference specification and defending the same design to specialist and non-specialist audiences is the dual-audience technical communication PLO 5.1 names, including responsibility for stating the design's limits honestly.

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 twelve.

ULO1
1.11.2
ULO2
2.12.2
ULO3
3.13.2
ULO4
4.14.2
ULO5
5.15.2
ULO6
6.16.2

The workbook maps this course too

The proposal workbook's assessment map already assigns program learning outcomes to this course. The outcomes above were written to cover it.

Program outcomeWorkbook levelIn this draft
PLO 3.1 AI Theory and MathematicsDcovered
PLO 5.1 Communicating AI to Any AudienceIcovered

I = Introduced · D = Developed · AE = Assessed at Exit