Skip to content
Computer Science · Grade 10 · Collaborative Software Development · Term 4

Problem Identification and User Research

Focus on identifying real-world problems and gathering authentic feedback from potential users to inform design.

Ontario Curriculum ExpectationsCS.HS.D.1CS.HS.D.2

About This Topic

Problem identification and user research anchor user-centered software design in collaborative development. Students start by analyzing community problems, such as inefficient school bus scheduling or barriers to recycling apps, to define core challenges and map stakeholders including end-users, teachers, and administrators. They then create tools like surveys, interviews, and observation protocols to collect authentic feedback that shapes initial software requirements.

This topic supports Ontario's Grade 10 Computer Science standards on design processes by linking real-world needs to coding solutions. Students build empathy, critical thinking, and communication skills essential for agile teams. They see how early research reduces rework later, mirroring professional practices in software engineering.

Active learning excels with this content because students apply methods immediately on classmates or local issues. Conducting peer interviews or prototyping surveys generates real data for group analysis, turning theory into practice. These experiences build confidence and highlight the value of iteration, making the process engaging and relevant.

Key Questions

  1. Analyze a community problem to identify its core challenges and stakeholders.
  2. Design methods for gathering user requirements and feedback.
  3. Explain how user research informs the initial stages of software development.

Learning Objectives

  • Analyze a community problem to identify its core challenges and key stakeholders.
  • Design methods for gathering user requirements and feedback through surveys and interviews.
  • Explain how user research findings directly inform the initial stages of software development.
  • Evaluate the effectiveness of different user research techniques for a given problem scenario.

Before You Start

Introduction to Programming Concepts

Why: Students need a basic understanding of what software is and what it can do before they can identify problems it might solve.

Problem Solving Strategies

Why: This topic builds on the ability to break down complex issues into smaller, manageable parts, a skill developed in general problem-solving units.

Key Vocabulary

StakeholderAn individual, group, or organization that has an interest in or is affected by a project or software. This includes end-users, developers, and administrators.
User RequirementsThe specific needs and expectations that end-users have for a piece of software. These are gathered through research and directly influence design.
User ResearchThe systematic investigation of users and their needs, behaviors, and contexts. This research informs the design and development of products and services.
Empathy MappingA collaborative visualization used to articulate what a user knows, thinks, feels, and does in relation to a product or service. It helps teams understand user perspectives.

Watch Out for These Misconceptions

Common MisconceptionDevelopers already understand user needs without research.

What to Teach Instead

User needs often surprise developers; diverse perspectives emerge only through direct input. Peer role-plays let students experience mismatched assumptions, while group debriefs reinforce the need for evidence-based design.

Common MisconceptionUser feedback consists only of complaints or obvious fixes.

What to Teach Instead

Valuable insights include unmet desires and workflow details. Analyzing real survey data in small groups helps students categorize feedback and spot patterns, shifting views toward constructive research.

Common MisconceptionProblem identification means picking any issue without stakeholder input.

What to Teach Instead

True problems involve multiple affected parties. Mapping exercises with peers reveal overlooked stakeholders, building skills to validate issues collaboratively.

Active Learning Ideas

See all activities

Real-World Connections

  • UX (User Experience) researchers at Google conduct interviews and usability tests with diverse groups of people to improve the design of products like Google Maps and Android.
  • Non-profit organizations like Code for Canada use problem identification and user research to develop technology solutions for civic challenges, such as improving access to public services.
  • Software development teams at Shopify use feedback from small business owners to refine e-commerce tools, ensuring they meet the practical needs of merchants.

Assessment Ideas

Exit Ticket

Provide students with a brief description of a common school problem (e.g., lost textbooks, inefficient club sign-ups). Ask them to list three potential stakeholders and one question they would ask each stakeholder to understand the problem better.

Discussion Prompt

Present a scenario where a software team rushed into development without user research and encountered major issues. Ask students: 'What specific problems might this team have faced, and how could initial user research have prevented them?'

Quick Check

Give small groups a hypothetical software project idea (e.g., a study group finder app). Ask each group to outline two specific user research methods they would use and explain why those methods are appropriate for gathering initial requirements.

Frequently Asked Questions

How does problem identification fit Ontario Grade 10 CS curriculum?
It directly aligns with CS.HS.D.1 and CS.HS.D.2 by guiding students to analyze problems and gather requirements for software design. In collaborative units, it sets up team projects where research informs prototypes, preparing students for real development cycles and emphasizing iterative, user-focused processes over isolated coding.
What user research methods work best for Grade 10 students?
Start with simple tools: interviews for depth, surveys for breadth, and observations for behaviors. Teach ethics like consent and bias avoidance. Pair methods with digital tools like Google Forms or Mentimeter for quick analysis, ensuring methods scale to school constraints while building practical skills for future projects.
How can active learning help students grasp user research?
Active approaches like mock interviews and live surveys provide hands-on data collection and analysis, making abstract steps concrete. Students role-play to build empathy, pilot tools on peers to spot flaws, and collaborate on insights, which boosts retention and confidence. This mirrors professional workflows, reducing anxiety around real-world application.
Why prioritize user research in early software stages?
Early research validates problems and uncovers requirements, preventing costly changes later. Students learn to prioritize features via feedback, fostering agile habits. In class, this leads to better prototypes and team alignment, as seen when groups pivot based on peer input, directly tying to curriculum goals for effective design.