SENG 365 Project Assignments

Author
Affiliation

Neil Ernst

University of Victoria

Published

October 5, 2026

Overview

The project is a sequence of six tightly scoped assignments. Teams choose one of two instructor-scoped model problems. The focus is on design reasoning rather than product building.

Each assignment produces a small, specific artifact. Together, the artifacts show that your team can specify a problem, make design choices, test those choices, use AI critically, and deploy a modest working slice while retaining a clear mental model of the system.

AI Levels

The assignment schedule names an AI level for each submission. The levels describe how much responsibility AI may take in producing the work; they do not transfer responsibility for the result away from the team.

For Levels C-E, your submission must include ai-log.md and any associated AI prompt interaction files (how to capture these will be explained in class).

Assignment Sequence

Assignment Focus AI level Output
A1 Requirements specification A A scoped requirements packet
A2 System design A A design packet with alternatives and decisions
A3 Tested prototype slice D A working vertical slice with tests and a short explanation
A4 AI-assisted requirements revision C A critique and revised requirements for a change request
A5 AI-assisted design revision D A design revision with alternatives, risks, and prompts
A6 Tested and deployed prototype E A deployed version, test evidence, and final reflection

Common Submission Rules

Every assignment submission must be in the team Gitlab repository. Unless an assignment says otherwise, use Markdown for written work.

Required repository structure:

docs/
  a1-requirements.md
  a2-design.md
  a3-retrospective.md
  a4-requirements-revision.md
  a5-design-revision.md
  a6-final-reflection.md
  ai-log.md
src/
test/
README.md

Each written assignment should be concise. The expected length is 800-1200 words unless a template says otherwise.

A1: Requirements Specification

Purpose: Turn the underspecified model problem into a precise, bounded specification.

AI level: Level A.

Submit: docs/a1-requirements.md.

Required sections:

Section Required content
Problem boundary What the system will and will not do. Include exactly three explicit out-of-scope items.
Stakeholders Exactly three stakeholder roles, each with one goal and one concern.
User stories Six user stories in the form As a … I want … so that …: four functional stories, one error/edge-case story, and one administrative or operational story.
Acceptance criteria Two acceptance criteria for each user story. Use testable language.
Quality attributes Two quality attributes with fit criteria
Domain model A glossary of 8-12 domain terms or a small entity diagram with a short explanation.
Open questions Three unresolved questions that would affect design.

A good A1 is clear enough that another team could design from it without interviewing you.

Your user stories and QA with AC/fit criteria must also be in the Gitlab issue tracker.

A2: System Design

Purpose: Make design choices before implementation and explain the tradeoffs.

AI level: Level A.

Submit: docs/a2-design.md and any diagram source files under docs/diagrams/.

Required sections:

Section Required content
Design goal One paragraph connecting the design to the A1 quality attributes.
Static structure One class or component diagram showing the main responsibilities and dependencies.
Dynamic behaviour One state or sequence diagram for the most important user story.
Alternatives Two design alternatives you considered and rejected. Each must name the tradeoff.
Decisions Three short ADR-style decisions: context, decision, consequence.
Risks Two or three riskiest design decisions and how you would detect that an assumption was wrong.
Interfaces The important interfaces between components, including data shapes or API contracts where applicable.
Test strategy Six planned tests: four unit tests and two integration or workflow tests.
Implementation slice The smallest vertical slice you will implement in A3.
A3 prompt set The prompts or prompting strategy you plan to use to direct AI during implementation.

The design must fit the starter repository. Do not choose a new framework unless the assignment explicitly permits it.

A3: Tested Prototype Slice

Purpose: Implement one small vertical slice and verify it.

AI level: Level D. You can use AI to assist you in small portions of the work, for example, in aiding with debugging, explaining concepts, suggesting improvements to the code. Things like “which tests are needed”, “what does this endpoint return” should be your work.

Submit: Code, tests, README.md, docs/ai-log.md, and docs/a3-retrospective.md.

Required evidence:

