Topic 1.3: Program Design and Development | AP CSP Big Idea 1 | APCSExamPrep.com

AP CSP Course Big Idea 1 1.3 Program Design and Development
1.3
Big Idea 1 • Creative Development

Program Design and Development

🕐 ~20 min FREE 📖 4 MCQ practice questions 🎮 1 interactive game CRD-2.E • CRD-2.F • CRD-2.G • CRD-2.H

After this lesson, you will be able to:

  • Describe the iterative design process and explain why programs are rarely built linearly
  • Explain the role of user investigation in program requirements
  • Distinguish between program documentation and comments, and explain their purposes
  • Apply attribution requirements when using code from other sources
📈 Exam weight: Topic 1.3 contributes to the 10–13% of Big Idea 1 exam questions. Iterative design and documentation appear frequently in MCQ and are directly tested in the Create Performance Task written response.
💡 Think about this first

The first version of Instagram had no filters, no direct messages, and no video. It launched, got feedback, and iterated. The thousandth version is what people use today. Almost no successful program was designed completely before a single line of code was written. The AP exam — and the Create Task — tests whether you understand why that's not just acceptable, but the right way to build software.

The Iterative Design Process

The College Board defines the development of computing innovations as an iterative process — one that incorporates implementation and feedback cycles, leaves room for experimentation, and is focused on the needs of the user. This is not a shortcut; it's the professional standard.

An iterative process looks something like this:

  1. Investigate — understand the problem, the users, and the constraints
  2. Design — plan a solution (brainstorm, storyboard, outline modules)
  3. Implement — build a version of the solution
  4. Test — run the program and evaluate whether it meets requirements
  5. Refine — use test results and feedback to improve
  6. Repeat — cycle back to any earlier stage based on what you learn

The key insight is that steps don't happen in strict order and each cycle produces a better product. A developer might finish implementing step 3, discover through testing that the original design was wrong, and loop back to redesign before implementing again.

🎯 Exam tip

The AP exam often presents a scenario where a developer gets feedback during testing and needs to revise. The correct answer almost always involves going back to an earlier phase — not pushing forward with a flawed design. Iteration is the expected behavior, not a failure.

Investigating User Needs

Before writing any code, effective developers investigate the people who will use their program. The CED identifies several investigation methods:

  • Surveys — collecting data from many potential users at scale
  • User testing — having real users try a prototype and observing what happens
  • Interviews — in-depth conversations with potential users
  • Direct observations — watching how people currently solve the problem the program will address

This investigation drives program requirements — a description of how a program should function and what user interactions it must provide. A specification is a formal document that defines these requirements. The design phase then outlines how to achieve that specification.

Design deliverables might include: brainstorming notes, wireframes or storyboards of the user interface, module diagrams showing how the program is organized, and a testing strategy.

Documentation and Comments

As programs are built, they accumulate complexity. Program documentation is how developers communicate the purpose and function of that complexity to future readers — including their future selves.

Documentation is a written description of what a code segment, event, procedure, or program does and how it was developed. Good documentation:

  • Is written throughout development, not just at the end
  • Helps new collaborators understand existing code quickly
  • Makes maintenance and debugging faster
  • Is required even when working alone

Comments are one specific form of documentation — text written directly into code that describes what the code does. The most important fact about comments for the AP exam:

⚠ High-frequency exam fact

Comments do NOT affect how a program runs. They exist only for human readers. A program with comments and the same program without comments produce identical output. This appears on the AP exam as a direct factual question.

Note that not all programming environments support comments, so other documentation methods may be required in some contexts.

Attribution: Crediting Code from Other Sources

Using code written by others is common and acceptable — but it must be acknowledged. When a program includes code written by someone else (from an open-source library, a collaborator, an online resource), the documentation must acknowledge the original source, including the origin or author's name.

This is a directly tested requirement in the Create Task. If your CPT program includes any code from outside sources, your documentation must credit them.

Key Vocabulary

Term AP Definition Plain English
Iterative process A repeated cycle of design, implementation, testing, and refinement Build, test, improve, repeat — not plan everything then build once
Program requirements A description of how a program should function and what user interactions it must support The spec for what the program needs to do before you build it
Specification A formal document defining the requirements for a program The official list of what the program must do
Program documentation A written description of code segments, events, procedures, or programs and how they were developed Human-readable explanations of what the code does and why
Comments Documentation written into the program that does not affect execution Notes in the code for humans — the program ignores them entirely
Attribution Acknowledgment of code written by someone else, including the original author's name Crediting your sources in code, just like a bibliography
📋 Create Task connection

The concepts in this topic connect directly to your Create Performance Task. Understanding program purpose, iterative design, and how to identify errors will help you write stronger CPT responses. See the Create Task module →

