| Section | 1 |
|---|---|
| Instructor(s) | Marques, Andre (andremar) |
| Location | Online |
| Meeting Times | Tuesday 5:30pm - 8:30pm |
| Fulfills | Elective Specialization - Application Development (APP-2) |
Overview
Turn visionaries into builders, dreamers into doers—transform ideas into launched products and services with real users in 10 weeks.
This hands-on course focuses on iterative design and rapid software development, using AI-assisted tools to accelerate the entire process. Students will work individually or in small teams to build, launch, and acquire users for a single project they will work on across the quarter.
Projects can be civic, entrepreneurial, creative, educational, experimental, or social impact-oriented—all ideas are welcome. Students are not required to pursue revenue-generating concepts (but can); the primary focus is on creativity, learning, and meaningful engagement with real users.
Learning Objectives
By the end of this course, students will be able to:
Apply Startup Design & Software Engineering Best Practices
Design & Prototype User Interfaces
Develop & Ship
Use AI to Accelerate Design, Development, & User Acquisition
Course Structure
Weekly format:
Technical + Product Workshop & Discussion
Introduce new technologies for software development, best practices for product scope management, AI usage, and user acquisition strategies.
Hands-On Development Time & One-on-One Support
Students build, iterate, and troubleshoot applications with direct guidance from instructors and TAs. Tasks are prioritized, blockers are addressed, and clear next steps are established for each project.
Progress Share-Outs
Each student or team shares updates, reflects on user feedback, and discusses next steps. Constructive peer feedback is encouraged.
Course Schedule
Iteration 1
📐 Week 1: Prototyping (Design)
🏗️ Week 2 - 4: Implement Core Features (Build)
📦 Week 5: Finish Stable Version (Ship)
Iterations 2 - 6
Week 6 - 9: Weekly Sprints (Design, Build, Ship)
Each week, each student or team will prioritize next steps for weekly deployments.
Week 10:
Include baseline usage data (installs, demos, retention, referrals, feedback) comparison to vision on week 1, how feedback informed product evolution.
Prerequisites
Required
Recommended
Not Required
Technologies & Tools
This class is designed to support student projects regardless of tech stack and external APIs used, however the recommended stack includes:
These tools are recommended due to their modern APIs and low implementation overhead. Students using alternative tech stacks are encouraged to do so but should be comfortable iterating independently, with the instructor offering general support for planning and problem-solving.
AI-based design and development tools may include:
If publishing an app in an app store, students may need to pay a registration fee to Google or Apple.
MPCS Students: Core Programming completed (MPCS 51036, or 51040, or 51042, or 51046, or 51100) or Core Programming Waiver.
Non-MPCS Students: Must have completed CMSC 14200, CAPP 30122 or MACS 30122 or MPCS Programming Placement Exam I.
Course request information for non-MPCS students: https://masters.cs.uchicago.edu/student-resources/non-mpcs-student-course-requests/
Required: Experience in at least one programming language, familiarity with Git, and terminal usage.
Recommended: You’ve built a simple website or app, or completed a course covering basic software engineering principles.
Not Required: Prior design experience; Entrepreneurial experience and/or ambition; AI-assisted design or software development experience.
This course requires competency in Unix and Linux. If you attended the MPCS Unix Bootcamp you covered the required material. If you did not, please review the UChicago CS Student Resource Guide here: https://uchicago-cs.github.io/student-resource-guide/.
This class is scheduled at a time that conflicts with these other classes: