Creating A Maze Solving Unit For Your Digital Technologies Class

All

Maze challenges are great cumulative activities for digital technologies classes. Maze solving algorithms incorporate branching and iteration and require students to understand sensor data. This blog post will cover:

  • The digital technology learning objectives which maze algorithms cover.

  • Different maze complexity and how to make mazes the appropriate complexity for your students.

  • Assessing work and achievement standard.

  • How to build your student's knowledge throughout the term so they are ready to attempt maze assessments.

 

What Skill Level Are Mazes Appropriate For?

Mazes can be a great challenge for students of all skill levels. Maze complexity can be adjusted easily with changes to layout and the optional inclusion of various challenges. As the maze becomes more complex, the algorithm students create will become more sophisticated. You can tailor a maze to meet the desired learning objectives necessary for your student’s skill level.

 

Possible Maze Unit Learning Objectives

Branching, Iteration & Algorithm Design

To complete a maze, students will need to design an algorithm for their Rover. The algorithm will instruct the Rover how to handle path formations and maze challenges. Successful maze algorithms will require students to have a comprehensive understanding of branching and iteration. The more complex the maze, the more sophisticated the algorithm required to solve the maze will need to be. Maze algorithms will typically implement comprehensive branching logic using IF / Else / Else If blocks and conditional operator (>, <, ==, !=) blocks. Branching logic will often need to be repeated, this is done using a variety of Loops.

Understanding & Analysing Sensor Data

Depending on maze complexity, there are a range of sensors students can use to solve challenges and optimize their algorithm. Most common mazes will require students to utilize the Rovers ultrasonic, IR and colour sensors. The IR and ultrasonic sensors will be used to detect the walls of the maze. The colour sensors are used to detect changes to floor colour e.g. to detect when the rover finds the finish point or an obstacle. More complex solutions may also make use of the gyroscope.

You can create criteria that tests student’s ability to understand how the sensors generate their data and then organize and analyse this data. An example of an auxiliary objective might be for students to correctly have their rover determine how many left and right turns it made while solving the maze based on gyroscope data. To complete this, student’s need to understand how the gyroscope collects its data, what type of data that is and how to translate that data into useful information.

Team Management & Planning

Mazes can be quite a complex task. It’s common for students to work in pairs or small groups to work on their algorithm collaboratively. An example of how groups completing coding challenges can be organized is to delegated a specific challenge in the maze to each student to program. Once each student has their individual piece, the team has to merge their individual parts together. This is often a slow way to approach programming for students however it forces students to practice explaining their thought process and code to their peers. Being able to successfully explain their code to others is indicative of quality communication skills.

 

Designing A Maze and Adjusting Maze Complexity

Different maze configurations will offer different opportunities for students to engage digital technologies knowledge and understanding. The appropriate maze complexity is also necessary to allow students to demonstrate the necessary achievement standard for their year level band. Below are three examples of mazes with varying complexity.

beginner.png

Beginner

This beginner maze has simple path formations. There are no dead ends or T intersections, only left and right turns.

This maze can be solved with just the ultrasonic and IR distance sensors. A basic understanding of branching and iteration can be learnt from completing a maze like this.

 

Intermediate

This maze has more complex path formations with the inclusion of T intersections and dead ends.

The green rectangle is a coloured floor to signify the finish zone. Students need to use the Rover's colour sensors to detect and stop the Rover when they reach the finish zone.

This maze requires an understanding of colour sensor data and more complex branching logic to handle the additional path formation and colour challenge.

intermediate.png
 

Advanced

This maze has the same variety of path formations as the intermediate maze however there are more coloured floor challenges.

The red coloured section indicates an impassable obstacles like a fire. Rover’s are not allowed to cross the red area.

The blue zone acts as an additional maze objective. Rovers must enter the blue zone before they can stop and finish in the green zone.

The addition of two new colour challenges will require more sophisticated branching logic relative to the intermediate maze.

hard.png
 

Other Ways To Vary Maze Complexity

You can increase complexity a variety of ways beyond what we’ve mentioned so far. Here’s a quick list of some other ways you can diversify maze exercises.

image 33.png
  • Having students keep a small object/s (e.g. a rubber duck pilot) balanced on top of their Rover. This makes it it imperative to not drive up walls and lose the passenger/s.

  • Add more colour challenges e.g. go to all 3 colour zones before completing the maze.

  • Add a maze minotaur! This can be a different Rover you programmed to roam the maze which students have to avoid.

  • Get creative with your path formations, for example:

    • Bridges and ramps which students can detect with their gyroscope and accelerometer,

    • Turns at various degrees, not just 90 degree angles,

    • Straight paths with changing width.

  • There and back! Students have to find the centre of the maze then return back through the maze to the entrance the same way they came in.

  • Expand your Rover’s with 3D printed attachments like scoops and task students to collect treasure in the maze with their scoop attachment.

