Home

Tutoring

Subjects

Live Classes

Study Coach

Essay Review

On-Demand Courses

Colleges

Games


Sign up

Log in

Opening subject page...

Loading your content

Practice

  • All Subjects
  • Algebra Flashcards
  • SAT Math Practice Tests
  • Math Question of the Day
  • Live Classes
  • On-Demand Courses

Varsity Tutors

  • Find a Tutor
  • Test Prep
  • Online Classes
  • K-12 Learning
  • College Search
  • VarsityTutors.com

© 2026 Varsity Tutors. All rights reserved.

← Back to quizzes

AP Computer Science Principles Quiz

AP Computer Science Principles Quiz: Collaboration

Practice Collaboration in AP Computer Science Principles with focused quiz questions that help you check what you know, review explanations, and build confidence with test-style prompts.

Question 1 / 20

0 of 20 answered

When a development team transitions from having programmers work individually to a pair programming model, which of the following trade-offs is most likely to occur?

Select an answer to continue

What this quiz covers

This quiz focuses on Collaboration, giving you a quick way to practice the rules, question types, and explanations that matter most for AP Computer Science Principles.

How to use this quiz

Try each quiz question before looking at the correct answer. Use the explanations to review missed ideas, then come back to similar questions until the pattern feels familiar.

All questions

Question 1

When a development team transitions from having programmers work individually to a pair programming model, which of the following trade-offs is most likely to occur?

  1. The initial development time for a feature may increase, but the number of defects in the code is likely to decrease. (correct answer)
  2. The need for code documentation is eliminated, but the time required for testing is significantly increased.
  3. The amount of hardware required is doubled, but the final program will run twice as fast on any machine.
  4. The total number of bugs will increase, but the project will be completed in half the time it would otherwise take.

Explanation: Pair programming involves two developers per task, which can increase the person-hours for initial development. However, the constant review process from the navigator leads to higher-quality code with fewer bugs, reducing time spent on debugging and fixing issues later. (CRD-1.B.2) Distractor B is incorrect; documentation is still needed. Distractor C is incorrect; it requires one workstation per pair, and does not affect program speed. Distractor D states the opposite of the expected outcome.

Question 2

Which of the following statements best describes a key benefit of a collaborative programming team that includes members with distinct areas of expertise, such as front-end design, back-end logic, and database administration?

  1. It reduces the need for communication, as each expert can work independently without consulting others.
  2. It ensures that the final product will be completed faster than a team of generalists could complete it.
  3. It allows a complex project to be decomposed into specialized tasks that can be handled by the most qualified individuals. (correct answer)
  4. It guarantees that every team member will eventually learn all the skills possessed by the other specialists.

Explanation: Effective collaboration produces a computing innovation that reflects the diversity of talents and perspectives of its designers. By having specialists, a complex problem can be broken down, and each part can be addressed with deep expertise, leading to a higher quality solution. (CRD-1.A.3) Distractor A is incorrect; collaboration among specialists requires more, not less, communication. Distractor B is not a guarantee. Distractor D is a possible side effect but not the key benefit to the project.

Question 3

A team is building a large software application. Each team member is assigned a different module and works on it independently for several weeks. When they attempt to combine the modules, they find that the inputs and outputs of their respective parts are incompatible. This problem is most likely a result of neglecting which collaborative practice?

  1. The use of pair programming for the development of each individual module.
  2. The practice of acknowledging code from third-party libraries within the documentation.
  3. The inclusion of team members with diverse, non-technical areas of expertise.
  4. The need for ongoing communication and establishing shared technical specifications. (correct answer)

Explanation: Effective collaboration relies on constant communication. When developing interconnected parts, team members must agree on how those parts will interact (e.g., what data they will pass to each other). Working in isolation without this communication and planning is a common cause of integration failure. (CRD-1.A.5) Distractors A, B, and C are all potentially valuable practices, but the direct cause of the incompatibility described is a lack of communication and shared specifications.

Question 4

While developing a program, a student finds a helpful function in an open-source library and decides to use it in their project. According to ethical programming practices, what is the most appropriate action for the student to take?

  1. Copy the function into the program and change the variable names to personalize it.
  2. Use the function and add a comment in the code that acknowledges the library and its author. (correct answer)
  3. Refrain from using any external code to ensure the entire project is their own original work.
  4. Use the function but do not mention it in the program's documentation to avoid complication.