🅾
MCQ Practice
4 questions • AP exam difficulty • Instant feedback
Question 1 of 4
A student is building a fitness app. After testing the first version with five classmates, she receives feedback that the interface is confusing and users can't find the calorie tracking feature. According to iterative design principles, what should she do next?
Incorrect. Releasing a version with known usability issues before fixing them contradicts the iterative process, which uses feedback to improve before advancing.
Incorrect. The feedback points to a specific solvable problem, not a fundamental flaw with the concept. Iteration means refining, not abandoning.
Correct. This is textbook iterative design: use testing feedback to identify a problem, return to the design phase, implement an improvement, and test again. Each cycle produces a better product.
Incorrect. Adding features before fixing a known usability problem would make the app harder to use, not better. Iteration prioritizes fixing discovered issues over adding complexity.
Question 2 of 4
A developer adds the following line to her Python program: # This function calculates the average of a list of scores. Which of the following is true about this line?
Incorrect. Comments are not displayed as output when a program runs. They are stripped out during execution and produce no output.
Incorrect. Comments do not affect performance. The computer ignores them entirely during execution — they add zero processing overhead.
Correct. This is a directly tested AP CSP fact: comments do NOT affect how a program runs. They exist exclusively for human readers and are ignored by the computer.
Incorrect. Comments have no relationship to function names or program structure. A comment is invisible to the programming language interpreter.
Question 3 of 4
A student is building a website and uses a JavaScript function she found in an open-source library. She modifies it slightly for her project. Which of the following correctly describes her documentation obligation?
Incorrect. Modifying code from another source does not remove the attribution requirement. The original source must still be acknowledged.
Incorrect. Rewriting is not required. Using others' code with proper attribution is standard practice and entirely acceptable.
Correct. The CED requires acknowledgment of code from other sources in program documentation, including the origin or original author's name. Modification does not remove this requirement.
Incorrect. Attribution covers the full function, not just the modifications. The original source must be credited regardless of how much was changed.
Question 4 of 4
Which of the following activities would BEST help a developer understand the requirements for a new medical appointment scheduling app before writing any code?

I. Interviewing patients and receptionists about their current scheduling process
II. Observing how appointments are currently booked at a medical office
III. Immediately coding a prototype based on the developer's own assumptions
Incorrect. Building immediately on assumptions is exactly what the investigation phase is designed to prevent. Assumptions without investigation produce software that misses user needs.
Partially correct but incomplete. Interviews are an excellent investigation method, but direct observation (II) also appears in the CED as a valid investigation technique and provides complementary insights.
Correct. Interviews (I) and direct observations (II) are both CED-recognized investigation methods. Together they provide both stated needs (what people say) and real behavior (what people actually do) — which often differ. Statement III contradicts investigation principles.
Incorrect. Statement III (building immediately on assumptions) contradicts the purpose of investigation. Including it as correct would mean skipping the investigation phase entirely.
🎮 Lesson Game
Design Decision Classifier
Each scenario describes a development activity. Identify which concept from Topic 1.3 it demonstrates.
0
Score
1
Question
6
Total
0
Streak 🔥
Scenario 1 of 6

Loading...

out of 6

Frequently Asked Questions

Iterative design is the cycle of design → implement → test → refine, repeated until the program meets requirements. It matters for the exam because it appears in MCQ questions about development decisions, and it's the underlying process the Create Task expects you to demonstrate. When a question asks what a developer should do after discovering a bug during testing, 'revise and re-test' is almost always correct.
No — this is a directly tested fact. Comments are written for human readers and have zero effect on how a program runs. A program with detailed comments produces identical output to the same program with all comments removed. Expect 1–2 MCQs testing this directly.
The CED lists four: surveys (collecting data from many users), user testing (having real users try a prototype), interviews (in-depth conversations with potential users), and direct observations (watching how people currently solve the problem). Exam questions may ask which method is most appropriate for a given scenario.
If your CPT program includes any code written by someone else — from a library, online resource, or collaborator — your program documentation must acknowledge the original source, including the author's name or the origin. Failing to attribute borrowed code is a common CPT error.
A specification defines what a program must do before it's built — it's the requirements document. Documentation describes what code does and how it was developed, written during and after development. Both are important but serve different phases of the development process.
📦
AP CSP Teacher Superpack Slides, lesson plans, tests + answer keys for all 5 Big Ideas — $249
Get the Superpack →
🏫
For teachers

The Superpack includes a full lesson plan for this topic with day-by-day pacing, editable slides, student guided notes, and a unit test with answer key covering all of Big Idea 1. View what's included →

Get in Touch

Whether you're a student, parent, or teacher — I'd love to hear from you.

Just want free AP CS resources?

Enter your email below and check the subscribe box — no message needed. Students get daily practice questions and study tips. Teachers get curriculum resources and teaching strategies.

Typically responds within 24 hours

Message Sent!

Thanks for reaching out. I'll get back to you within 24 hours.

🏫 Welcome, fellow educator!

I offer curriculum resources, practice materials, and study guides designed for AP CS teachers. Let me know what you're looking for — whether it's classroom materials, a guest speaker, or Teachers Pay Teachers resources.

Email

[email protected]

📚

Courses

AP CSA, CSP, & Cybersecurity

Response Time

Within 24 hours

Prefer email? Reach me directly at [email protected]