AP CSP
AP Computer Science Principles / All lessons / Big Idea 1: Creative Development
1Big Idea 1: Creative Development
AP CSP topic 1.3

Program Design and Development

Programmers follow a development process: investigate the problem, design a plan, build the program, and test it, then repeat. An iterative process cycles through these steps many times, improving the program with each round. An incremental process builds and tests one small piece at a time before adding the next. Programmers write comments and documentation so others, and their future selves, understand the code, and they credit any code they borrow from others.

Program Design and Development vocabulary

  • Iterative development: Repeating the design, build, and test steps to refine a program over many cycles.
  • Incremental development: Building a program in small pieces, testing each piece before adding more.
  • Documentation: Written descriptions of how a program or piece of code works and how to use it.
  • Comment: A note in the code for people to read; the computer ignores it.

AP-style practice questions

Try each one, then open the answer. To save your progress, take this quiz in the interactive course.

Skill: Computational Solution Design

1. A developer builds the login screen of an app, tests it, then adds the profile page and tests it, then adds messaging and tests it. Which of the following best describes this process?

  1. (A) Incremental development
  2. (B) Lossy compression
  3. (C) Parallel computing
  4. (D) Crowdsourcing
Show answer

(A) Incremental development Building and testing one piece at a time is incremental development.

Skill: Computational Solution Design

2. After each round of user testing, a team redesigns parts of its game and tests again, repeating many times. Which of the following describes this process?

  1. (A) Sequential computing
  2. (B) Iterative development
  3. (C) Data abstraction
  4. (D) Binary search
Show answer

(B) Iterative development Cycling through design, build, and test repeatedly is iterative development.

Skill: Abstraction in Program Development

3. Which of the following is the best reason to add comments to a program?

  1. (A) Comments make the program run faster
  2. (B) Comments help people understand what the code does
  3. (C) Comments fix syntax errors
  4. (D) Comments are required for the program to run
Show answer

(B) Comments help people understand what the code does Comments are for people. The computer ignores them.

Skill: Responsible Computing

4. A student uses a sorting procedure written by someone else in their project. Which of the following should the student do?

  1. (A) Claim the procedure as their own work
  2. (B) Give credit to the original author, for example in a comment
  3. (C) Change the variable names so nobody notices
  4. (D) Delete the procedure before submitting
Show answer

(B) Give credit to the original author, for example in a comment Programmers acknowledge code, media, and ideas that came from others.

Open 1.3 in the interactive course