Not all of these extra challenges will make the maze vastly more complex. They can make things more interesting and fun though. The more interesting the maze, the more invested students may be in solving it. We encourage you to get creative with ways you can add challenge while making it fun.

 

Assessing Successful Maze Solutions

The goal of running any digital technologies unit like maze solving is to allow students the opportunity to learn programmatic thinking and demonstrate understanding of these concepts through application. Criteria to assess students understanding of the concepts being taught doesn’t have to be pass or failed based on whether the students successfully solve the maze or not. Let’s look at different ways we can access students in complex challenges like maze solving.

Completing The Maze

The easiest way to test if students have created a satisfactory maze algorithm is to run it in the maze. Ideally, all students will be able to solve the maze. In some circumstances student’s may not finish the maze, we’ll get to ways to still assess their understanding in the next section. For students who complete the maze, there are still ways to distinguish higher quality algorithms that can be indicative of a more proficient understanding of digital technologies and robotics.

Below is an example task description for an assessment sheet using the intermediate maze we outlined in the previous section.

 

Design and program an algorithm to navigate your Rover from the start point to the finish zone. The rover must start at the designed start point and find it’s way to the finish zone.

Maze Objectives

  • The rover reaches the finish zone (5 marks)

  • The rover comes to a complete stops in the green finish zone (2 marks)

  • The rover finishes within 3 minutes (2 marks)

  • The rover doesn’t break any walls (1 mark)

 

What is Hard Coding?

Completing the maze is a good indicator that the student/s have created a satisfactory algorithm however students may have created a solution that is hard coded. Describing a solution as “hard coded” indicates that it used a predetermined set of instructions that that will execute the same way no matter what. For a maze, a student may “hard code” a solution so the rover will always move and turn in the same pattern by just using movement blocks and using no branching or iteration. A hard coded solution will only ever work for one maze configuration. We want to avoid this as students haven’t demonstrated they understand programmatic thinking. Thankfully making sure student’s cannot hard code a solution is easy. Here are some example of ways to structure your maze assignment to prevent student’s from succeeding with hard coded solutions,

  1. Require the students to complete multiple attempts of the same maze but change the Rover’s start point for each attempt. Students are not allowed to change their code between attempts.

  2. Have two or more mazes set up that the students must complete. The students must run the exact same code for both mazes.

  3. Look at their code and make sure they aren’t using just motor blocks and instead use branching and iteration.

  4. Have students write their algorithm and practice on a different maze configuration than the final assessed maze. This won’t give them an opportunity to hard code a solution before attempting the assessible maze.

Should A Maze Have A Time Limit?

Having a time limit to maze attempts can be a positive and negative addition. A well tempered time limit (which will change depending on maze complexity) will encourage students to optimize their Rover’s algorithm which is good. If you set an unforgiving time limit an algorithm that might have eventually solved the maze may not finish it in time. Speed isn’t the only metric for algorithm quality. Solving a maze in a specific time might be a great additional challenge for more advanced students to strive for but we would not recommend it being a pass/fail criteria.

 

Supporting Documentation To Explaining The Algorithm

It’s often a good idea to give students a chance to demonstrate their understanding of the programmatic thinking required to create an algorithm outside of code. This will give students who may not have completed the maze or are still struggling to translate programmatic thinking to actual written code the chance to demonstrate a satisfactory achievement standard. A supporting document that is submitted with their maze attempt is one way to do this. The form of this document is up to you, what’s important is students explain the thinking behind their algorithm.

Supporting documentation which walks through how an algorithm works and what data is used can be submitted before or after the maze code is actually written. If it is submitted before, students will have a chance to think through how their solution will work before jumping into code.

Here is an example task description for a potential supporting document,

 

Provide a flowchart showing the steps your Rover follows when executing your maze solving algorithm. Your flowchart should show where you’ve used Branching and Iteration and where your algorithm uses sensor data. Explain what type of data the sensors use and how you have used that data in your algorithm.

Objectives

  • Identify where you’ve used branching and explain why it you have used it (1 mark)

  • Identify where you’ve used iteration and explain why it you have used it (1 mark)

  • Identify what type of data you are gathering from the sensors and explain why your algorithm needs to collect this data (3 marks)

 
 

Assessing The Code

The code produced by students is important to look at but it is also important to not judge a program just by it’s code quality. As with all programming assessment, it’s hard to judge the quality of an algorithm based entirely on how many lines of code there are. Two different programs may solve the maze with the same speed and efficiency but look completely different. It’s a good idea to check student code to make sure they are producing a genuine algorithm and not a hard coded solution but we wouldn’t recommend creating marking criteria based on the code written. Instead, provide marks based on if and how the algorithm completes the maze and on how students explain and understand the code as we’ve outlined in the previous sections.

 

Building Knowledge Needed For A Maze

