What it covers: How programs are created to serve a purpose — collaboration, program function and purpose, the iterative development process, and identifying and correcting errors.
Exam weight: Big Idea 1 is about 10–13% of the AP CSP multiple-choice exam.
The big question: How do people collaborate to design, build, document, and debug programs that serve a purpose?
Computational thinking practices: Computational Solution Design, Algorithms & Program Development, Abstraction, Code Analysis, Computing Innovations, and Responsible Computing.
Key topics at a glance
Program Function & Purpose
Function = what the program does (its behavior). Purpose = why it was made and who it serves. Describe both when explaining a program.
Inputs & Outputs
Input: data received while running (user, device, sensor, file, another program). Output: data produced (visual, audible, tactile, text). Programs can be event-driven.
Collaboration
Diverse perspectives make programs better and more inclusive and catch errors. Effective collaboration needs communication, consensus, and shared responsibility.
Iterative Development
A repeating cycle: investigate & reflect → design → prototype → test. Use feedback each pass. Incremental: build and test small pieces.
Requirements & Prototypes
Requirements describe what the program must do. A prototype is an early version used to test ideas and gather feedback before finishing.
Documentation
Comments are notes ignored by the computer that explain code to people. Good documentation aids collaboration, maintenance, and debugging.
Types of Errors
Logic: runs but wrong output. Syntax: breaks the rules, won't run. Run-time: fails while running (e.g., divide by zero). Overflow: value too large for the bits available.
Debugging & Testing
Debugging = finding and fixing errors. Testing = running with varied inputs (and edge cases). Use test cases, hand-tracing, and display statements.
The key terms you must know
Program — statements that together perform a task when run.
Function vs. purpose — what a program does vs. why it exists and who it serves.
Input / output — data received while running vs. data produced.
Event-driven program — actions run in response to events (clicks, keys, sensors).
Collaboration — teamwork with diverse perspectives that improves programs.