Creative Development: Design, Collaboration, and Program Purpose
What this big idea asks you to know
Big Idea 1 is about how programs get made, not just what they compute. You should be able to describe an iterative development process (investigate, design, prototype, test, refine), explain how collaboration and user feedback shape a program, and identify how a program's purpose and audience drive design choices. Know the difference between a program's function (what it does) and its purpose (why it exists for a user). Be comfortable reading pseudocode or a short program description and explaining how a specific feature serves the stated purpose.
Concepts to master
- Iterative design: requirements change as you learn; testing informs the next version.
- Incremental development: build a small working piece, verify it, then extend.
- Collaboration: pair programming, code comments, documentation, version control, dividing work.
- Program inputs/outputs and how they connect to user needs.
- Debugging as a normal part of development, not a sign of failure.
Traps to watch for
Questions often reward the most specific answer tied to the scenario. Vague claims like "it makes the program better" are usually wrong. Watch for options that confuse testing with debugging, or that describe a design choice with no link to the stated purpose. Another trap: assuming more features always mean a better program - scope creep can hurt usability.
Rule of thumb
For any scenario, ask: What user need is stated, and which concrete step addresses it? Choose the answer that names an observable action (test with users, add input validation, revise the interface) over a general statement.
Worked example: A team builds a study-timer app; users report forgetting to start it. The best next step is to prototype an automatic-start reminder, test it with users, and refine - not to add unrelated features.