Skip to content

How the Course Works

How the Course Works

CSE120 is not a traditional lecture course. You'll work in teams on real software projects with external stakeholders — campus departments, community organizations, and industry partners — using industry-standard tools and workflows.

The Core Philosophy

Software Engineering = Programming + Time + Scale + Trade-offs

You already know how to write code. This course teaches you how to manage code over time, collaborate at scale, and make engineering trade-offs. The shift is from construction to engineering.

Two Phases

Phase Weeks Focus
Phase 1: Planning Labs 1–6 Team formation, requirements discovery, architecture design, toolchain setup
Phase 2: Implementation Iterations 6–17 Five build-and-deliver cycles with demos, reviews, and retrospectives

Weekly Time Commitment

Plan for 6–8 hours per week outside of lecture and lab on: - Reading assignments and skill-building - Team meetings and project work - Deliverable preparation

Key Distinctions

This site is your knowledge base for understanding and succeeding in the course. It complements:

  • CatCourses — where you submit work and view grades (the transactional system)
  • Innovate to Grow (I2G) — the end-of-semester showcase event for project presentations
  • GitHub — where your team's code, issues, and project board live

Adapted from the CSED Lab course design portfolio. See the full pedagogical philosophy and course structure rationale there.