Lesson plan – EduBlocks, hide a diamond find a diamond

Lesson plan – EduBlocks, hide a diamond find a diamond

A few weeks ago I was tasked with presenting a lesson of my choice to my PGCE interview panel. The lesson I developed was using the EduBlocks, hide a diamond, find a diamond tutorial. 

EduBlocks is a language developed by Joshua Lowe and was designed to make the transition from Scratch to Python easier. Retaining the drag-and-drop style mechanism of Scratch, but incorporating Python code onto the blocks to make the language and syntax more familiar, without the frustration of having to type out each line of code. After using EduBlocks, students familiarity of the language helps reduce frustration and errors when it comes to having to write the code by hand.

Lesson Overview

In this lesson, students will use the basic principles of coding to solve a problem in Minecraft. They will then extend this to use physical computing to enhance their program. This lesson is suitable for students who are already familiar with the concepts of sequencing, variables, selection and repetition, are confident using Scratch, have experience using EduBlocks, but have no experience of a text-based programming language. Students may have had previous experience of using libraries, but this is not essential. They do not need to have any experience with physical computing.

Lower ability students may struggle to complete the tutorial but should enjoy tackling a puzzle in an engaging environment such as Minecraft. Extension activities are available for students who finish the tutorial quickly.

The lesson requires access to Raspberry Pi computers. I will be using the Pi-Top CEED for this lesson, as it provides a modular desktop powered by the Raspberry Pi and the capability of introducing physical computing to students.
This lesson works very well if students work together using pair programming.

You can download a pdf of this lesson plan from the EduBlocks website here.

Lesson Objectives

Students will be able to:

  • Use EduBlocks to build a program in Python
  • Use the Minecraft Python library
  • Run an EduBlocks program in Minecraft
  • Solve a problem using code
  • Use EduBlocks to send instruction to external components
  • Understand how to connect a LED

Materials and Prep

  • Pi-Top CEED and Raspberry Pi with Minecraft and EduBlocks installed
  • USB mouse, keyboard and power supply (one per Pi-Top)
  • EduBlocks – EduBlocks
  • Pringles can ‘o lights (one per Pi-Top)


Sequencing – providing step by step instructions to the computer in order
Variables – the process of storing data
Selection – making a decision on what happens next based on a condition
Repetition – the process of running a program a certain number of times or until a condition is met
EduBlocks – a visual coding language based in Python
Library – a collection of precompiled routines that a program can use
Raspberry Pi – a computer
Physical Computing – adding external elements to a computer program
LED – light emitting diode


Introduction – 5 minutes
Explanation – 5 minutes
Activity – 15 minutes
Explanation – 5 minutes
Activity – 20 minutes
Plenary – 10 minutes

Introduction (5 Minutes)

Students are introduced to the lesson by explaining that they are going to use code to solve a problem in Minecraft. They will use familiar concepts such as sequencing, variables, selection and repetition (recap on what these are), but that they will be using a language called EduBlocks, which works in a very similar way to Scratch, but uses the Python language to send instructions to Minecraft.

Explanation (5 Minutes)

Students will also be introduced to the concept of a library, which they will use to communicate with Minecraft. The Minecraft API Library gives the user a list of commands to do common tasks in Minecraft, such as getting the type of block used at a particular location or setting the player’s position to another location in the world. Libraries are developed to make common tasks easier to do.

Activity (15 Minutes)

Students should follow pages one to five of the workbook, EduBlocks – Minecraft: hide a diamond, find a diamond.
In this section of the tutorial, students will create a program which creates a diamond block and positions it at a random location in the Minecraft world. After placing the diamond block, the player will briefly be shown the location of the block before being instructed to try and locate it.


Should students complete the tutorial, they may be set a number of extension challenges;

  • Change the type of block that is hidden
  • Reduce the amount of time where the player is shown the location of the block
  • Personalise the messages displayed to the player

Explanation (5 Minutes)

Students will then be introduced to the concept of Physical Computing, by adding LED’s to the Minecraft game to make it more interesting. The students will need to program the lights to flash if the player gets within a certain distance of the hidden block.

Activity (20 Minutes)

Students should work through pages six to ten of the workbook. While the additional code is very simple, the majority of time should be spent connecting the external elements to the Raspberry Pi.


Should students complete the tutorial, they may be set a number of extension challenges;

  • Change the location of the block (remember to change the coordinates in all relevant places
  • Make the lights flash faster or slower
  • Make the lights flash faster the closer the player gets

Plenary (10 Minutes)

  • Students should be asked to reflect on their learning. What did they learn? What did they enjoy about the lesson?
  • Students can discuss what other external elements might be used in a computer program, perhaps relate this to elements being either inputs or outputs.
  • Students should be given time to ask any questions they may have relating to the lesson.
  • The next steps following this lesson are to develop further learning involving physical computing, integrating the theory of hardware computer components to programming.
  • Students should be assessed before the lesson finishes. This should be done using an online check (i.e. Google form) for easy sorting and analysis, and also to allow tracking of progression between lessons.
Thanks for reading!
Like me on Facebook - Follow me on Instagram - Follow me on Twitter

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.