Lesson 1Baby Steps With Marty

Knox badge
Marty RobotInteractive Instructions
Marty Robot

BGE Computing

J Balfour 2022

What is Marty Robot?

Marty is a relatively new robot developed to make learning to program more enjoyable! Unlike with Scratch, you'll actually get to see Marty performing actions you have programmed in the real world!

Marty has many motorised components as well as light-emitting diodes (LEDs) on his eyes, can make sound and much more.

Marty Robot

To access the editor, visit

When you are on the editor, click the "Yes, I accept" button.

I accept

After that, click on the "Marty Blocks" button. The editor should look very similar to something you've used before since it's identical to the Scratch editor. In fact, the editor can do everything that the editor in Scratch can do since it is actually written using the same editor underneath.

Look at the left sidebar to find the blocks available. Note that when you are blocks, only the blocks that have Marty's face next to them affec the real-world Marty Robot. Other blocks simply change the sprite on the right sidebar.

When you are ready to run your code, you'll need to run it on a computer with Bluetooth technology enabled. Chromebooks allow this functionality. Each Marty Robot has a unique name, (e.g. William) and a Bluetooth Device ID (28750A).


Similarities to Scratch

You will notice a lot of similarities to Scratch, from the way in which events are handled to the way in which variables are created.

Write a program, using Marty, to make him move 10 steps.

In this lesson we are going to make Marty perform actions when a key on the keyboard is pressed. For example, make Marty move forward one step when the W key is pressed.

Write a program, using Marty, to make him forward 2 steps when the key is pressed.

Connect to your team's Marty. Press the to test your Marty

Making a controller

In this lesson, you are going to be programming Marty to move when a specific key is pressed.

For this task, you need to figure out the most efficient way of making Marty move when each key is pressed.

Program Marty to move forwards when the key is pressed. He should only move one step.

Next, program the other three directional keys (, and ) so that he moves in each of those directions. Note, unlike Scratch, Marty cannot simply be told to move in a certain direction and requires you to rotate him first.

Avoiding obstacles

Now that you have managed to make your Marty move around, you may need to make him react to obstacles. For this task, collect one of the pieces of yellow paper. Place the yellow paper flat on a desk and put Marty on top of it.

Real-world colour varies a lot. When Marty is placed on the paper, there will be subtle differences in shade between different parts of the same page, despite the fact it looks like it is a single shade. This is an example of computers being more precise than humans.

Using the colour detector on Marty's foot, determine the range of colours you will get from his sensor.

How could you get Marty to move forward but stop if he is touching the yellow page?

You could use an if statement to check if the red value is > than a number and the red value is < a number.

This should work for a yellow page:

Sensor code

When the variable arrived is 1, then he cannot move.

Making Marty move

Now that you have developed your controller, let's see what else we can do with Marty.

Your next task is to make Marty move to the lilac sheet of paper. Estimate how many steps you think it will take for Marty to get there.

Program your Marty to move to that location and run it.

Exploring Marty

If you have made Marty move to the lilac sheet of paper, you are now allowed to explore what else he can do. In your log, record what you have tried out.

S1 Marty Robot Lessons
Provide feedback

What did you think of this?

-- DragonDocs version 0.9 --


Started on DragonDocs
Created a YASS/PHP and HTML-based system for saving and retrieving data

Added CSS styles to page
Added JavaScript code to the page

Added the multipage option (used in my dissertation)
Added the XMLHttpRequest-based multipage requests

Added the Accessibility features
Filters added

Purple filter added

Added the Note class
Added the Did You Know class

-- DragonDocs version 1.0 (Yosemite) --

First trial of DragonDocs in teaching

Added the Task, Starter, Review your learning sections

Added the feedback feature
Added the Dark Mode toggle

Performance gains through the removal of unnecessary code
Added the Learning Intentions and Success Criteria features
Added the school badge

Changed the headings (h2) to be more consistent with my website
Added sections to the pages - sections must be preceded by a h2
Added the "I have read this section" buttons
Changed the main heading zone to gradient text like my website
Added the table of contents feature

Added the Print feature
Updated the footer to feature a new gradient
Added the Test It! class
Added the green flag
Automated the table of contents using JavaScript

Added the 'includes' feature to the document, allowing inclusion of other files easily
Removed the requirement that the IP address must be one of the schools I have taught at, opening these documents to the public

Once a section has been read or completed, the user can now hide that section

Added the Extension task class
Changed the scrollbar on Windows to match that of macOS

-- DragonDocs version 2.0 (Kilimanjaro) --

Added the Save button and the ability to save 'results' or answers to a Word document

Added the large numbers class
Removed the background of the page navigation

-- DragonDocs version 2.1 (Aurora) --

Added the active class to active links in the bottom section

Added the image upload feature

Added a fix that prevents the upload of non-image files into an image upload
Added pasting images to the upload feature

Added the ability to view the changelog from a document
Improved the feedback system by recording the DragonDocs User ID and the Document ID data
The feedback from DragonDocs can be accessed much easier

Added the new step_by_step_mode feature, allowing sections to be viewed individually