Day 7 - Program Investigation and Requirements
Day 7: Program Investigation and Requirements
Learning Objectives
- CRD-2.F: Design a program and its user interface.
Essential Questions
- How do developers determine what users need in a program?
- What techniques can be used to gather and document program requirements?
Materials Needed
- Presentation slides on requirements gathering
- User interview templates
- Requirements specification templates
- Sample user personas
- Sticky notes and chart paper
Vocabulary
- Requirements
- User needs
- User persona
- Use case
- User story
- Functional requirements
- Non-functional requirements
Procedure (50 minutes)
Opening (8 minutes)
-
Review and Connection (3 minutes)
- Review development processes from previous lesson
- Connect to today's focus on the investigation phase
-
Warm-up Discussion (5 minutes)
- Prompt: "How do developers know what to build?"
- Discuss challenges of understanding user needs
Main Activities (32 minutes)
-
Lecture: Investigating Program Requirements (10 minutes)
- Explain the importance of requirements gathering
- Discuss different types of requirements:
- Functional requirements (what the program must do)
- Non-functional requirements (performance, usability, security)
- Introduce techniques for understanding user needs:
- User personas and scenarios
- Use cases
- User stories ("As a ___, I want to ___ so that ___")
-
Workshop: Methods for Gathering Requirements (12 minutes)
- Present different requirements gathering methods:
- Surveys and questionnaires
- User interviews
- Observation
- Competitive analysis
- Demonstrate effective interview techniques:
- Open-ended questions
- Follow-up questions
- Avoiding leading questions
- Show examples of well-documented requirements
- Present different requirements gathering methods:
-
Activity: Mini User Interviews (10 minutes)
- Students pair up and take turns as "developer" and "user"
- Each "developer" conducts a 4-minute interview about a simple app idea
(e.g., study planner, event organizer, fitness tracker) - "Developers" take notes on requirements
- Switch roles and repeat
Closing (10 minutes)
-
Create Program Specification (7 minutes)
- Based on their user interview, students create a simple program specification including:
- Program purpose
- Target users
- Key functional requirements (3-5)
- Key non-functional requirements (2-3)
- Constraints or limitations
- Based on their user interview, students create a simple program specification including:
-
Preview Next Lesson (3 minutes)
- Explain that next class will focus on program design techniques
- Ask students to think about how requirements translate into design
Assessment
- Formative: Quality of user interview questions and technique
- Program Specification: Completeness and clarity of requirements documentation
Differentiation
For Advanced Students
- Create more complex user personas with detailed needs
- Develop requirements for programs with multiple user types
For Struggling Students
- Provide structured templates for interviews and requirements
- Offer simplified app scenarios with clearer user needs
Homework/Extension
- Conduct a brief requirements gathering interview with a friend or family member
- Create a detailed user persona for your program idea
- Research how a popular app evolved based on user feedback
Teacher Notes
- Emphasize that understanding user needs is critical to program success
- Connect requirements gathering to collaboration skills from Week 1
- Point out that many program failures stem from poor requirements understanding
- Remind students that requirements will inform their design in the next lesson