PrepGo

AP Computer Science Principles Practice Quiz: Program Design and Development

Written by AP Content Team, Verified for 2026 AP Exams, Last updated: July 2026

Test your understanding with short quizzes. This quiz has 16 questions to check your progress.

Question 1 of 16

A software development team builds a basic version of a new application. They provide this version to a group of users, collect feedback on its features and usability, and then use this feedback to revise and enhance the application. This process is repeated several times. Which development process is best illustrated by this scenario?

All Questions (16)

A software development team builds a basic version of a new application. They provide this version to a group of users, collect feedback on its features and usability, and then use this feedback to revise and enhance the application. This process is repeated several times. Which development process is best illustrated by this scenario?

A) Incremental

B) Iterative

C) Exploratory

D) Ordered

Correct Answer: B

This scenario describes an iterative development process, which, according to the content, 'requires refinement and revision based on feedback, testing, or reflection throughout the process.' The cycle of building, getting feedback, and revising is the core of an iterative approach.

According to the provided text, what is the primary purpose of program documentation?

A) To make the program run faster and more efficiently.

B) To provide a written description of a program's function and development, aiding in maintenance and collaboration.

C) To automatically detect and fix errors in the code.

D) To satisfy legal requirements for software distribution.

Correct Answer: B

The content states that 'Program documentation is a written description of the function of a code segment... or program and how it was developed' and that it 'helps in developing and maintaining correct programs when working individually or in collaborative programming environments.'

A programmer is developing an educational app for young children. To better understand the needs of the users, the programmer observes children interacting with similar apps. This activity is part of which phase of the development process?

A) Testing

B) Prototyping

C) Designing

D) Investigating and reflecting

Correct Answer: D

The content lists 'direct observations' as a way investigation can be performed. The purpose of investigation is 'understanding and identifying the program constraints, as well as the concerns and interests of the people who will use the program.'

A student finds a useful code segment on a public programming forum and incorporates it into their school project. What is the most appropriate action for the student to take?

A) Slightly modify the code to claim it as their own original work.

B) Use the code without any changes or acknowledgement, as it was publicly available.

C) Acknowledge the original author or source within the program documentation.

D) Delete the code and try to write a less effective version from scratch.

Correct Answer: C

The content explicitly states, 'It is important to acknowledge any code segments that were developed collaboratively or by another source.' It further clarifies that this acknowledgement can be in the program documentation and should include the origin or author's name.

A development team is building a large e-commerce website. They first build and perfect the user registration and login system. Once that is fully functional, they build the product browsing module and add it to the working system. Next, they build the shopping cart feature. This approach is an example of which development process?

A) Iterative

B) Reflective

C) Incremental

D) Exploratory

Correct Answer: C

This is an example of an incremental process, which 'breaks the problem into smaller pieces and makes sure each piece works before adding it to the whole.' The team is building and integrating one functional piece at a time.

Which of the following activities is LEAST likely to occur during the design phase of a development process?

A) Creating diagrams that represent the layouts of the user interface.

B) Organizing the program into modules and functional components.

C) Conducting interviews and surveys to identify user needs.

D) Developing a strategy for testing the program.

Correct Answer: C

Conducting interviews and surveys is part of the investigation phase, used to determine program requirements. The other options—UI diagrams, modular organization, and testing strategy—are all explicitly listed as activities within the design phase.

What is the relationship between program requirements and a program's specification?

A) They are unrelated concepts in program development.

B) A program's specification defines the requirements for the program.

C) The requirements describe the hardware, while the specification describes the software.

D) A program's requirements are created after the specification is written.

Correct Answer: B

The content directly states, 'A program’s specification defines the requirements for the program.' This indicates that the specification is the formal document or plan that outlines the requirements.

A programmer adds the following line to their code: `// This function calculates the user's final score by averaging their last three attempts.` How would this line be best described?

A) A program requirement

