5.2. Logo Part 2

This lesson introduces the concept of parameters as a means of creating procedures that can be more easily reused in a program. Students use an updated version of the Logo app that includes parameters for the forward and turn procedures to change the size of the angles allowing the creation of more complex shapes.

CSP Framework
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.L: Compare multiple algorithms to determine if they yield the same side effect or result.
Learning Objective AAP-2.M.a: For algorithms: a. Create algorithms.
Learning Objective AAP-2.M.b: For algorithms: b. Combine and modify existing algorithms.
Enduring Understanding AAP-3: Programmers break down problems into smaller and more manageable pieces. By creating procedures and leveraging parameters, programmers generalize processes that can be reused. Procedures allow programmers to draw upon existing code that has already been tested, allowing them to write programs more quickly and with more confidence.
Learning Objective AAP-3.A.a: For procedure calls: a. Write statements to call procedures.
Learning Objective AAP-3.A.b: For procedure calls: b. Determine the result or effect of a procedure call.
Learning Objective AAP-3.B: Explain how the use of procedural abstraction manages complexity in a program.
Learning Objective AAP-3.C: Develop procedural abstractions to manage complexity in a program by writing procedures.

Professional Development

The Student Lesson: Complete the activities for Complete the activities for Mobile CSP Unit 5: Lesson 5.2 Logo Part 2.

Materials

  • Presentation system (LCD projector/Interactive whiteboard)
  • Access to computer, laptop, or Chromebook (install the Companion app on Chromebooks)
  • Access to mobile device with the Companion app installed or access to the emulator installed on the computer or laptop. 
  • Logo Part 2 Tutorial (video or handout)
  • Graphing paper - You can print graph paper from www.printablepaper.net

5.2.1. Learning Activities

Estimated Length: 45 minutes

  • Hook/Motivation (5 minutes): Discuss the Logo Part 1 tutorial and its limitations. First ask the students to summarize what the program did. Then ask the students what they think might make the program better. Hopefully students were frustrated by the weakness of the forward and move commands in the previous lesson and will be receptive to introducing parameters into the forward(N) and turn(D) procedures.

    Another possible hook is to go through the song This Old Man and have students point out the repeated lines and then create parameterized procedure calls for each verse like verse("one","thumb"), verse("Two","shoe"), etc. to introduce procedural abstraction with parameters.

  • Experiences and Exploration (30 minutes):
    • Parameters Introduction (15 minutes): Introduce the concept of parameters for the forward and turn procedures. On the board, develop new algorithms for different sized squares or have the students rewrite their drawFace procedure from the previous lesson using the more powerful set of procedures. Discuss how parameters make the procedures more general (more abstract) and why this is useful. Discuss how the students have begun to evaluate the Logo 1 algorithms for efficiency. As they will see, there are more efficient ways to write algorithms and they should check that the algorithms they will write for the Logo 2 lesson are efficient and clear.
    • Programming (20 minutes): Have the students open the Logo Part 2 (with parameters) tutorial and have them complete the exercises on their own. You may need to go over angles. The shapes are drawn using exterior angles where 360/number of sides. So for a triangle, it's 360/3 sides = 120 degree turns. See solution file below under Assessments.
  • Rethink, Reflect, and Revise (10 minutes): Review the lessons learned about algorithms and procedural abstraction. Have students post a reflection on their portfolio and complete the interactive exercises. One of the main lessons should be that our abstractions — i.e., the particular set of procedures we use — have an enormous impact on our algorithms. Procedural abstraction makes it easier an algorithm by raising the level of abstraction. To illustrate this, ask them to think about what the algorithm for a face would if we had to describe it completely in terms of just forward and turn rather than in terms of square, triangle, and circle.

5.2.2. Professional Development Reflection

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

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