Day 1 - Introduction to Algorithms

Day 1: Introduction to Algorithms

Learning Objectives

Essential Questions

Materials Needed

Vocabulary

Procedure (50 minutes)

Opening (10 minutes)

  1. Welcome and Introduction (5 minutes)

    • Introduce the Algorithms and Programming Big Idea in AP CSP
    • Explain that this is the third of five big ideas in the course
    • Share the learning objectives for the unit
    • Connect to previous units (Creative Development, Data)
  2. Activating Prior Knowledge (5 minutes)

    • Ask students: "What do you think an algorithm is?"
    • Have students share examples of algorithms they might use in daily life
    • Create a class definition of "algorithm"

Main Activities (30 minutes)

  1. Mini-Lecture: What is an Algorithm? (10 minutes)

    • Define algorithm: a finite sequence of instructions to solve a problem or accomplish a task
    • Explain key characteristics of algorithms:
      • Precise and unambiguous steps
      • Finite number of steps
      • Produces a result or accomplishes a task
      • Deterministic (same input always produces same output)
    • Discuss examples of algorithms in everyday life:
      • Recipes
      • Directions to a location
      • Assembly instructions
    • Explain the importance of algorithms in computing
  2. Activity: Develop Algorithms for Everyday Tasks (10 minutes)

    • Divide students into small groups (3-4 students)
    • Assign each group an everyday task (e.g., making a sandwich, tying shoes, etc.)
    • Groups develop detailed step-by-step algorithms for their task
    • Emphasize the need for precision and clarity
    • Have groups exchange algorithms and attempt to follow them exactly
    • Discuss any ambiguities or missing steps discovered
  3. Introduction to Algorithm Representation (10 minutes)

    • Explain different ways to represent algorithms:
      • Natural language
      • Pseudocode (code-like language without strict syntax)
      • Flowcharts (visual representation with symbols)
    • Demonstrate how to convert a simple algorithm between representations
    • Show examples of well-written pseudocode and clear flowcharts
    • Discuss when each representation might be most useful

Closing (10 minutes)

  1. Group Sharing (5 minutes)

    • Have 1-2 groups share their algorithms
    • Class provides feedback on clarity and completeness
    • Discuss challenges in creating precise algorithms
  2. Exit Ticket (5 minutes)

    • Students create an algorithm for a simple task (e.g., calculating the average of three numbers)
    • Represent the algorithm using both pseudocode and a flowchart
    • Submit before leaving class

Assessment

Differentiation

For Advanced Students

For Struggling Students

Homework/Extension

Teacher Notes