Program Design and Development

Help Questions

AP Computer Science Principles › Program Design and Development

Questions 1 - 10
1

A developer is creating a new educational app for elementary school students. To ensure the app is engaging and easy for young children to use, which of the following investigation methods would be most effective for gathering initial design requirements?

Interviewing professional software developers about the technical constraints and challenges of building modern mobile applications.

Conducting direct observations of students interacting with similar educational apps to identify intuitive features and common difficulties.

Analyzing financial market data to determine which existing educational apps are the most profitable for their parent companies.

Distributing detailed, text-based surveys to the students to ask for their written preferences on a long list of features and design choices.

Explanation

Direct observation is a powerful investigation method for understanding user needs, especially for a target audience like young children who may not be able to articulate their preferences clearly in surveys or interviews. Observing their interactions reveals what is truly intuitive and engaging.

2

A development team is using an incremental development process to build a new word processing application. Which of the following best describes their approach?

They first gather all possible user requirements, then complete the full application design, then write all the code, and finally test the entire application at the end.

They repeatedly build and test the entire application from scratch, making small refinements to the user interface in each cycle based on continuous user feedback.

They first build and test a working text editor, then add file saving functionality, then add spell checking, ensuring each component works before starting the next.

They conduct extensive market research and user surveys for an extended period, creating a complete specification before writing any program code.

Explanation

An incremental process breaks the problem into smaller pieces and ensures each piece works before adding it to the whole. Building a basic text editor, then adding saving, then adding spell-check is a perfect example of adding functional increments one at a time.

3

A designer for a new mobile banking application draws a series of sketches that show each screen a user will see. The sketches are arranged in order to illustrate how a user would navigate from the login screen, to their account summary, to transferring funds. This set of sketches is best described as a:

functional prototype, as it is a working model that allows users to perform actual bank transfers.

storyboard, as it visually represents the sequence of user interactions and screen layouts in the application.

user survey, as it is a tool for collecting feedback from potential customers about desired features.

program specification, as it defines the technical requirements that the final application must meet.

Explanation

A storyboard is a tool used in the design phase that visually outlines the sequence of user interactions and screen layouts. The series of sketches showing the user's navigation path is a classic example of storyboarding.

4

A team develops a prototype for a new online shopping website and asks a group of users to try to purchase a specific item. The team observes that most users struggle to find the 'Add to Cart' button. Based on this user testing feedback, what is the most logical next step in the iterative development process?

Add a wider variety of items to the website's product catalog to determine if the issue is related to product selection.

Revisit the design phase to change the placement and appearance of the 'Add to Cart' button to make it more intuitive.

Cancel the entire project because the initial design proved to have a significant usability flaw with the test group.

Begin writing the final program code for the website immediately, assuming that users will eventually learn where the button is.

Explanation

An iterative process requires refinement and revision based on feedback. The user testing revealed a design flaw, so the appropriate next step is to return to the design phase to address the feedback before proceeding with further development or testing.

5

A programmer adds the following comment to a section of code: // This procedure calculates the user's final score by averaging their last five attempts. What is the primary purpose of this form of program documentation?

To automatically generate a user manual that explains how to use the various features of the finished software application.

To allow the compiler to optimize the program's execution speed by providing it with additional semantic context about the code.

To help other programmers understand the function of the code, making the program easier to maintain, debug, and update in the future.

To serve as a test case for the code segment by providing a description of its expected output for a predefined set of inputs.

Explanation

Comments are a form of program documentation written into the program to be read by people. Their primary purpose is to explain the function of code segments, which helps in developing and maintaining correct programs, especially when working in collaborative environments.

6

Which of the following statements best distinguishes between program requirements and a program's design?

Requirements describe the specific programming language and tools to be used, while the design describes the hardware the program will ultimately run on.

Requirements are a functional prototype of the program that users can interact with, while the design is the final, polished version of the program.

Requirements describe what the program must do from the user's perspective, while the design describes how the program will be structured to meet those requirements.

Requirements outline the formal testing strategy for the program, while the design is the written documentation explaining the code to other developers.

Explanation

Program requirements describe what a program must do, including user interactions and functions. The design phase outlines how to accomplish that program specification, including its internal structure, algorithms, and modules. This 'what vs. how' is the key distinction.

7

Which of the following best explains a primary benefit of using an incremental development process?

It ensures that the final program is completely free of errors because each small part is perfected before being released to users.

It allows a development team to get frequent feedback from users on the entire product before any part of it is fully functional.

It guarantees that the project will be completed faster and with fewer resources than any other development methodology.

It breaks the problem into smaller, manageable pieces, and ensures each piece works before adding it to the whole.

Explanation

An incremental development process is one that breaks the problem into smaller pieces and makes sure each piece works before adding it to the whole. This allows for earlier testing of core functionality and a more manageable workflow.

8

A software development team is building a complex mobile game. They decide to first build and release a basic, playable version. They then plan to add new levels and features in subsequent updates based on analysis of player feedback and data. Which development process does this approach best represent?

A sequential process, because each phase of development is completed fully in a strict order before the next phase begins.

An exploratory process, because the team is experimenting with different features without a clear, overarching plan for the final product.

An iterative process, because the program is continually refined and revised in repeated cycles based on feedback and reflection.

An incremental process, because the final program is built by adding one fully completed feature at a time without revisiting previous work.

Explanation

This is an example of an iterative process because the core idea is to refine and improve the program in cycles (iterations) based on feedback. While it also has incremental aspects (adding new features), the emphasis on using feedback to guide subsequent updates is the hallmark of iteration.

9

During which phase of a software development process would a programmer most likely create a flowchart or storyboard to outline the program's logic and how a user will navigate through its various screens?

The prototyping phase, where an early, functional version of the program is built to demonstrate concepts to stakeholders.

The investigating phase, where user needs and program constraints are identified through research and initial data collection.

The designing phase, where the program's structure, user interface, and overall logic are planned before implementation.

The testing phase, where the program is evaluated against its requirements to find and correct functional and logical errors.

Explanation

The designing phase is where developers outline how to accomplish the program specification. This includes planning the program's structure and creating diagrams like flowcharts or storyboards to represent the layouts of the user interface and program flow.

10

A client provides a software development team with a document that precisely describes how a new program must function. It includes specific user interactions, the exact format for output, and all constraints on data inputs. What is this document best described as?

The program's testing plan, which outlines the specific inputs that will be used during the testing phase to check for correctness.

The program's documentation, which explains the implementation details of the code to other programmers for maintenance.

The program's prototype, which is an early, functional model of the software developed for demonstration purposes.

The program's specification, which defines the explicit requirements that the finished program must successfully meet.

Explanation

A program's specification defines the requirements for the program. It details what the program must do, including descriptions of user interactions and functionality, which is exactly what the document in the scenario provides.

Page 1 of 3