1.2. Mazes Algorithms and Programs

This lesson provides an introduction to blocks-based programming and basic algorithm and programming terminology. Students are instructed to complete a sample Blockly activity in which they create small programs (scripts), using blocks, to solve mazes. The students are directed to the Angry Birds maze activity. After the instructor demonstrates the program, students may work alone or in pairs. Note: This is the first lesson using the lesson plan format for Mobile CSP. Most of Unit 1 are set up activities and background information for teachers. This lesson plan format will be used more extensively in Units 2-7.

CSP Framework
Big Idea 1: Creative Development (CRD)
Enduring Understanding CRD-2: Developers create and innovate using an iterative design process that is user-focused, that incorporates implementation/feedback cycles, and that leaves ample room for experimentation and risk-taking.
Learning Objective CRD-2.B: Explain how a program or code segment functions.
Big Idea 3: Algorithms and Programming (AAP)
Enduring Understanding AAP-2: The way statements are sequenced and combined in a program determines the computed result. Programs incorporate iteration and selection constructs to represent repetition and make decisions to handle varied input values.
Learning Objective AAP-2.A: Express an algorithm that uses sequencing without using a programming language.

Professional Development

The Student Lesson: Complete the activities for Unit 1 Lesson 1.2: Mazes, Algorithms, and Programs.

Materials

  • Laptops/Computers
  • Presentation system (LCD projector/Interactive whiteboard)

1.2.1. Learning Activities

Estimated Length: 45 minutes

  • Hook/Motivation (5 minutes): Think-Pair-Share: Ask students how they would define the word algorithm to get them more familiar with the term, which is one of the main ideas in the course.
  • Experiences and Explorations (25 minutes): Lead the students through one of the Blockly mazes. Start them off by completing at least two levels with the class as a whole. After doing some examples, split the students into pairs and let them try completing the remaining levels. The class challenge can be to complete all the levels.
  • Rethink, Reflect and/or Revise (15 minutes): Blockly is a blocks-based programming language. It differs from text-based languages that students may have heard of, such as Java and Python. Visual, blocks-based languages make programming more accessible to beginners. Programming with blocks helps avoid making frustrating typographical errors. You can put blocks together to solve problems, such as mazes and puzzles. Review the types of control structures that make up algorithms: Sequence, Selection, and Repetition. Ask students to identify which mazes use those control structures and what blocks correspond to them.

    After the discussion, if there is time, ask students to consider the Food for Thought section on whether or not there are algorithms or problems that can't be solved. (Yes, there are and we will discuss them later in the course.)

1.2.2. Professional Development Reflection

Discuss the following questions with other teachers in your professional development program.

  • How does this lesson help students toward the enduring understanding that programs are developed by people for solving problems and for executing algorithms? 
  • How do the lesson activities promote the CT (computational thinking) practices of creating and analyzing an app (a computational artifact)? 

Professional Development Exit Slip

    I am confident I can teach this lesson to my students.
  • 1. Strongly Agree
  • 2. Agree
  • 3. Neutral
  • 4. Disagree
  • 5. Strongly Disagree