AP Computer Science Principles Big Idea 1: Creative Development Practice Questions
Practice questions for AP Computer Science Principles Big Idea 1 (Creative Development), with explanations for every answer.
Questions
Which practice best helps a team include diverse perspectives when designing a program?
- Gathering input from people with different backgrounds and experiences
- Letting the most experienced programmer decide alone
- Limiting feedback to teammates who already share the same skill set
- Waiting until the program is finished before asking anyone for input
In pair programming, what does the navigator do?
- Reviews code as it is written and thinks about direction
- Types every line of code while the driver watches
- Tests the program once the driver finishes each feature
- Writes the user manual in a separate document
In pair programming, what does the driver do?
- Types the code
- Plans the overall design while someone else types
- Approves the program before it is released to users
- Collects survey feedback from the program's intended users
Collaboration can help reduce bias in a program because teammates with different perspectives notice problems others miss.
Effective collaboration requires every team member to have the same set of skills.
What is a main benefit of storing a team's code in a shared online repository?
- Several people can work on the code and track its changes
- The program automatically becomes free of logic errors
- Only one person at a time is ever able to read the code
- The code no longer needs comments
A teammate rejects ideas without explaining why. Which practice would most improve the team's collaboration?
- Giving feedback with specific, respectful reasons
- Letting each person build their own version and never merging them
- Voting out any team member who disagrees with the group
- Avoiding all discussion of ideas so no one feels criticized
A developer interviews people who will use an app before designing it. What is the main purpose of this step?
- To understand what users need from the app
- To find out which programming language the users prefer
- To avoid having to test the app after it is built
- To reduce the number of errors in the app's code
Which of the following are effective collaboration practices?
- Communicating regularly about progress
- Resolving disagreements respectfully
- Dividing tasks based on members' strengths
- Keeping your code changes hidden until the deadline
- Ignoring feedback that conflicts with your plan
A fitness app was designed and tested only by young, able-bodied developers. What risk does this create?
- The app may not meet the needs of users unlike its developers
- The app will run more slowly on older phones than on newer phones
- The app will be harder to translate into other languages later
- The app's code will contain more syntax errors
Which situation best shows how collaboration can improve a program?
- A teammate spots an input case the original author never considered
- One programmer writes the entire program to keep its style consistent
- A team divides the work but never combines or tests the parts together
- A team skips planning so that everyone can start coding immediately
Online tools allow programmers in different locations to collaborate on the same project.
Which statement about consensus building on a programming team is most accurate?
- It involves discussing options until the group can support a decision
- It means the team leader's first idea is adopted without discussion
- It requires that no one on the team ever disagrees
- It is only useful after the program has been released to the public
Why is it useful for a team to agree on naming conventions before writing code?
- It makes code written by different people easier to read and combine
- It allows the finished program to run faster on every type of device it uses
- It prevents the program from ever producing a runtime error
- It removes the need to test the program
Collaboration only matters during the coding phase of development.
A student team is building a school-events app. Which action best uses collaboration to improve it?
- Having students outside the team try the app and give feedback
- Assigning one person to write, test, and document all of the code
- Releasing the app without testing so feedback arrives faster
- Keeping the design secret from users until the final release
Which is the best example of interpersonal skills supporting collaboration?
- Listening carefully to a teammate's concern before responding
- Memorizing the syntax of several programming languages
- Typing code quickly enough to finish ahead of the team
- Choosing the fastest algorithm available for every task
Two programmers working together can catch errors that one programmer working alone might miss.
A team member finishes a module but does not tell anyone. Another member writes the same module. What collaboration problem does this show?
- Poor communication about progress
- Too much documentation in the code
- Too many people giving the program feedback
- Use of a shared repository
Which describes a benefit of gathering feedback from a varied group of testers?
- They use the program in different ways, exposing more issues
- They guarantee that the final program will have no bugs at all
- They remove the need for the programmers to test anything
- They make the program's source code shorter
Which are interpersonal skills that support effective collaboration?
- Communication
- Conflict resolution
- Consensus building
- Binary conversion
- Writing nested loops
When teammates disagree about a design, the best approach is usually to avoid discussing it so the project keeps moving.
A team divides a large program into parts and assigns each part to a member. What must happen for this to succeed?
- Members must agree on how the parts will connect
- Each member must use a different programming language
- Each part must be kept secret from the other members
- The parts must be written in the order they appear in the final program
In pair programming, what is the name of the role that types the code?
In pair programming, what is the name of the role that reviews code and guides direction?
Which is the strongest reason to include people affected by a program in its design?
- They understand the problem from the user's side
- They can write the code faster than the developers can
- They will make sure the program uses less memory
- Their involvement means the program does not need to be tested
Explain two ways collaboration can improve a computing innovation. Give an example of each.
Which best describes a program?
- A set of instructions a computer runs to carry out a task
- Any physical device that contains a processor
- A list of data values on a hard drive
- The screen and keyboard used to interact with a computer
What is a code segment?
- A group of statements that is part of a larger program
- A complete program that can run on its own without any other code
- A comment explaining what a program does
- An error message produced while a program runs
Which is the best description of a computing innovation?
- An innovation that includes a program as an integral part of its function
- Any new electronic product that has recently gone on sale in stores for the first time
- A program that was released within the past year
- A device that does not need electricity
A computing innovation must be a physical device.
What does a program's behavior describe?
- How the program functions while it runs
- The number of lines of code in the program
- The programming language the program was written in
- The name of the person who wrote the program
A smartwatch measures heart rate and sends it to an app. From the app's point of view, the heart-rate reading is a(n):
- Input
- Output
- Comment
- Syntax error
A game controller vibrates when a player is hit. This vibration is an example of what?
- Tactile output
- Audio input
- Visual input
- A logic error
In event-driven programming, when does a code segment typically run?
- When a specific event, such as a button click, occurs
- Only once, at the very beginning of the program
- In strict top-to-bottom order regardless of user actions
- Only after the program has crashed
Which of the following are examples of events that could trigger code in an app?
- A user tapping a button
- A key being pressed
- A timer reaching zero
- A comment being added to the code
- A variable name being chosen by the programmer
A program's output can depend on the inputs it receives.
Which is an example of audio output?
- A navigation app speaking the next turn
- A user speaking into a microphone
- A photo stored on a phone
- A user swiping left on a touchscreen
Which is the best example of input coming from another program rather than from a user?
- A weather app receiving forecast data from a weather service
- A user typing the name of their city into the app's search box
- A user tapping the refresh button
- A user speaking a question to a voice assistant
Why do programmers need to understand a program's purpose before writing it?
- So the program they design solves the right problem
- Programs without a stated purpose cannot be compiled
- Understanding purpose eliminates the need for testing
- A purpose statement makes the program run faster
Which is the best example of a program created mainly for creative expression?
- An app that turns a user's drawing into an animated scene
- A tool that calculates the monthly payments on a car or home loan
- A program that sorts student records by ID number
- A script that backs up files every night
Some programs are created to pursue personal interests or creative expression rather than to solve a specific problem.
A user drags a slider to change the volume in a music app. Which describes this interaction?
- The drag is an input event and the volume change is output
- The drag is output and the volume change is input
- Both the drag and the volume change are comments
- The drag causes a syntax error that changes the volume
Which statement about program inputs is accurate?
- Inputs can be tactile, audio, visual, or text
- Inputs can only be typed on a keyboard
- Inputs come from human users rather than from devices
- A program can accept at most one input
A thermostat program turns on the heat when a temperature sensor reports a value below 65. What role does the sensor reading play?
- It is input that the program uses to decide what to do
- It is output that the program sends back to the user's display screen
- It is documentation that explains the code
- It is a runtime error that stops the program
In an event-driven program, the order in which code segments run can depend on the order of the user's actions.
A program displays a welcome message, then waits. When the user clicks Start, a game begins. Which describes how this program is organized?
- Some code runs immediately and some runs in response to events
- All of the code runs at once, before anything is displayed
- The program cannot respond to the user after it starts
- The click is output and the welcome message is input
Which is an example of a program's visual output?
- A chart drawn on the screen
- A camera capturing a photo for the app
- A user's voice command
- A barcode being scanned
Which of the following are outputs?
- A message displayed on screen
- A phone vibrating
- A sound played through speakers
- A user typing a password
- A fingerprint scan
Which best explains why programs are often described in terms of how a user interacts with them?
- Behavior shows up in what users do and what they see
- Users can see the source code while they use the program
- A program's purpose is printed on its opening screen
- Users decide which programming language is used