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

Coding II - Algorithms

Coding agents now draft much of the routine control-flow and algorithmic code this course once asked students to write by hand, shifting the professional skill toward precise specification, decomposition, and independent verification of work the developer did not type. The course keeps algorithms and control structures as its subject but makes correctness reasoning and disciplined review of machine-generated implementations the graded evidence.

Current catalog prerequisites — (CSC 200 or 2000).

The revision

Current description → proposed description

Current — CUW catalogverbatim

This course studies the foundational issues of computer programming in detail. The primary course emphasis is on computer control structures (selection, repetition, procedure) — how they are mathematically derived in theory and applied in the practice of problem solving. Algorithms will be transformed into modern high-level languages (such as C# and Java) by following professional programming techniques.

Prerequisites: (CSC 200 or 2000).

Proposed — revised for the AI eradraft

This course develops the reasoning that underlies computer programming, with primary emphasis on control structures — selection, repetition, and procedure — as they are derived mathematically and applied to problem solving. Students express algorithms in modern high-level languages such as C# and Java using professional programming techniques. Because routine implementation is increasingly drafted by AI coding assistants, the course gives equal weight to the work that surrounds the writing of code. Students state problems as precise specifications, decompose them into independently verifiable units, trace unfamiliar implementations, and reason about loop invariants, termination, boundary cases, and asymptotic cost. They build test suites that expose defects a plausible solution can hide. Core algorithms are still written by hand, and students compare their own implementations against machine-generated alternatives, disclose the provenance of code they did not author, and defend the correctness and efficiency of every solution they submit. Professional accountability for delegated work is treated as a matter of vocation as well as craft.

Note. CSC 2050 has no entry in the workbook's proposed-description list and no row in the workbook's curriculum map — that map covers only the AI-track courses (CSC 2400, 3400, 3500, 4410, 4900, 4950) alongside PHIL 2110, PHIL 3700, and placeholder PHIL and COMM rows — so the PLO coverage above is proposed rather than department-approved and would enter the map at the Introduced (I) level. The revision is also a scope change, not an editorial one: recursion, loop invariants, termination arguments, asymptotic analysis, and test-suite construction appear nowhere in the current catalog description, and in a 3-credit course they are absorbed by reducing the breadth of language-feature and syntax coverage the course now carries and by replacing repetitive implementation drills with specification, review, and verification work. Both the added content and the coverage that is shed require curriculum-committee action. CSC 2050 is the stated prerequisite for CSC 3050, 3070, 3600, 3610, 4400, 4600, and 4950, so those courses should be consulted before any coding coverage is narrowed; CLO 2 deliberately keeps unassisted implementation as graded evidence for that reason. The catalog prerequisite for this course is still printed as "Prerequisites: (CSC 200 or 2000)", carrying the legacy three-digit number alongside CSC 2000 Coding I - Fundamentals.

What changes

  • Specification and decomposition produced before implementation
  • Review and verification of AI-generated implementations
  • Loop invariants, termination, and asymptotic cost applied to AI-drafted code
  • Test-suite construction as the primary correctness artifact
  • Provenance disclosure and accountability for delegated code
Course learning outcomes

6 proposed outcomes, mapped to 7 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 construct a precise written specification and a decomposition into independently verifiable units for an informally stated problem, such that an implementation produced from it — by the student or by an AI coding assistant — can be accepted or rejected on evidence.

Maps to

The written specification and unit boundaries are technical communication that states requirements transparently enough for another party to be held to them (PLO 5.1), and proposing the structure a solution must satisfy, together with the acceptance criteria that will judge it, is the introduced form of the propose-and-evaluate work PLO 4.2 assesses.

2

Students will be able to implement iterative and recursive algorithms in a modern high-level language without the use of an AI coding assistant, satisfying a written specification and evaluating the resulting solution against a machine-generated alternative for correctness and asymptotic cost.

Maps to

The student proposes a hand-written solution and then judges it against an AI-generated alternative on stated correctness and cost criteria, which is the introduced form of the propose-and-evaluate evidence PLO 4.2 assesses.

3

Students will be able to analyze an implementation drafted by an AI coding assistant against its specification by stating loop invariants, arguing termination, and deriving asymptotic time and space cost, identifying incorrect boundary handling, unstated assumptions, and avoidable inefficiency.

Maps to

The derived cost figures, invariants, and termination arguments are the quantitative evidence from which the student draws a conclusion about machine-generated code (PLO 6.2); judging that output on that evidence rather than on its fluency is the critical analysis PLO 4.1 names; and explaining where and why the generated implementation fails or costs more than it should is the interpretation and explanation of AI output in PLO 6.1.

4

Students will be able to construct a test suite, including boundary and adversarial cases, that demonstrates or refutes the correctness of an implementation the student did not write.

Maps to

Designing cases and reading the resulting pass/fail evidence is applied analytical work under PLO 6.2, and the suite is itself an engineered artifact proposed and evaluated for fitness, which is the evaluation half of PLO 4.2.

5

Students will be able to differentiate problems that may responsibly be delegated to an AI coding assistant from those that require hand derivation, justifying each choice against verification cost and the student's own learning goals.

Maps to

Deciding when to delegate and then reviewing whether that choice served the work is the continuous self-assessment of one's own problem-solving approach described in PLO 4.3.

6

Students will be able to articulate, in written documentation and in code review, the provenance of every submitted solution, the evidence on which the student accepts responsibility for it, and why honest attribution of delegated work is a matter of Christian vocation as well as professional integrity.

Maps to

Disclosing what was generated and what was verified is transparent technical communication under PLO 5.1, and stating why honest attribution of machine-generated work is owed is reflection on how Christian values guide the transparency and accountability decisions PLO 1.2 names.

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