Explanation: It is important to acknowledge any code segments that were developed by another source. The appropriate way to do this is to include an acknowledgement, often in the form of a comment in the program documentation, that gives credit to the original source or author. (CRD-2.H.1, CRD-2.H.2) Distractor A is a form of plagiarism. Distractor C is an unnecessary restriction, as using libraries is a standard and efficient practice. Distractor D is unethical as it omits required attribution.

Question 5

A university research project develops a mobile app that allows volunteers to record and submit observations of local wildlife. Scientists then use this data, collected from thousands of individuals, to monitor ecosystem health. This method of data collection is best described as which of the following?

  1. Open access research
  2. Crowdsourcing
  3. Citizen science (correct answer)
  4. Pair programming

Explanation: Citizen science is scientific research conducted, in whole or in part, by non-professional scientists. This scenario, where the public contributes data to a scientific study, is a perfect example of citizen science. (IOC-1.E.3) While this is a form of crowdsourcing (B), citizen science is the more specific and accurate term for collaborative, science-oriented data collection by the public. Open access (A) refers to making research results freely available. Pair programming (D) is a development methodology.

Question 6

In the pair programming model, one developer acts as the “driver” who writes the code, while the other acts as the “navigator” who observes. Which of the following best describes the primary role of the navigator?

  1. To write the official documentation for the code as the driver is simultaneously typing it.
  2. To review each line of code as it is written, checking for errors and suggesting strategic improvements. (correct answer)
  3. To test the previously completed code segments on a separate computer to check for integration issues.
  4. To independently work on a different feature of the program to increase the team's overall speed.

Explanation: Pair programming is a collaborative model where the navigator's main role is to observe the driver's coding in real-time, offering feedback, catching potential errors, and thinking about the strategic direction of the code. (CRD-1.B.2) Distractor A is a secondary task; the primary one is code review. Distractor C describes a separate testing activity, not the navigator's real-time role. Distractor D describes parallel individual work, which is the opposite of the pair programming model.

Question 7

A team of developers are all working on different features of the same application. Each developer makes frequent changes to the project's source code files. Which of the following collaborative problems is best addressed by using a version control system?

  1. Ensuring that all developers are using the same style and conventions when writing their code.
  2. Automating the deployment of the application to a live server after testing is complete.
  3. Tracking the history of changes and managing conflicts when multiple developers edit the same file. (correct answer)
  4. Facilitating real-time text and voice chat for quick communication among team members.

Explanation: Online tools like version control systems support collaboration. Their primary purpose in a team setting is to keep a history of all changes made to the codebase and to provide tools for resolving conflicts that arise when multiple people's changes need to be merged. (CRD-1.B.1) Distractors A, B, and D describe tasks that are often part of a development workflow but are handled by different tools (linters, deployment scripts, and communication platforms, respectively), not the version control system itself.

Question 8

A team of programmers, located in different countries, is collaborating on a single software project. They use an online version control system to manage their codebase. What is the primary advantage of using such a system for collaboration?

  1. It automatically translates program code from one programming language to another for different team members.
  2. It allows multiple team members to work on the same files concurrently and provides a structured process for merging their changes. (correct answer)
  3. It includes a high-quality video conferencing tool for daily team meetings to ensure all members are synchronized on tasks.
  4. It automatically prevents any code with syntax errors from being added to the project, ensuring the shared version always works.

Explanation: Online tools like version control systems support collaboration by allowing programmers to share code and manage contributions. The primary function is to handle concurrent work on the same codebase and merge different versions of files systematically. (CRD-1.B.1) Distractor A is incorrect because version control does not translate languages. Distractor C is incorrect because version control systems are for code, not typically for video meetings. Distractor D is incorrect because these systems track changes but do not inherently prevent developers from committing code with errors.

Question 9

Within a collaborative programming team, what is the primary purpose of adding comments to the program code to document its function and authorship?

  1. To increase the execution speed of the program, as the computer's compiler can use comments for optimization.
  2. To ensure proper credit is given and to help other team members understand, use, and modify the code. (correct answer)
  3. To act as an automated error-checking system that can find and correct logical flaws in the algorithm.
  4. To prevent anyone outside the original team from being able to read or understand the program's source code.

