Crowdsourcing Lesson
Crowdsourcing Lesson
What is Crowdsourcing?
Crowdsourcing is when many people use the internet to contribute data, ideas, or work to solve a problem.
Key idea: many small contributions → one large solution
- Uses distributed individuals (people in different locations)
- Relies on widespread access to data and the internet
- Allows problem-solving at scale
Citizen Science (Important Concept)
Citizen science is when everyday people help with scientific research by collecting and sharing data.
- Uses distributed individuals(people in different locations contributing data)
- People use their own devices (phones, computers)
- Data is combined to solve real-world problems
Examples:
- Tracking animals
- Measuring air quality
Examples of Crowdsourcing
- Wikipedia → users build knowledge together
- reCAPTCHA → users help train AI
- Reviews (Yelp, Amazon) → users share opinions
- OpenStreetMap → people build maps
Why Crowdsourcing Works
Computing allows collaboration that would otherwise be impossible:
- Scale → thousands or millions of contributors
- Speed → instant data sharing
- Diversity → many perspectives
- Efficiency → automated data processing
Risks and Unintended Consequences
Crowdsourcing is powerful, but not perfect:
- Data can be incorrect or biased
- Some users act in bad faith
- Hard to verify information
- Privacy concerns
Why Computing is Essential
Crowdsourcing only works because of computing systems:
- Collect data from many users
- Store large datasets
- Process and analyze information
- Share results globally
KEY AP CSP VOCABULARY
| Term | Definition |
|---|---|
| Crowdsourcing | Obtaining input or data from a large number of people via the internet |
| Citizen Science | Scientific research conducted by distributed individuals contributing data |
| Problem-Solving at Scale | Using many people to solve problems efficiently |
| Unintended Consequences | Unexpected positive or negative outcomes of a computing innovation |
EXAMPLE System
crowd_ratings = []
def add_user_rating(score):
crowd_ratings.append(score)
def get_average_rating():
if len(crowd_ratings) == 0:
return 0
return sum(crowd_ratings) / len(crowd_ratings)
# simulate multiple users contributing ratings
add_user_rating(5)
add_user_rating(4)
add_user_rating(2)
add_user_rating(5)
add_user_rating(3)
print("Number of contributors:", len(crowd_ratings))
print("Average rating:", get_average_rating())
Explanation (Crowdsourcing Connection)
- Input: Many users each submit a rating (crowd contribution)
- Processing: The program combines all ratings to calculate an average
- Output: The final average is displayed
Key Idea:
This demonstrates crowdsourcing, where many individuals contribute data, and the computer combines it to produce a result. This shows problem-solving at scale.