Evidence Requirement
Working slice One end-to-end behaviour from A1/A2 works in the starter app.
Tests At least four meaningful unit tests and one workflow/integration test.
Reproducibility README.md includes exact commands to build, run, and test.
Traceability The retrospective maps implemented behaviour back to A1 user stories and A2 design decisions.
AI prediction Before implementation, record at least two likely AI mistakes or omissions and compare them with what actually happened.
Human repair Explain one generated defect, its root cause, and the smallest justified repair made without regenerating the whole solution.
AI accountability docs/ai-log.md documents prompts, generated output, accepted changes, rejected changes, and human repairs.

Do not build unrelated features. A smaller slice that is tested and explainable scores better than a broad prototype the team cannot defend.

A4/5: AI-Assisted Design and Requirements Revision

Purpose: Use AI to pressure-test requirements and design, without surrendering judgement. Then revise the design for the A4 change request and compare AI-generated alternatives.

AI level: Level C.

Submit: docs/a4-requirements-revision.md, docs/a5-design-revision.md, updated diagrams, and updated docs/ai-log.md.

The instructor provides a change request or new stakeholder constraint. Your submission must include:

A4 Section Required content
AI critique setup The prompt or prompt summary used to ask AI to critique A1.
Critique table At least six AI suggestions marked as accepted, rejected, or revised.
Revised scope The updated problem boundary, including any new out-of-scope item.
Revised requirements Three changed or new user stories with acceptance criteria.
Impact note One paragraph explaining how the revision affects the existing A2 design and A3 code.
A5 Section Required content
Design delta What changes from A2 and what stays stable.
AI alternatives Two AI-suggested design alternatives, summarized fairly.
Human decision The chosen design and why it is better for this project context.
Updated diagram One updated class, component, state, or sequence diagram.
Risk register Three risks: one design risk, one testing risk, and one deployment risk.
Claim verification Verify at least one consequential AI-generated claim or assumption against authoritative documentation, recording the evidence and any correction.
A6 implementation plan The smallest set of changes needed for the final prototype.

The grading focus is the quality of comparison and justification, not whether the AI suggestion sounded sophisticated.

A6: Tested and Deployed Prototype

Purpose: Complete the revised prototype, deploy it, and demonstrate that the team understands it.

AI level: Level E.

Submit: Code, deployed URL, test evidence, docs/a6-final-reflection.md, and updated docs/ai-log.md.

Required evidence:

Evidence Requirement
Revised behaviour The A4 change request is implemented in the prototype.
Test suite At least six meaningful unit tests and two workflow/integration tests pass, including end-to-end coverage of at least three user flows.
Human repair Explain one generated defect, its root cause, and the smallest justified repair made without regenerating the whole solution.
Deployment The app is deployed through an approved path. GitLab CI/CD should be used where practical.
Smoke test One documented test against the deployed URL.
Operational note One paragraph on configuration, secrets, logs, or rollback.
Final reflection A comparison of manual design work and AI-assisted work, with one concrete example of AI help and one concrete example of AI risk.

The required deployment goal is a reproducible, inspectable, modest system, not production-scale infrastructure.

Grading and Debrief

The default project grading breakdown is:

Assignment Weight
A1 3.75%
A2 3.75%
A3 3.75%
A4 3.75%
A5 3.75%
A6 3.75%
Debrief and peer-review participation 7.5%
Total 30%

Each assignment may include a short debrief or targeted TA questions. Debrief questions focus on:

  • Why did you make this decision?
  • What change does your design handle well?
  • What change would still be expensive?
  • Where did AI help, mislead, or hide complexity?
  • Which part of the system can each partner explain independently?

Because AI can generate plausible code and documents quickly, grades are based on decision quality, evidence, verification, and demonstrated understanding.

AI Transparency Requirements

For Levels C-E, docs/ai-log.md must include:

Item What to document
Prompt or task What you asked AI to do.
AI output What the AI produced, summarized or excerpted.
Evaluation What you accepted, rejected, or revised.
Reason Why the team made that decision.
Verification How the team checked the result.