B) A command that is executed when the program runs

C) A form of program documentation known as a comment

D) A part of the program's user interface

Correct Answer: C

The content defines comments as 'a form of program documentation written into the program to be read by people' that 'do not affect how a program runs.' This line serves as an explanation for human readers and is not executed by the computer.

During the testing phase, a developer discovers a major flaw. The program does not meet a key user need that was identified early on. In a development process that is iterative, what is the most appropriate next step?

A) Continue testing the rest of the program and fix the flaw later.

B) Immediately release the program and patch the flaw in a future update.

C) Discard the entire project and start over from scratch.

D) Revisit an earlier phase, such as design, to re-evaluate how to meet the user need.

Correct Answer: D

An iterative process 'requires refinement and revision based on feedback, testing, or reflection' and 'may require revisiting earlier phases of the process.' Discovering a major flaw that misinterprets user needs necessitates going back to an earlier phase like design or even investigation to correct the fundamental problem.

Which statement best distinguishes the 'investigation' phase from the 'design' phase?

A) Investigation involves writing code, while design involves testing code.

B) Investigation focuses on what the program must do, while design focuses on how the program will do it.

C) Investigation is only performed in an incremental process, while design is only performed in an iterative process.

D) Investigation creates the final user interface, while design writes the program documentation.

Correct Answer: B

The investigation phase is used to determine program requirements (what the program must do). The content states that the design phase 'outlines how to accomplish a given program specification.' This shows the distinction between defining the problem (investigation) and planning the solution (design).

Which of the following is NOT listed as a common phase in a development process?

A) Investigating and reflecting

B) Designing

C) Marketing and sales

D) Testing

Correct Answer: C

The content explicitly lists 'investigating and reflecting, designing, prototyping, testing' as commonly used phases. Marketing and sales are business activities, not part of the technical program development process described.

A team of programmers is working together on a single, large program. Why is it particularly important for them to document their code throughout development?

A) Because not all programming environments support comments.

B) To help in developing and maintaining a correct program in a collaborative environment.

C) Because documentation is required to compile the program.

D) To ensure each programmer receives individual credit for their work.

Correct Answer: B

The content states that 'Program documentation helps in developing and maintaining correct programs when working individually or in collaborative programming environments.' In a team setting, documentation is crucial for members to understand each other's code.

According to the provided text, a development process can be described as:

A) Strictly ordered and intentional, never exploratory.

B) Only exploratory in nature, never ordered.

C) Either ordered and intentional or exploratory in nature.

D) A single, universally accepted standard procedure.

Correct Answer: C

The content directly states that 'A development process can be ordered and intentional, or exploratory in nature.' This indicates that there is flexibility and multiple approaches are possible.

A program's requirements state that users must be able to log in with a username and password. During which phase is a developer most likely to create a storyboard or diagram showing the layout of the login screen, text fields, and buttons?

A) Investigation

B) Testing

C) Design

D) Prototyping

Correct Answer: C

The content specifies that the design phase 'may include... creation of diagrams that represent the layouts of the user interface.' A storyboard or diagram of the login screen fits this description perfectly, as it outlines how to accomplish the login requirement.

What information should be included when acknowledging a code segment from another source?

A) The date the code was found and the URL.

B) A detailed explanation of why the code was used.

C) The name of the person who found the code.

D) The origin or original author's name.

Correct Answer: D

The content specifies that 'The acknowledgement should include the origin or original author’s name.' This is the key requirement for proper attribution.

What is the primary function of user testing, interviews, and surveys within the program development process?

A) To perform the final quality assurance check on a completed program.

B) To write the program's documentation.

C) To investigate and determine the program's requirements.

D) To brainstorm different ways to structure the program's code.

Correct Answer: C

The content lists 'collecting data through surveys, user testing, interviews, direct observations' as ways investigation is performed. The purpose of investigation is to determine the program's requirements by understanding user concerns and program constraints.