Teachers find EduBlocks useful for filling in the missing link for students going from Scratch to Python, as it makes it a simple matter to teach core programming concepts such as sequencing, selection, and iteration that are important for learning text-based programming. It’s designed to be really easy for students to compare their Scratch code to Python code by using the same block shapes and visual environment
Python text view
With a click of a button, students can enter Python text view, where they have access to a Python text editor. In this view, students can look at their block code in Python text format, again making the link between the block code they just created and what they’d have to type into a text editor if they were coding in Python. Students can edit their code in the text view once they are more confident with using Python.
Fun and engaging Python libraries
Some students can find going from a visual environment like Scratch to a text environment like Python quite boring. I’ve tried to add as many fun and engaging Python libraries, such as Turtle and Processing, as possible so students can create fun projects similar to Scratch, but with a text-based language.
What can EduBlocks do?
I’ve tried my best to make the program as accessible as possible. EduBlocks has four modes, each with its own set of blocks. The most popular mode is Python 3, which is a web-based mode that anyone can use on any device with a modern web browser. It runs on Trinket, a popular browser-based implementation of Python, so there is no need to install anything. In this mode, students can learn the basics of Python, like how to use iteration, selection, functions, lists, and variables, as well as create projects with fun libraries such as Turtle, Pygal, and Processing.
EduBlocks also works with popular hardware-based, Python-powered boards, such as the BBC micro:bit, which allows teachers and students to create physical computing projects in the classroom with MicroPython. There’s full support for all of the on-board micro:bit features and the layout is very similar to Microsoft’s MakeCode, providing a familiar experience for students. Alongside this is support for Raspberry Pi and Adafruit’s CircuitPython, which covers all the major physical computing platforms. Examples of some projects young people have made in the past are a neopixel clock and an automated plant-watering system. EduBlocks is great for making these sorts of projects; without it students would need to learn Python to program. As a result, the tool also enables more students to access concepts like physical computing.
Inside the EduBlocks editor, there is a range of handy features for teachers. A bank of example programs within each EduBlocks mode can be loaded up with a few clicks, providing quick examples that teachers and their students can tinker with. Alongside this, there’s a login system that allows students to save code to their Google, Microsoft, Apple, and email accounts so that transferring code from different machines is easy. Through this system, students can also share their code via a shareable URL that makes collecting code files at the end of a lesson simple. Another handy feature is split view, which allows teachers to have blocks on one side and a text-based Python editor on the other, so that they can see the Python code in real time.
Resources for teachers
EduBlocks has a number of tutorials that are built for use in the classroom. The EduBlocks Learning Portal (learn.edublocks.org) has a growing bank of resources that teachers can use in class and covers all sorts of different projects using Python, BBC micro:bit, Raspberry Pi, and CircuitPython. Each project has explanations for each block, so students know exactly what each part of the code is doing. In addition, there are a number of unofficial resources on the internet that are written by teachers who have already started to use EduBlocks in their classroom.
One of the best resources for teachers to use is the six-week EduBlocks Python Curriculum. This curriculum is designed to cover core Python programming concepts to help students make the move from Scratch to Python. It uses Turtle to provide a fun and engaging set of lessons, with each lesson building on previous lessons to the point where ultimately, each student creates their own individual Python project. It’s completely free (curriculum.edublocks.org) and each lesson has a lesson plan with an accompanying slideshow and code examples.
For those teachers wanting to get some EduBlocks lessons started via remote learning, the EduBlocks Home Learning page (learn.edublocks.org/tutorial/home-learning) is the place to go. It’s full of resources created by teachers, such as home learning resource sheets and video lessons. They’ve all been designed for remote learning, making them ideal for students new to EduBlocks.
How can teachers get involved with the project?
EduBlocks is a free open-source project which is built on top of community contributions for both software and resources. It’s only possible due to a number of people who have helped me get it to where it is today. The best way for educators to get involved in the project is by sharing any teaching material you make with EduBlocks, so that teachers all around the world can make use of the project in their own classrooms. I hope that you can find a use for EduBlocks in your own classroom and that it helps your students move from blocks to text. You can find out more about the project at edublocks.org and access the editor via app.edublocks.org.