Instruction Guide: EV3 - The Robo-Tagger

In this Lesson we have 3 Primary Instruction Resources (Note the first 2 were also used in the Pseudocoding Lesson):

  1. The 1st resource is a EV3 Trainer video on Big Ideas that covers breaking down tasks into smaller behaviors
  2. The 2nd resource is a EV3 Trainer video on Iterative Design that covers breaking down projects into smaller behaviors
  3. This "Problem Solving with Programming" pdf

This lesson ties together all the learning to date. The students must design a robo-tagger that will use a dry-erase marker to write block characters on a horizontal white board. Block letters are used to force the students to use a third motor to raise/lower the marker between characters. Constraints on the size, spacing and alignment of letters forces precision maneuvering.

Resource 1:

Students should review:

The EV3 Trainer:

  • Basics > Big Ideas 4-5

    • 4. Break Down Problems and Build Up Solutions

This videos covers breaking down a large task into smaller behaviors, and then breaking down those behaviors until one can describe the behaviors in terms of the instructions available in the programming language.  Then constructing a program by building up the solution.

Resource 2:

Students should review:

The EV3 Trainer:

  • Final Challenge > Resources

    • 2. Iterative Design

This videos covers how building up a solution by getting one small piece to work, then incrementally adding additional small pieces allows for easier debugging and robust solutions.

Resource 3:

This "Problem Solving with Programming" pdf  from the "NXT Video Trainer 2.0" discusses the incremental design and is applicable to EV3.  This approach of breaking a large task down, and then incrementally designing/testing one piece at a time is a great antidote to most students' compulsion to jump right in at try to write a complex program all in one step.  This is a graphical representation of the the concepts cover in the the Resources 1 & 2 videos.

Robo-Tagger Challenge

This challenge is laid out in the Robo-Tagger Task Assignment Sheet:

  • The included challenge has student write "10".  To extend the challenge, select other letters or digits that have meaning to the students but also include both straight and curved segments.  Having students write their school initials (which likely end in ..HS or ..MS) ups the ante significantly since the "H" or "M" requires aligning sequential straight segments and the S requires aligning half-size (compared to "0") semi-circles.
  • If desired,  use electrical tape to add a black border or other registration marks on the whiteboard to assist with alignment (using the light sensor)
  • You can decide whether or not to allow use of the sound sensor to control robot actions (or don't mention it and see if anyone thinks of it).
  • Have students explain the following:
    • How they made trade offs in their hardware design (how/where they attached/moved the marker,etc.) and the implications of these choices on their software design
    • How their flow chart/pseudocode describes the overall program design
    • How their EV3-G program implements each of the blocks in their flow chart (including comments that identify the flow chart blocks/pseudocode )
    • Ask about the program development process - did they use the incremental approach?
      • What other "Best Practices" would they recommend for program development

Have students document the steps of the Engineering Process (restate challenge in their own words, identify related web sites, etc.) that they use in developing their dragster. This Engineering Process Log_hardcopy Word file may be used to document these steps on paper and this Engineering Process Log_electroinc Word file may be used for computer-based documentation.

These resources may be used for pseudocoding or these for Flowcharting to help students breakdown this compex task