Explanation: Program documentation, including comments, helps in developing and maintaining correct programs, especially in collaborative environments. It clarifies the code's purpose for other developers and ensures proper acknowledgement for work done. (CRD-2.G.4, CRD-2.H.1) Distractors A and C are incorrect; comments are ignored by the compiler and do not affect speed or perform error checking. Distractor D is incorrect; comments are meant to increase, not decrease, understandability.

Question 10

During the development of a mobile application for managing personal finances, the design team frequently consults a group of potential end-users for feedback on prototypes. What is the primary purpose of this collaborative practice?

  1. To determine which programming language will be the most efficient for performing complex calculations on financial data.
  2. To ensure the final product effectively meets the needs and usability expectations of its intended audience. (correct answer)
  3. To transfer the responsibility of testing the application for bugs from the development team to the end-users.
  4. To satisfy a common legal requirement for public consultation before a new financial application can be officially released.

Explanation: Consultation and communication with users are crucial aspects of developing computing innovations. The primary purpose of gathering user feedback is to understand their needs and ensure the program is designed to meet them effectively. (CRD-1.A.5) Distractor A is incorrect because users typically provide feedback on functionality and design, not on technical implementation details like programming language choice. Distractor C is incorrect because while users might find bugs, the primary goal is feedback on design and needs, not a transfer of testing responsibility. Distractor D is incorrect as there is generally no such legal requirement for most application development.

Question 11

A facial recognition system is found to have a much higher error rate for individuals from a specific demographic group. The development team was composed entirely of people from other demographic groups. How could more effective collaboration have most likely helped prevent this biased outcome?

  1. By using pair programming to write all of the recognition algorithms, which would have improved their overall logical quality.
  2. By ensuring the team that collected and curated the training data included diverse perspectives and sources. (correct answer)
  3. By using an online code repository to allow for more efficient merging of the different software modules.
  4. By requiring all team members to thoroughly document their code, making it easier to locate the source of the problem later.

Explanation: Collaboration that includes diverse perspectives helps avoid bias in computing innovations. In this case, a diverse team would have been more likely to recognize the need for a diverse dataset for training the system, which could have mitigated the bias. (CRD-1.A.4) Distractors A, C, and D describe good development practices but do not directly address the root cause of the problem, which is a biased dataset resulting from a lack of diverse perspectives.

Question 12

Students collaborate on a game design project about exploring an underwater city. Talia programs movement and collision, Bruno creates art assets and animations, and Keisha writes dialogue and mission objectives. They communicate through a shared folder for assets, a weekly planning call, and short messages when something blocks progress. During integration, Talia says the new animation file breaks the game’s loading screen.

"The file name doesn’t match what the game expects," Talia explains.

Bruno responds, "I renamed it to stay organized, but I didn’t realize it was referenced elsewhere."

Keisha suggests, "Let’s document naming rules so this doesn’t repeat."

They agree to restore the expected name, add a simple naming guide in their shared notes, and confirm the fix together. The game runs smoothly at the next playtest, and the team earns praise for cohesion.

In the described project, how did the team resolve the conflict over the renamed animation file?

  1. They restored the expected name, documented rules, and verified the fix together. (correct answer)
  2. They deleted all animations and removed art from the final build.
  3. They stopped communicating and worked in isolation until showcase day.
  4. They assigned Keisha to rewrite the program code without consulting Talia.

Explanation: This question tests understanding of collaboration in creative development, focusing on technical integration challenges and establishing team conventions. Collaboration involves multiple people working together towards a common goal, often requiring clear conventions and communication about technical dependencies. In this scenario, Bruno's well-intentioned file reorganization broke Talia's code because the animation file name was referenced in the program, highlighting the need for naming conventions. Choice A is correct because it shows a comprehensive collaborative solution: restoring the expected filename to fix the immediate issue, documenting naming rules to prevent future problems, and verifying the fix together as a team. Choice D is incorrect because it suggests isolated work and excludes team members from problem-solving, which contradicts collaborative principles and would likely create more integration issues. To help students: Emphasize the importance of documenting technical conventions and dependencies in collaborative projects. Practice scenarios where students must establish and follow team standards for file naming, code structure, and asset organization.

Question 13

