Curriculum / DescriptionsCOMP_SCI 392: Rapid Prototyping for Software Innovation
VIEW ALL COURSE TIMES AND SESSIONS
Prerequisites
(COMP_SCI 208 or 214) or At least a year of programming including experience with JavaScriptDescription
The goal of this course is to provide an opportunity to learn the technical and critical reasoning skills need to rapidly and iteratively develop innovative full-stack mobile / web software applications.
- This course satisfies Software Development Breadth or Project area.
In particular, this course will focus on how rapid code development is supported by
- modern open-source frameworks, such as React,
- cloud services, such as Firebase,
- development IDEs, such as Visual Studio Code,
- collaborative source control tools, such as Github, and
- generative AI coding with agentic harnesses.
value-early development and user testing is supported by
- agile's focus on continuous retrospective process improvement
- Kanban's focus on continuous flow
- lean startup's emphasis on value-driven hypothesis testing
INSTRUCTOR: Prof. Chris Riesbeck
FORMAT: There will be three projects: one 2-week warmup project, defined by the instructor, and two 4-week projects defined by the teams. Each project will have two in-class demonstrations: one after the first week, to show an initial slice of testable value, and one at the end of the project, to demonstrate the final state of the project.
The course class meetings will have some lectures, but be primarily in-class activities, setting, tracking, and analyzing team and product development goals. Attendance is tracked.
Teams will maintain code repositories on Github under an organization created for the class, to support weekly review of every team member's contributions to the code base.
There will be four cycles of self and team reviews, where team members assess each other's contributions to the team's development.
GRADING: Is based on participation and contribution to the project and team development, as evidenced by
- code contributions in Github
- self and team reviews
- attendance and participation in in-class activities and agile coaching sessions
- participation in the Piazza forum
TOPICS: Rapid iterative web and mobile app prototype development:
- Multi-platform rapid prototype with React
- Data evolution with key-value databases: Firebase, Firestore
- Feature-driven source control branching: Github
Lean agile development
- user stories and task boards
- iteration planning and tracking (burndown, burnup)
- retrospective-based continuous improvement
- Kanban WIP, cumulative flow
READINGS: Online tutorials for technical frameworks, e.g., React, Firebase, TypeScript, Git and Github.
For more information, see the COMP_SCI 392 course web site.
