Day 6 - Development Processes
Day 6: Development Processes
Learning Objectives
- CRD-2.E: Develop a program using a development process.
Essential Questions
- What are the different approaches to program development?
- How do iterative and incremental development processes improve programs?
Materials Needed
- Presentation slides on development processes
- Flowchart templates and tools
- Case studies of different development approaches
- Sticky notes for group activity
- Exit ticket templates
Vocabulary
- Development process
- Waterfall model
- Iterative development
- Incremental development
- Agile methodology
- Prototype
Procedure (50 minutes)
Opening (8 minutes)
-
Review Week 1 (3 minutes)
- Briefly review key concepts from Week 1
- Transition to Week 2 focus on program design and development
-
Activating Prior Knowledge (5 minutes)
- Think-Pair-Share: "What steps would you take to develop a new program?"
- Create a class list of potential development steps
Main Activities (32 minutes)
-
Lecture: Different Development Processes (12 minutes)
- Explain ordered/linear development (waterfall model):
- Requirements → Design → Implementation → Testing → Deployment
- Advantages and disadvantages
- Explain exploratory development:
- Experimentation and discovery
- Rapid prototyping
- Advantages and disadvantages
- Explain iterative development:
- Repeated cycles of development
- Continuous improvement
- Advantages and disadvantages
- Explain incremental development:
- Building functionality in small pieces
- Advantages and disadvantages
- Explain ordered/linear development (waterfall model):
-
Discussion: Phases of Development (8 minutes)
- Investigate: Understanding the problem and requirements
- Design: Planning the solution approach
- Prototype: Creating initial versions
- Test: Verifying functionality and finding errors
- Refine: Improving based on testing and feedback
- For each phase, discuss key activities and deliverables
-
Group Activity: Compare Development Approaches (12 minutes)
- Divide class into small groups (3-4 students)
- Assign each group a scenario (e.g., mobile game, business application, social media feature)
- Groups create two flowcharts showing:
- How they would develop the program using a waterfall approach
- How they would develop the program using an iterative approach
- Groups identify advantages of each approach for their scenario
- Groups share their flowcharts and conclusions
Closing (10 minutes)
-
Individual Activity: Create Development Flowchart (7 minutes)
- Students create a flowchart showing an iterative development process for a simple app of their choice
- Flowchart must include multiple iterations and specific activities in each phase
-
Preview Next Lesson (3 minutes)
- Explain that next class will focus on program investigation and requirements
- Ask students to think about how developers determine what users need
Assessment
- Formative: Group activity participation and quality of comparative analysis
- Individual Flowchart: Accuracy and completeness of iterative development process
Differentiation
For Advanced Students
- Research and incorporate additional development methodologies (e.g., Scrum, XP)
- Create more complex development scenarios with multiple stakeholders
For Struggling Students
- Provide partially completed flowchart templates
- Offer simplified scenarios with clear development steps
Homework/Extension
- Research a real-world software project and identify its development methodology
- Explain how the chosen methodology affected the project's outcome
- Consider how an alternative methodology might have changed the result
Teacher Notes
- Emphasize that different development approaches are appropriate for different situations
- Connect development processes to collaboration concepts from Week 1
- Use real-world examples of successful and failed development projects
- Highlight that the AP exam may ask about different development approaches