A student, Eleni, joins an online open-source community improving a beginner-friendly coding tutorial site. The community divides work through an issue board, reviews changes publicly, and uses a forum for longer discussions. Eleni picks a task: rewrite an unclear lesson so novices understand it without feeling overwhelmed. She collaborates with Drew, who edits for clarity, and Sora, who checks that examples match the lesson’s goals. Eleni posts, “I’m simplifying the wording and adding a short practice question—please critique the tone.” Drew replies, “This reads smoother, but one paragraph still assumes prior knowledge.” Sora adds, “The example should be shorter and consistent with earlier lessons.” When Eleni feels frustrated, she writes, “I thought I already fixed that,” and the thread grows tense. A moderator steps in: “Let’s be precise and kind—quote the exact sentence, propose a revision, and explain why.” Following that structure, Eleni revises the paragraph, Sora adjusts the example, and Drew confirms the final text is approachable. The community merges the update, and new users comment that the lesson finally “clicks.” In the described project, how did the team resolve the tense disagreement during the review process?

  1. They stopped reviewing and merged the first draft immediately
  2. They used a structured, respectful critique with specific quotes (correct answer)
  3. They removed the forum so no one could disagree
  4. They let Eleni rewrite alone without any feedback

Explanation: This question tests understanding of collaboration in creative development, focusing on constructive critique and conflict resolution in online communities. Collaboration in distributed teams requires structured communication protocols that maintain respect while addressing specific technical concerns. In this scenario, tension arose when Eleni felt frustrated by continued criticism of her tutorial rewrite. Choice B is correct because it shows how the moderator introduced a structured critique format - requiring specific quotes, proposed revisions, and explanations - which transformed a tense situation into productive collaboration where each person could address issues precisely and respectfully. Choice A is incorrect because the team engaged in thorough review, while Choice D would eliminate the collaborative improvement process that makes open-source projects successful. To help students: Model structured critique formats that separate technical issues from personal feelings. Practice giving and receiving specific, actionable feedback that maintains team cohesion while improving work quality.

Question 14

A team of students builds a mental-health check-in app with privacy in mind. Zuri drafts empathetic prompts and ensures language is respectful; Cal codes the check-in flow; Wen designs the interface and chooses calming colors; Hugo tests usability and documents confusing steps. They communicate through a shared chat for daily updates, a shared document for wording, and short meetings to make decisions together. A conflict arises when Wen wants more screens for elegance, but Hugo says, “Extra steps may discourage users.” Zuri proposes, “Let’s test two versions with classmates and compare reactions.” Cal adds, “I can implement both quickly if we keep changes small.” After a quick comparison, they choose the simpler flow and revise prompts based on peer feedback. The pilot group reports the app feels approachable and easy to complete. Based on the scenario, which communication method was most effective for refining the app’s wording collaboratively?

  1. A shared document where wording edits are centralized (correct answer)
  2. Private notes kept separately by each team member
  3. Email chains used as the only real-time discussion
  4. No written record, relying solely on memory

Explanation: This question tests understanding of collaboration in creative development, focusing on content collaboration and maintaining consistency in sensitive communication. Collaboration involves multiple people working together towards a common goal, often requiring specialized tools for different aspects of the project, particularly when dealing with sensitive content requiring careful wording. In this scenario, the team needed to collaboratively refine empathetic prompts and respectful language for a mental health app. Choice A is correct because a shared document provides a centralized location where all team members can view, edit, and track changes to wording, ensuring consistency and enabling collaborative refinement of sensitive content. Choice B is incorrect because private notes would fragment the collaborative effort and prevent team-wide consistency in messaging, which is a common misconception that individual work can replace collaborative editing. To help students: Emphasize the importance of centralized documentation for content that requires careful crafting and team consensus. Encourage use of collaborative editing tools that track changes and enable discussion around specific wording choices.

Question 15

During a weekend hackathon, five students create a prototype that helps classmates find quiet study spaces. In their first hour, they brainstorm on a whiteboard and agree on a simple goal: show nearby rooms, noise levels, and open hours. Priya drafts the screen layout and icons; Eli builds the room-search feature; Noor writes a short script to simulate noise readings; Marcus tests each update and logs failures; and Tessa acts as facilitator, keeping time and ensuring everyone’s ideas are heard. They communicate through rapid stand-up check-ins every 30 minutes, a shared task list, and short voice huddles when something breaks. Midway through, Marcus finds that the app crashes when a user searches with an empty field. Eli argues, “No one will do that,” while Priya counters, “Users will, especially under stress.” Tessa intervenes: “We’re not debating opinions—let’s decide based on user behavior and risk.” She asks Marcus to demonstrate the crash, then assigns Eli and Marcus to patch it while Priya updates the prompt text to guide users. Noor suggests adding a simple default search so the app still responds. After a quick fix, Marcus reruns the same test steps and confirms stability. Near the end, they do a final round of iterative testing, trimming features that are unreliable and polishing what works. They submit a working prototype and earn praise for clear teamwork under pressure. In the described project, how did the team resolve the conflict about the empty-search crash during development?

  1. They ignored the crash until judging ended
  2. They voted silently and stopped discussing it
  3. They used a demo, then assigned a targeted fix (correct answer)
  4. They asked Priya to rewrite Eli’s entire feature

