Day 13 - Collaborative Program Development - Day 1
Day 13: Collaborative Program Development - Day 1
Learning Objectives
- CRD-1.A: Explain how computing innovations are improved through collaboration.
- CRD-1.B: Explain how computing innovations are developed by groups of people.
- CRD-1.C: Demonstrate effective interpersonal skills during collaboration.
- CRD-2.E: Develop a program using a development process.
- CRD-2.F: Design a program and its user interface.
Essential Questions
- How can we apply collaborative development processes to create effective programs?
- How do we translate requirements into a program design?
Materials Needed
- Project guidelines handout
- Team formation cards/process
- Requirements gathering templates
- Project plan templates
- Design document templates
Vocabulary
- Collaborative development
- Project plan
- Requirements specification
- Team roles
- Minimum viable product (MVP)
Procedure (50 minutes)
Opening (10 minutes)
-
Introduction to Final Project (7 minutes)
- Explain the collaborative program development project:
- Teams will design and plan a program that solves a problem
- Project will incorporate concepts from entire unit
- Emphasis on collaboration, design, and documentation
- Final deliverables will include design documents, prototype, and presentation
- Share project rubric and expectations
- Explain the collaborative program development project:
-
Project Brainstorming (3 minutes)
- Individual brainstorming of potential project ideas
- Students write down 2-3 ideas for programs that solve problems
Main Activities (30 minutes)
-
Team Formation (5 minutes)
- Form teams of 3-4 students
- Consider balancing skills and interests
- Teams establish communication protocols
-
Initial Planning (10 minutes)
- Teams discuss project ideas from individual brainstorming
- Teams select a project focus using consensus building
- Teams identify the problem their program will solve
- Teams define the purpose and target users of their program
-
Requirements Gathering and Specification (15 minutes)
- Teams develop detailed requirements for their program:
- Functional requirements (what the program must do)
- Non-functional requirements (performance, usability)
- Constraints and limitations
- Teams create user personas and scenarios
- Teams define the scope of their minimum viable product (MVP)
- Teams document requirements in a specification document
- Teams develop detailed requirements for their program:
Closing (10 minutes)
-
Project Plan Development (7 minutes)
- Teams create initial project plans including:
- Team roles and responsibilities
- Timeline for design, development, and testing
- Communication plan
- Risk assessment and mitigation strategies
- Teams create initial project plans including:
-
Preview Next Session (3 minutes)
- Explain that next class will focus on design and prototyping
- Ask teams to refine requirements before next class
- Remind students to document their collaboration process
Assessment
- Formative: Quality of team interactions and decision-making
- Project Plan: Completeness and feasibility of project plan
- Requirements Document: Clarity and comprehensiveness of requirements
Differentiation
For Advanced Teams
- Encourage more complex program features
- Suggest consideration of extensibility and scalability
- Challenge them to incorporate advanced UI elements
For Struggling Teams
- Provide more structured project templates
- Offer simplified project scope suggestions
- Give additional guidance on requirements gathering
Homework/Extension
- Refine project requirements based on team feedback
- Research similar programs for inspiration
- Prepare initial ideas for program design and user interface
Teacher Notes
- Monitor team dynamics to ensure equitable participation
- Provide guidance on scope management (avoiding overly ambitious projects)
- Remind students to apply collaboration techniques from Week 1
- Emphasize documentation of both the product and the process
- Circulate among teams to provide feedback and guidance