I recently was lent a SAM Labs kit from MTA, so I decided to design a unit for an upcoming STEM class. I normally beta test these with students before I blog, but I couldn’t wait to make these available, and maybe you can give it a go.
The unit is wide open, with a lot of work in having students identifying a problem that needs to be solved or how life can be improved with some kind of IOT device. While this has always been my dream, its probably only for the brave and perhaps a hackathon in a restricted context is wiser.
I have also used Blockly via Workbench, which is starting to complement Makecode nicely. The standard environment for SAM Labs is their proprietary App which is a node-based coding environment.
The unit also uses Agile project management and team problem solving for all those 21st Century soft skills. These are also mapped into both the Digital and Design Technologies syllibi.
The unit can be downloaded as a Onenote or PDF and other goodies are available on the DigTech page.
I have previously blogged my Makecode fandom and now I have played with LEGO Mindstorms. I must note that very soon LEGO will be replacing their EV3 lab software with EV3 classroom, which will be based on scratch. The good news will be that the learning resources for Makecode can be easily ported to Scratch and vice versa. Therefore, the unit that I have developed should be pretty sustainable, no matter which platform you end up using.
I have uploaded, both a Onenote and PDF of a unit that takes students through the basic and then has them managing a team project for a Sumo bot challenge. I also have the EV3 lab versions in Onenote and PDF. These and other goodies are available on the DigTech page.
I have blogged previously about my love of all things MakeCode and one of my favourites is coding in Minecraft. Recently, I have remixed the lessons from Minecraft Education Edition to fit them to my context.
There are a few options for learning and developing pure 2D game design, without being bogged down in coding: Construct2, Construct3, Gamemaker. I can recommend Construct 2 and the free version has few limitations. The others have a price attached and are probably worth it if you have the budget to spare.
I thought I would give a new player a go in my ICT Applied class. Below is my Unit and resources:
The Digital Technologies Syllabus emphasizes designing algorithms, testing, evaluating and refining them. I find block-based coding environments very effective for this. I also developed this workshop for years 5-6, so text-based coding is not stressed particularly.
The limitations of Scratch, also, only serves to emphasize the validity of text-based coding as the destination. For example, Scratch does not have For loops, so Repeat Until loops need to be utilized; and then there is no > than or = to facility. This workshop is all about turtle graphics, but there is no fill block or function; necessitating turtle python or processing.
Logo (for those old enough to remember) was my first introduction to programming and it really got me hooked; so I’m hoping it does the same for my students.
I also purchased a Makelangelo Art Robot as one way to output their designs. I also plan on 3D printing, Laser and CNC Etching and Machine Embroidery with Inkstitch. Maybe I will get back with the results.
For younger students, we use BBC Micro:bit to introduce them to programming and connecting the physical inputs and outputs needed with embedded systems. We do this mainly based on the learning resources we have access to, which generally target younger students. Otherwise, the BBC Micro:bit is very comparable to the Circuit Playground Express.
The Circuit Playground Express (CPX)
The reason we use the CPX for years 9-10 is because Adafruit provides such good support via MakeCode , CircuitPython and their own learning system. Their projects are also a little more advanced and challenging.
From Blocks to Text
I have recently written a unit for year 7, to transition them from block coding to text-based coding in Python. In years 8-9, I continue this somewhat by using block coding as my algorithm designer. Here, students can design their solution, test it and then refine it to make it more efficient. For example, instead of a series of sequenced commands that repeat, students can get the sequence working and then refine the algorithm with loops; and then test it again. I find the drag and drop nature of block coding to be a better environment for prototyping because you can work on several iterations of a design quite quickly and its a more visual experience as well. In particular, its probably a superior environment for beginning with embedded systems, such as the BBC Micro:bit or The Circuit Playground Express. In fact, these environments have a text coding view as well; facilitating the transition to text-based coding.
In this unit, I introduce students to python via turtle graphics. Here is my Unit; enjoy!