Explanation: This question tests understanding of collaboration in creative development, focusing on conflict resolution and iterative problem-solving under time pressure. Collaboration involves multiple people working together with defined roles and structured decision-making processes to resolve disagreements constructively. In this scenario, the team faced a conflict about whether to fix an empty-search crash, with Eli dismissing it and Priya insisting on its importance. Choice C is correct because it shows how the team used evidence-based decision making: Tessa had Marcus demonstrate the crash, then assigned targeted fixes (Eli and Marcus patching, Priya updating prompts) while maintaining project momentum. Choice A is incorrect because ignoring critical bugs contradicts good development practice, and Choice D is incorrect because completely rewriting features wastes time and undermines collaboration. To help students: Teach the importance of evidence-based conflict resolution and role-based task assignment. Practice scenarios where teams must quickly decide on fixes while respecting each member's contributions.

Question 16

A group of students builds a mobile app that tracks water intake. Harper designs the screens, Jae codes the tracking logic, Lina writes clear help text, and Omar tests on multiple devices and reports issues. They communicate using a group chat for quick clarifications, a weekly meeting for decisions, and a shared spreadsheet for bug status. A confusing bug appears: the daily total resets at noon for some users.

Omar posts, "Reset happens after changing time zones; here are my steps."

Jae replies, "I’ll reproduce it, but I need the exact app version."

Harper says, "I can add a small message so users know when totals reset," while Lina suggests wording that avoids blame. They agree to update the spreadsheet with each test result and keep the chat focused on actionable details. The team fixes the reset logic and updates the help section before release.

In the described project, which communication method was most effective for tracking bug status across devices?

  1. A shared spreadsheet that lists devices, steps, and fix progress. (correct answer)
  2. Private texts sent only to Jae without team visibility.
  3. Unrecorded jokes in chat that replace written bug details.
  4. A single meeting at the end with no interim updates.

Explanation: This question tests understanding of collaboration in creative development, focusing on selecting appropriate communication tools for specific collaborative tasks. Collaboration involves multiple people working together towards a common goal, often requiring the right tools to track complex information across team members and devices. In this scenario, the team used multiple communication methods but needed to track a time zone-related bug across different devices and test conditions. Choice A is correct because a shared spreadsheet provides structured, persistent tracking where team members can log device types, reproduction steps, test results, and fix progress in an organized format accessible to all. Choice B is incorrect because private texts to only one team member would create information silos and prevent the collaborative transparency needed for effective debugging. To help students: Emphasize matching communication tools to task requirements - structured data needs structured tools. Practice scenarios where students must choose between different collaboration tools based on the type of information being shared and the need for persistence versus immediacy.

Question 17

In a game design elective, a team of four creates a short adventure game about restoring a polluted river. Jalen programs movement and item interactions; Marisol draws sprites and environment art; Keiko writes the storyline and dialogue; and Aaron organizes playtests, collects notes, and keeps the team aligned on deadlines. They communicate through a shared folder for assets, a group chat for quick clarifications, and a weekly meeting where Aaron asks each person to summarize progress. During an early playtest, students say the main goal is unclear and they wander without direction. Keiko says, “The story explains it,” but Marisol replies, “Players skip text when they’re confused.” Jalen adds, “We need guidance inside the gameplay, not just dialogue.” Aaron proposes a feedback protocol: identify the top three repeated issues, then implement one change and test again. The team adds a short on-screen objective, a visual arrow near the next area, and a brief dialogue prompt that triggers only if players stall. In the next playtest, students reach the river-cleanup scene faster and report feeling more motivated. The team finishes a polished demo and credits playtesting for turning disagreement into actionable improvements. Based on the scenario, how did the team address feedback from playtesting students?

  1. They reduced playtests and relied only on personal opinions
  2. They identified repeated issues and iterated with retesting (correct answer)
  3. They blamed players and removed all guidance features
  4. They asked Marisol to rewrite the entire program logic

