Day 23 - Final Project - Planning and Design

Day 23: Final Project - Planning and Design

Learning Objectives

Essential Questions

Materials Needed

Vocabulary

Procedure (50 minutes)

Opening (10 minutes)

  1. Introduction to Final Project (7 minutes)

    • Explain the purpose and goals of the final project:
      • Apply programming concepts learned throughout the unit
      • Demonstrate understanding of algorithms and programming
      • Create a program that solves a real-world problem
      • Practice the software development process
    • Present the project requirements:
      • Program must solve a meaningful problem
      • Must use appropriate algorithms and data structures
      • Must include functions/procedures
      • Must use selection and iteration
      • Must include appropriate documentation
      • Must demonstrate good design principles
    • Explain the project timeline and deliverables:
      • Day 23: Planning and design
      • Day 24: Implementation
      • Day 25: Presentations and unit review
    • Discuss evaluation criteria and rubric
  2. Brainstorming Project Ideas (3 minutes)

    • Students individually brainstorm potential project ideas
    • Consider problems that can be solved with programming
    • Think about interests and real-world applications

Main Activities (30 minutes)

  1. Project Selection and Requirements Analysis (10 minutes)

    • Students form project teams (2-3 students per team)
    • Teams discuss and select a project idea
    • Teams analyze the requirements for their chosen project:
      • What problem does it solve?
      • Who are the users?
      • What inputs and outputs are needed?
      • What functionality is required?
      • What data needs to be stored and processed?
    • Teams document their project requirements
    • Teacher circulates to provide feedback on project scope
  2. Algorithm Design and Planning (10 minutes)

    • Teams design the algorithms for their project:
      • Break down the problem into smaller components
      • Identify the main functions/procedures needed
      • Create pseudocode or flowcharts for key algorithms
      • Determine appropriate data structures
      • Plan the program structure and organization
    • Teams document their algorithm designs
    • Consider efficiency and usability in the design
    • Plan for error handling and edge cases
  3. Creating Project Specifications (10 minutes)

    • Teams create detailed project specifications:
      • Program structure and components
      • Function/procedure interfaces
      • Data structures and their purposes
      • User interface design (if applicable)
      • Test cases and expected results
      • Implementation plan and task division
    • Teams document their specifications
    • Prepare for implementation in the next class
    • Create a task list and assign responsibilities

Closing (10 minutes)

  1. Project Plan Presentations (7 minutes)

    • Each team briefly presents their project plan:
      • Project idea and purpose
      • Key algorithms and data structures
      • Implementation approach
      • Expected challenges
    • Class provides constructive feedback
    • Teacher offers suggestions and guidance
  2. Exit Ticket and Preview (3 minutes)

    • Teams submit their project plans and algorithm designs
    • Preview that next class will focus on project implementation
    • Remind students to think about their implementation strategy

Assessment

Differentiation

For Advanced Teams

For Struggling Teams

Homework/Extension

Teacher Notes