AP CSP Day 7 - Program Investigation and Requirements
AP CSP Day 7 - Program Investigation and Requirements
Course Information
- Course: AP Computer Science Principles
- Unit: Big Idea 1 - Creative Development (CRD)
- Lesson: Day 7 (50 minutes)
- Learning Objective: CRD-2.D - Identify output(s) produced by a program
Learning Objectives
Primary Goals
Students will be able to:
- Explain the importance of program investigation and requirements
- Identify different types of program requirements
- Analyze program requirements in real-world examples
- Develop a program using investigation and requirements
AP Exam Alignment
- Big Idea 1: Creative Development (10-13% of AP Exam)
- Essential Knowledge: CRD-2.D.1, CRD-2.D.2, CRD-2.D.3
- Computational Thinking Practice: 1.A - Investigate the situation, context, or task
Lesson Structure (50 minutes)
Opening Hook (10 minutes)
7.1 Welcome & Lesson Preview (5 minutes)
Teacher Activities:
- Welcome students to Day 7
- Review previous lesson's key concepts
- Introduce today's focus on program investigation and requirements
Student Activities:
- Review previous lesson's materials
- Think about: "What makes a program successful?"
7.2 Quick Requirements Challenge (5 minutes)
Activity: "Identify the Requirements"
Instructions:
- Groups of 4-6 students
- Each group identifies requirements for a given program
- Discuss the importance of requirements
Purpose: Activate thinking about program requirements
Core Content Instruction (20 minutes)
8.1 What is Program Investigation and Requirements? (10 minutes)
Definition (CRD-2.D.1):
Program investigation involves understanding the problem and requirements, while requirements are the specific features and functionalities a program must have.
Key Concepts:
- User requirements: What the program must do for users
- Technical requirements: What the program must do technically
- Functional requirements: What the program must do functionally
- Non-functional requirements: What the program must do in terms of performance, security, usability
Case Study: The development of a mobile app
- Investigation process: Understanding user needs and requirements
- Requirements: Features, functionality, usability, performance
- Outcome: A successful mobile app
8.2 Types of Program Requirements (5 minutes)
Types:
- Functional requirements: What the program must do
- Non-functional requirements: How the program must do it
- User requirements: What the program must provide
- Technical requirements: What the program must support
Examples:
- E-commerce app: Functional requirements - shopping cart, payment processing; Non-functional requirements - security, performance
- Social media app: Functional requirements - user profiles, content sharing; Non-functional requirements - scalability, reliability
8.3 Importance of Requirements (5 minutes)\n
Why are requirements important?
- Clarity: Requirements define what the program must do
- Focus: Requirements guide the development process
- Quality: Requirements ensure the program meets expectations
- Efficiency: Requirements help avoid rework and miscommunication
Discussion Questions:
- How do requirements affect program development?
- What are the different types of requirements?
- Why are requirements important for successful programs?
Hands-On Activity (15 minutes)
9.1 Group Project: Program Requirements Analysis (15 minutes)
Activity: "Identify Program Requirements"
Instructions:
- Groups of 3-4 students
- Each group analyzes a different program
- Identify functional, non-functional, user, and technical requirements
- Discuss how requirements guide development
- Present findings to the class
Materials:
- **List of programs to analyze
- **Analysis worksheet
- **Access to computers or devices
Learning Goals:
- **Identify program requirements
- **Understand their importance
- **Practice analysis skills
- **Present ideas effectively
Assessment:
- **Group participation
- **Analysis quality
- **Use of analysis tools
- **Presentation clarity
Closure & Preview (5 minutes)
10.1 Key Concepts Review (2 minutes)
Today's Learning Highlights:
- ✅ Understanding program investigation and requirements
- ✅ Identifying different types of requirements
- ✅ Analyzing requirements in real-world examples
- ✅ Developing programs using requirements
AP Exam Connection:
- These concepts will appear in AP exam multiple choice questions
- Understanding requirements is crucial for the Create Performance Task
10.2 Next Class Preview (3 minutes)
Day 8 Topic: "Program Design and User Interface"
- Learning Objective: CRD-2.F - Design a program and its user interface
- Activity: Practicing program design and UI creation
- Homework: Think about a recent program you used. What were its requirements? What could be improved?