Explanation: This question tests understanding of collaboration in creative development, focusing on iterative improvement based on user feedback. Collaboration in game development extends to incorporating playtester input through structured processes that transform criticism into actionable improvements. In this scenario, the team received feedback that players found the game's goal unclear and wandered without direction. Choice B is correct because it describes Aaron's feedback protocol: identifying the top three repeated issues (lack of clear goals), implementing targeted changes (on-screen objective, visual arrow, conditional dialogue), and retesting to verify improvements - resulting in players reaching objectives faster. Choice A is incorrect because the team actively used playtesting, while Choice C misrepresents their constructive response to feedback. To help students: Teach structured feedback protocols that prioritize common issues. Demonstrate how iterative testing with small changes helps teams validate improvements without overwhelming the development process.

Question 18

A group of students develops a mobile campus-navigation app over three weeks. Elena creates screen mockups and a consistent icon style; Marcus implements the map and search code; Tasha writes test cases and checks accessibility; Dev manages the task board and merges everyone’s work. They communicate using daily stand-ups, a shared folder for assets, and a version-control website for tracking changes. When a major bug appears—search results show the wrong building—Tasha posts, “Steps to reproduce: type ‘Library,’ tap result, map jumps to Gym.” Marcus replies, “I’ll trace the data source,” while Dev says, “Let’s review the last two merges together.” They resolve tension by focusing on evidence, not blame, and by pairing on a fix. The app launches to a pilot group, and feedback highlights faster searches and clearer icons. In the described project, which communication method is most effective for tracking code changes and coordinating merges?

  1. Daily stand-ups that summarize progress aloud
  2. A shared folder that stores icons and screenshots
  3. A version-control website that records revisions (correct answer)
  4. One-on-one texts that replace shared updates

Explanation: This question tests understanding of collaboration in creative development, focusing on communication tools and version control in team projects. Collaboration involves multiple people working together towards a common goal, often requiring clear communication channels, role assignment, and effective use of collaborative tools. In this scenario, the team used multiple communication methods including daily stand-ups, shared folders, and a version-control website to coordinate their mobile app development. Choice C is correct because it accurately identifies the version-control website as the most effective method for tracking code changes and coordinating merges, as evidenced by Dev's role in managing merges and the team's ability to review recent changes when debugging. Choice D is incorrect because one-on-one texts would fragment communication and prevent the transparency needed for effective code collaboration, which is a common misconception when students undervalue shared documentation. To help students: Emphasize the importance of version control systems in collaborative coding projects. Encourage hands-on practice with tools like Git to understand how tracking changes enables effective teamwork and debugging.

Question 19

A software development team is composed of individuals from various cultural backgrounds, age groups, and levels of technical experience. Which of the following is the most significant benefit of this team's diversity when developing a new computing innovation?

  1. The project will be completed faster because more people are available to write code and perform testing activities.
  2. The final product is less likely to contain unintentional bias because multiple perspectives were considered during development. (correct answer)
  3. The team will encounter fewer disagreements during the design phase because each person will have a unique, predefined role.
  4. The cost of development will be significantly lower because experienced members can mentor less experienced ones, reducing training needs.

Explanation: The most significant benefit of a diverse team is the inclusion of varied perspectives, which helps in identifying and avoiding biases that a more homogeneous team might overlook. This leads to a more inclusive and effective computing innovation. (CRD-1.A.4) Distractor A is incorrect because team size, not diversity, relates to the number of people available, and diversity does not guarantee speed. Distractor C is incorrect because diverse perspectives can lead to more, not fewer, disagreements, which require effective collaboration to resolve. Distractor D describes a potential minor benefit, but reducing bias in the final product is a more significant and direct outcome of diversity.

Question 20

A popular mapping application improves its traffic predictions by collecting and analyzing anonymous speed and location data from thousands of its users who are currently driving. This practice is an example of which of the following?

  1. Pair programming
  2. Crowdsourcing (correct answer)
  3. The digital divide
  4. Open-source development

Explanation: Crowdsourcing is the practice of obtaining input, information, or services from a large number of people, typically via the Internet. Collecting data from many users to provide a collective service like traffic prediction is a classic example of crowdsourcing. (IOC-1.E.4) Distractor A is a specific software development technique. Distractor C refers to unequal access to technology. Distractor D refers to making source code publicly available for modification and distribution.