If students are not at the skill level yet to attempt the maze configuration you have planned it’s best to build their knowledge. If prematurely tasked to complete the maze they may get overwhelmed and have difficulty knowing where to start. Below we’ve outlined a general structure of how you can teach the skills required incrementally. Start at the step which feels most appropriate for how familiar your students are with coding in general and using the Micromelon Rover.

How you organize the lessons leading up to your maze assessment will change depending on student skill level and the time available. These steps don’t have to be rigid lessons. You may be able to accomplish multiple steps inside a single lesson or delegate some activities for homework using the Micromelon Simulator. If you don’t know what the Micromelon Simulator is you can read more about it here.

 

Step 1: Rover Movement

The primary challenge of the maze is to navigate the path formations. To deal with these path formations, students will need to be familiar with how to program the Rover’s motors to move and turn the Rover.

Activity: Driving ShapesRead More

Activity: Driving Shapes

Read More

Activity

If your students have no knowledge of Micromelon Rover’s and how to program them, start with the activity Driving Shapes. This is a beginner activity which has students learn the basics of moving their Rover forwards and turning with the potential for some loop usage.

More advanced way to control the motors will be necessary for completing the maze however this knowledge will be passively learnt when completing some of the other activities that we will cover when learning the about data and sensors.

 

Step 2: Introducing The Colour Sensor, Branching and Iteration

Once students have a basic understanding of programming the Rover you can move onto incorporating sensors into some simple algorithms using branching and iteration. This will give students a chance to start getting familiar with incorporating branching and iteration into a single algorithm and also learning how to program the colour sensor. If you are using a maze with no colour based challenges, feel free to this step.

Basics Of Colour SensorRead More

Basics Of Colour Sensor

Read More

Understanding The Colour Sensor

This post will cover some of the science behind how the colour sensor works, the limitations of the sensor and how to code them. Having an understanding of the fundamentals of how colour sensing works will help students implement it in activities.

If you’re limited on in class time, assign this post (and the other Basics Of posts) as homework reading before class.

 

Activity

The activities Stop on Colour and Prison Escape are great for learning how to implement sensor data into simple algorithms that use branching logic and iteration. Both of these activities require the using colour sensor. The complexity of algorithm necessary for completing these activities will not be as complicated as what is required for an efficient maze algorithm.

Activity: Stop On ColourRead More

Activity: Stop On Colour

Read More

Activity: Prison EscapeRead More

Activity: Prison Escape

Read More

 
 

Step 3: Learning The IR Sensor Ultrasonic Sensor & More Complex Algorithms

The primary challenge of any maze is navigating the path formations. To move the rover through the maze efficiently we need to monitor where the walls are in relation to our rover. The front ultrasonic sensor and two side IR sensors are all distance sensors that we can use to detect how far away walls are. Having a thorough understanding of how these sensors work is imperative to a successful maze solution.

Understanding the Ultrasonic & IR Sensor

Knowing the science behind how the ultrasonic & IR sensors work provides students with a knowledge base that allows them to understand the limitations of the sensors and how to use them appropriately. We’ve written a post about each of these sensors that students can read to get familiar with the sensors.

Basics Of The IR SensorsRead More

Basics Of The IR Sensors

Read More

Basics Of The Ultrasonic SensorRead More

Basics Of The Ultrasonic Sensor

Read More

 

Activities

Puppy Bot and Lane Guidance activities both require distance sensing to complete successfully. Puppy Bot will make use of the Ultrasonic primarily and Lane Guidance will make use of the IR sensors. In their most basic form solutions for these activities will require students to understand how to use sensor data in conditional operators. They will also allow students to continue practicing how to use the IF / ELSE / ELSE IF blocks to create branching logic and Loops to repeat sections of code.

Activity: Puppy BotRead More

Activity: Puppy Bot

Read More

Activity: Lane GuidanceRead More

Activity: Lane Guidance

Read More

 
 

Step 4: Practicing In A Maze

Once students are familiar with how to use all of the sensors required and are familiar with branching and iteration it’s a good time to start getting into a maze. This doesn’t have to be the final maze they are attempting but it may be an alternative version of the intended maze configuration or a less complex practice maze.

Micromelon Robot Simulator

Micromelon Robot Simulator

Making Maze Practice Easy

If you’re looking for an easy way to give students an opportunity to practice in a maze without having to go through the hassle of setting up a maze in class, you can always use the Micromelon Robot Simulator. The Simulator provides you with a virtual environment you can create a endless number of maze configurations students can practice in. Students can access the simulator from home so they can practice homework.

If you want to read more about how to get started with the Simulator read this blog post

 

Wrapping Up

In this post we’ve covered what maze challenges are, what they teach, how to assess them and how to prepare our students for them. Hopefully from here you can incorporate a maze challenge into your digital technologies classroom.

If you’ve got any questions about running mazes challenges or about Micromelon Robotics please feel free to reach out the Micromelon team.

 

Related Posts

Previous
Previous

The Ultrasonic Sensor

Next
Next

Case Study: Year 7 Digital Tech at St Peters Lutheran College