Overview
Course Overview
Welcome to the CSE120 Capstone documentation hub. This site complements (but does not duplicate) the full lab PDFs and submission portals hosted on Canvas. Think of Canvas as the transactional system (submit things, view grades) and this site as the knowledge system (process, expectations, reusable references, examples).
ℹ️ Labs (Planning A–C and Scaffolding) are provided as PDFs on Canvas. Their conceptual goals and deliverables are summarized here so you can quickly orient without re‑opening a PDF every 5 minutes.
Two Phases, One Continuous Workflow
The course runs in two macro phases:
| Phase | Weeks | Focus | Artifacts Produced | Mindset Shift |
|---|---|---|---|---|
| Phase 1 – Planning Labs | 1–6 | Team formation, discovery, architecture, quality foundations | Working Agreement, DoR/DoD, Backlog, Stakeholder Map, ADR seeds, Risk Register, MVP + Roadmap, Test Strategy | From idea ambiguity → structured plan |
| Phase 2 – Implementation Iterations | 6–17 | Build, ship, learn, refine | Iteration Goals, PRs, Releases/Tags, Status Reports, Updated ADRs, Tests, Demo increments | From plan → disciplined delivery |
Planning Lab Summaries (Phase 1)
These map directly to Lab PDFs (names may differ slightly on Canvas). Use them as a checklist reality check.
| Lab | Theme | Core Outcomes | GitHub Evidence |
|---|---|---|---|
| Planning A – Foundation | Team setup & governance | Repo created, Project Board columns, Working Agreement draft, DoR & DoD defined, Initial backlog issues + labels, Issue & PR templates | Repo settings, .github/ templates, Board screenshot, Markdown agreement |
| Planning B – Discovery & Strategy | Understanding users & shape of solution | Stakeholder Map, Refined & prioritized backlog, Initial ADR(s), Risk Register with mitigations | /docs/ (ADR folder), issue ordering, risk doc, diagram(s) |
| Planning C – Roadmap & Testing | Outcome focus & quality strategy | MVP definition, 5‑Iteration roadmap, Test Strategy (levels & tools), Acceptance criteria using Given‑When‑Then | Roadmap doc / issue milestone plan, test strategy markdown, updated issues |
| Scaffolding / Lab 4 | Code + pipeline bootstrap | Tech stack skeleton, CI workflow passes, basic README usage, first ADR refined | Passing CI badge, initial directory structure, ADR update |
Iterations (Phase 2)
Five delivery cycles turn the roadmap into working software. Each iteration: (1) plan, (2) build, (3) integrate, (4) demo, (5) reflect (status report + backlog grooming). See Workflow > Phase 2 for the 10‑step lifecycle.
Learning Objectives (Mapped High‑Level)
| Objective | Where It Emerges |
|---|---|
| Apply a disciplined, iterative software process | All planning labs + each iteration board cycle |
| Practice architectural & design reasoning (ADRs) | Planning B onward (living documents) |
| Team collaboration & role rotation | Working Agreement + role assignments per iteration |
| Technical communication (issues, PRs, reports) | Issue templates, PR reviews, weekly status reports |
| Quality engineering & test strategy execution | Planning C, CI pipelines, definition of Done |
| Risk & scope management | Risk Register + iteration goal trade‑offs |
| Delivering incremental value | Iteration demos & release tags |
High-Level Timeline (Reference)
| Week | Focus Milestone | Key Deliverables (Evidence) |
|---|---|---|
| 1 | Kickoff + Planning A start | Repo, Board, Working Agreement draft |
| 2 | Finish Planning A | DoR/DoD finalized, backlog seeded |
| 3 | Planning B discovery | Stakeholder Map, risk list first pass |
| 4 | Planning B strategy wrap | Prioritized backlog, ADR v1 |
| 5 | Planning C roadmap | MVP + roadmap, test strategy draft |
| 6 | Scaffolding + Iteration 1 planning | CI green, initial code skeleton, iteration goals |
| 7–8 | Iteration 1 delivery | Demo 1, Status Report 1 |
| 9–10 | Iteration 2 | Demo 2, updated ADR(s) |
| 11–12 | Iteration 3 | Mid-course refinement, performance or UX focus |
| 13–14 | Iteration 4 | Hardening, filling feature gaps |
| 15–16 | Iteration 5 | Final feature slice + polish |
| 17 | Finalization | Poster, handoff docs, final demo |
Visual Timeline (Mermaid Gantt)
Adjust actual calendar dates at semester start. Use this as a relative phase visualization.
gantt
title CSE120 Phase & Iteration Timeline (Relative Weeks)
dateFormat YYYY-MM-DD
%% Choose a notional start date (e.g., first Monday of semester)
%% Update `start` below each term; durations (d) reflect weeks.
%% Planning Phase
section Planning Labs
Planning A (Foundation) :a1, 2025-01-06, 14d
Planning B (Discovery/Strategy):a2, after a1, 14d
Planning C (Roadmap & Testing) :a3, after a2, 14d
Scaffolding / Bootstrap :a4, after a3, 7d
section Iterations
Iteration 1 (Build + Demo 1) :i1, after a4, 14d
Iteration 2 (Increment 2) :i2, after i1, 14d
Iteration 3 (Refine / Midpoint):i3, after i2, 14d
Iteration 4 (Hardening) :i4, after i3, 14d
Iteration 5 (Polish & Final) :i5, after i4, 14d
section Finalization
Final Demo + Poster + Handoff :milestone, m1, after i5, 3d
Note: If your academic calendar has breaks (spring break, holidays), insert idle blocks or extend durations accordingly for accuracy.
How to Use This Site
- Start with
Workflowif you’re unsure what to do this week. - Use
Teamworkwhen rotating roles or refining agreements. - Reference
Deliverablesbefore submitting anything graded. - Deepen knowledge via
Conceptswhen blockers are conceptual (e.g., “How do we structure an ADR?”).
Quick Links
- Syllabus — official course policies, grading, textbook
- Schedule — week-by-week calendar for Spring 2026
- Labs Overview — all lab assignments (1–4)
- Design Review — mid-semester presentation milestone
- Midterm Exam — take-home exam details
- Final Deliverables & I2G — end-of-semester submission guide
- Email Etiquette — professional communication guidelines
- Working Agreement essentials →
Teamwork - Iteration lifecycle →
Workflow / Phase 2 - Roadmap & MVP guidance →
Workflow / Phase 1 - Status Report expectations →
Deliverables - PR quality checklist →
Deliverables
If something feels ambiguous, surface it early in your status report or open a "clarification" issue in your team repo.