AP Computer Science Principles 50 Flashcards Beginner 100% Free

AP Computer Science Principles:: Creative Development

Created by Chat Robotics Community  ·  Updated 2026-08-31

Curriculum Overview

Comprehensive, high-yield AP Computer Science Principles study deck focusing on Creative Development. Features 50 rigorous, curriculum-aligned flashcards designed for beginner-level mastery. Core concepts covered include Creative Development, key problem-solving heuristics, foundational formulas, and exam-tested application scenarios. Ideal for active recall review, spaced repetition study, and scoring in the top percentile.

Topics & Key Concepts

APIs This ERROR LOGIC SYNTAX Science Testing Building Comments Computer

Sample Flashcard Questions & Answers

Showing 8 of 50 cards
Question #1 Active Recall

What is INCREMENTAL DEVELOPMENT in the context of creating a computer program?

- **A)** Deleting and rewriting the entire program from scratch every time a bug is found
- **B)** A synonym for debugging
- **C)** Building a program in small, manageable pieces, testing each piece as it's added, rather than writing the entire program at once and testing it only at the very end
- **D)** Writing the complete, finished program in a single sitting with no intermediate testing

Answer & Explanation:
**Answer: C)**

Incremental development reduces risk and makes it far easier to isolate where a bug was introduced, since each small addition is verified before the next one is built on top of it.
Question #2 Active Recall

What is ITERATIVE DEVELOPMENT, and how does it relate to incremental development?

- **A)** A technique that only applies to hardware, never software
- **B)** A development process that repeatedly REVISITS and REFINES earlier parts of a program based on testing, feedback, or new requirements -- often used together with incremental development, since each new increment may reveal the need to revise something built earlier
- **C)** A synonym for writing a design document
- **D)** A process where a program is written exactly once and never revisited under any circumstances

Answer & Explanation:
**Answer: B)**

Iterative development embraces the reality that early design decisions often need refinement as a program grows and as testing/feedback reveal new requirements or issues.
Question #3 Active Recall

Why do most real-world programs get developed using BOTH incremental AND iterative development, rather than being planned out completely and written in one single pass?

- **A)** It is extremely difficult to anticipate every requirement and design detail in advance; building and testing in small steps (incremental) while revising earlier decisions as needed (iterative) helps catch problems early and adapt to new information
- **B)** Incremental and iterative development are only used for very small, trivial programs
- **C)** These approaches are required by law for all commercial software
- **D)** Planning a program completely in advance always produces a perfect program with no possible improvements

Answer & Explanation:
**Answer: A)**

This reflects a core software-engineering reality: requirements and designs are rarely perfectly known upfront, so building and refining in small steps is far more practical than a single monolithic effort.
Question #4 Active Recall

What is a key benefit of COLLABORATION when developing a computer program, such as working in a pair or team?

- **A)** Working with others always guarantees a bug-free program
- **B)** Collaboration eliminates the need for any testing at all
- **C)** Different team members can catch each other's mistakes, contribute different perspectives and skills, and divide the work to make progress faster than working alone
- **D)** Collaboration always makes a program run faster on the computer

Answer & Explanation:
**Answer: C)**

Collaboration brings diverse perspectives, shared error-catching, and the ability to divide work -- practical human benefits, not something that directly affects the compiled program's runtime performance.
Question #5 Active Recall

What is PAIR PROGRAMMING?

- **A)** A method for writing programs that requires no testing
- **B)** A synonym for iterative development
- **C)** A collaborative technique where two programmers work together at one workstation -- one writing code (the 'driver') while the other reviews each line and thinks ahead (the 'navigator'), often switching roles periodically
- **D)** A technique where two completely separate, unrelated programs are written by two different companies

Answer & Explanation:
**Answer: C)**

Pair programming is a specific, well-known collaborative practice with defined roles (driver/navigator) meant to improve code quality through continuous real-time review.
Question #6 Active Recall

Why might a PROGRAM DESIGN document (planning what a program should do BEFORE writing code) be useful, even before a single line of code is written?

- **A)** It helps clarify the program's PURPOSE, intended USERS, and required FUNCTIONALITY in advance, making it easier for a team (or an individual working over time) to stay aligned and avoid wasted effort building the wrong thing
- **B)** Design documents are purely decorative and have no practical effect on how a program gets built
- **C)** Design documents are only useful after a program is completely finished
- **D)** A design document guarantees the resulting program will have zero bugs

Answer & Explanation:
**Answer: A)**

Planning a program's purpose and requirements before coding helps prevent wasted effort and miscommunication, especially in team settings.
Question #7 Active Recall

What does it mean to identify the INTENDED USERS of a program during the design/planning phase?

- **A)** Identifying which company will eventually purchase the finished software
- **B)** This step is unnecessary and never affects how a program should be designed
- **C)** Intended users can only be identified after the program is completely finished
- **D)** Determining WHO will actually use the program (e.g., children, professionals, people with visual impairments) so that its features, interface, and functionality can be designed to genuinely meet their needs

Answer & Explanation:
**Answer: D)**

Understanding the intended audience shapes real design decisions -- e.g., a program for young children versus one for data scientists would look and function very differently.
Question #8 Active Recall

What is the purpose of TESTING a program during development?

- **A)** Testing is only necessary after a program has already been released to actual users
- **B)** To systematically check whether the program behaves correctly -- including for a variety of typical AND edge-case inputs -- in order to find bugs before the program is considered finished or released
- **C)** Testing guarantees that a program is 100% free of bugs once complete
- **D)** Testing is the same thing as writing documentation

Answer & Explanation:
**Answer: B)**

Testing is how bugs get discovered before real users encounter them, though even thorough testing cannot mathematically guarantee a program is entirely bug-free.

Want to study all 50 flashcards with spaced repetition?

Practice with Anki-style scheduling, Hands-Free audio commute mode, and AI Tutor explanations.

Start Studying Full Deck Now

How You Can Study This Deck on Chat Robotics

Anki Spaced Repetition (SRS)

Algorithms schedule review intervals automatically so you retain 90%+ in minimum study time.

Hands-Free Audio Commute Mode

High-fidelity Neural Text-To-Speech reads questions and answers aloud with customizable delay timers.

Built-in AI Tutor Assistant

Stuck on a tricky concept? Click "Ask AI" on any card to receive instant deep-dive step-by-step explanations.

Subdeck & Tag Organization

Organize and filter by topic tags or drill entire subdeck hierarchies sequentially in Subdeck Scheduler.