Schedule¶
This schedule is subject to change with notice — check back periodically. Full syllabus policies are on the Syllabus page.
| Date | Day | Topic | Notes |
|---|---|---|---|
| Aug 27 | Thu | Course introduction and SE overview Syllabus, schedule, project; The software engineering landscape; Software types Slides: Course Introduction · Slides: Study Presentation · |
|
| Sep 1 | Tue | Software properties, processes, and methodologies Software properties; Brief CS/SE history; Adhoc, waterfall, iterative, and agile methodologies Slides: Software Processes & Incremental Change Reading: Brooks, "No Silver Bullet" |
Sprint 0 begins |
| Sep 3 | Thu | Incremental software change Incremental change process; Concept location and impact analysis Slides: Software Processes & Incremental Change Reading: Rajlich & Gosavi (2004), "Incremental Change in OOP" |
|
| Sep 4 | Fri | — | Last day to add/drop |
| Sep 8 | Tue | Software lifespan and the staged model Product and software lifespan; product economics; Traditional vs staged models Slides: Software Processes & Incremental Change Reading: Rajlich (2016), "Software Life Span Models" |
|
| Sep 10 | Thu | Introduction to agentic software engineering AI-assisted SE workflows, tools, prompting; Context, memory, skills, harnesses, hooks; Benefits, limitations, risks; Specification and validation when using AI Slides: Agentic Software Engineering Reading: How Claude Code works Reading: Claude Code best practices Reading: Token saving strategies |
|
| Sep 15 | Tue | Team coordination Roles, responsibilities, and communication ; Team structures. Slides: Team Coordination & Project/Issue Management |
|
| Sep 17 | Thu | Project management Work decomposition, estimation, and milestones; Sprint planning and tracking; Project management tools Slides: Team Coordination & Project/Issue Management |
Sprint 0 ends |
| Sep 22 | Tue | Sprint 0 Lightning Project Talks Project summary: features, architecture, technologies; Team, repository, project onboarding/setup; Initial risks, challenges, and work plan |
Sprint 1 begins |
| Sep 24 | Thu | Issue management Issues, templates, labels; Bug reporting, triage, and assignment Slides: Team Coordination & Project/Issue Management |
|
| Sep 29 | Tue | Requirements engineering Functional and non-functional requirements; Elicitation, specification, and validation; AI-assisted requirements work Slides: Requirements Engineering Reading: Wynne (2015), "Introducing Example Mapping" Reading: Sommerville (2016), "Requirements Engineering," Ch. 4 |
|
| Oct 1 | Thu | Software architecture and design Coupling, cohesion, and interfaces; Architectural styles; Design for change; Reading architecture from an existing codebase |
|
| Oct 6 | Tue | New-tech lightning showcase/demo 1 Tool/technology and SE problem addressed; Short demo or concrete example; Supported SE tasks; Benefits, limitations, and risks; Relevance to the team project |
|
| Oct 8 | Thu | — | Fall break (no class); Sprint 1 ends |
| Oct 13 | Tue | Software testing 1: foundations Test levels and test types; Oracles and limitations; Test quality; Coverage and prioritization |
Sprint 2 begins |
| Oct 15 | Thu | Software testing 2: test design techniques Black-box and white-box testing; Equivalence classes and boundary values; Test doubles; Fuzzing |
|
| Oct 20 | Tue | Sprints 1-2 Lightning project talks Progress and evidence; Technical decisions; Obstacles and course-practice connections; Revised plan |
|
| Oct 22 | Thu | Verification, validation, and analysis tools Code review practices; Static analysis, linting, verification; Dynamic analysis; AI-assisted review/testing limits |
|
| Oct 26 | Mon | — | Last day to withdraw |
| Oct 27 | Tue | Documentation, code understanding, and refactoring Knowledge management inside projects; Code understanding/documentation practices; Code smells and refactoring |
|
| Oct 29 | Thu | Debugging, maintenance, and evolution Debugging techniques; Software maintenance/evolution; Technical debt and software decay; Connecting fixes to incremental change |
Sprint 2 ends |
| Nov 3 | Tue | — | Election day (no class); Sprint 3 begins |
| Nov 5 | Thu | New-tech lightning showcase/demo 2 Tool/technology and SE problem addressed; Short demo or concrete example; Supported SE tasks; Benefits, limitations, and risks; Relevance to the team project |
|
| Nov 10 | Tue | Software quality assurance management Quality attributes and metrics; Tools, teams, and environments; Quality monitoring |
|
| Nov 12 | Thu | Other topics wrap-up: security, licensing, ethics Security as SE responsibility; Licensing and open-source obligations; Ethics: SE and AI-assisted development |
|
| Nov 17 | Tue | TA-led in-class working session Finish outstanding S3 work; Draft S3 sprint report (gather evidence: tests, closed issues, demo material) |
|
| Nov 19 | Thu | TA-led in-class working session Improve/finalize S3 sprint report; General project support |
Sprint 3 ends |
| Nov 24 | Tue | No class (instructor away) Recommended out-of-class work: S4 planning, scope freeze, final presentation outline |
Sprint 4/Final begins |
| Nov 26 | Thu | — | Thanksgiving break (no class) |
| Dec 1 | Tue | Final project presentation: Sprints 3 - 4, part 1 Project outcome and main contributions; Demo of final functionality or technical result; Key design, process, and quality decisions; Evidence: tests, reviews, issues, CI, documentation, etc.; Reflection on AI-assisted development; Lessons learned and future work |
|
| Dec 3 | Thu | Final project presentation: Sprints 3 - 4, part 2 | |
| Dec 4 | Fri | — | Last day of classes |
| Dec 9 | Wed | — | Final exam, 9:00 AM–12:00 PM |
| Dec 15 | Tue | — | Project due, end of day; Sprint 4/Final ends |