Creative Coding with Blocks

Why Blocks?

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.

Why Creative?

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.

Here is the Workshop, enjoy!

Creative-Coding-with-Blocks

NOTE: The latest updates, revisions and OneNote files may be found in the DigTech Resources menu link above

Embedded Systems with MakeCode, CircuitPython and the Circuit Playground Express

The BBC Micro:bit

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 like to have students design and prototype their algorithms in a block-based programming environment. I find this to be easier and more efficient when cycling through several iterations of solution design and testing. It’s also a more visual and coherent experience. With CPX, I start with MakeCode and have students implement their final solutions in CircuitPython. Interestingly, Adafruit went with MakeCode and not Edublocks. Edublocks uses python, while MakeCode uses Javascript?

The Unit

Embedded-Systems

NOTE: The latest updates, revisions and OneNote files may be found in the DigTech Resources menu link above

Transitioning from block code to Python

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!

The-Art-of-Code-2D

NOTE: The latest updates, revisions and OneNote files may be found in the DigTech Resources menu link above