Minecraft Education Edition Remixed

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.

I have remixed ‘Coding with Minecraft‘, for year 7, with a portfolio of tasks as assessment:

http://www.throughtheclassroomdoor.com/wp-content/uploads/2019/06/Coding-with-Minecraft.pdf

My other mix, drawn from Intro to CS with MakeCode, is for a year 11 Applied ICT class with a project as assessment:

http://www.throughtheclassroomdoor.com/wp-content/uploads/2019/06/Animation-and-Games.pdf

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

Make Retro Arcade Games with MakeCode Arcade

Microsoft has really pulled out all the stops in support of Computer Science education. With MakeCode you can creatively code for:

A recent option is to make retro arcade games with MakeCode Arcade. These then port to a variety of handheld consoles; some of which you can make yourself. My class made consoles from HackerBox 0041.

The other reason that I am a fan of MakeCode is the support. MakeCode arcade is supported by:

I have cobbled together my own Unit and resources, based on these:

http://www.throughtheclassroomdoor.com/wp-content/uploads/2019/06/Gaming-Console.pdf

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

Game Design with GDevelop

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:

http://www.throughtheclassroomdoor.com/wp-content/uploads/2019/06/M1-Gaming.pdf

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

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

Review of Tools for App Prototyping

[“Prototyping a new App” by Pascal Maramis is licensed under CC BY 2.0]

There are many reasons why students design and prototype apps, before coding a fully functioning app. In ACARA Digital Technologies, students:

  • analyse problems and design, implement and evaluate a range of digital solutions
  • consider the functional and non-functional requirements of a solution through interacting with clients and regularly reviewing processes. They consolidate their algorithmic design skills to incorporate testing and review, and further develop their understanding of the user experience to incorporate a wider variety of user needs.

An excellent course, that covers this is Code.org’s CSD Unit 4 – The Design Process. In this course, students learn about solving problems with technologies and iteratively design and test a paper prototype before coding a digital prototype in their App Lab environment.

In other subject areas, such as business and enterprise education, students design a Minimum Viable Product (MVP) as a prototype solution only and rarely code a fully functioning solution. An excellent example course is Apps for Good.

I have a senior Applied ICT class and their project was to design a prototype app for a local business. Part of the assessment was to identify the software that was best suited to the task, so we set about trying, testing and reviewing the following:

App Lab (code.org)

This was their number one pick as it is very easy to drag and drop elements and with guidance, create multi-screen apps.

From a teaching point of view, the learning curve for setting up access is a bit steep, but well worth the effort.

The big advantage with App Lab is that you can start and end with prototyping if you want (which only requires one line of code to navigate between screens) or go on to build fully functioning apps. When I used App Lab with another class, we completed  CSD Unit 4 – The Design Process one term and then dived much deeper into javascript App programming in CSP Unit 5 – Building Apps.

Nice Scheme of Work from Ben Garside

appshed

Our next pick was appshed as it came with an easy to follow course , was easy to register and testing a live version on student phones was easy.

We used the free version, which meant that there were ads everywhere; but this was not actually very noticeable. The paid version is very cost effective and is a good idea if you want to expand beyond prototyping. I notice from the comparison page that there are javascript, PHP, SQL and IoT technologies for Raspberry Pi and Arduino; must explore further.

Blippit

Another similar App builder was Blippit. This was not well received as the interface was a bit confusing and students needed to be registered and could only work on one project with the free version.

We were only experimenting with bare bones prototyping, so I can’t say how the blippit blocks or purecode python works.

Unlike Appshed, you really need to upgrade to one of their plans to get full functionality and I think Appshed is probably better value for money.

App Inventor

Although there are a few clones, such as AppyBuilder and Thunkable that have become popular, I notice that App Inventor is still the goto App builder for most IoT projects.

In terms of basic prototyping, App Inventor is much like App Lab and easy to create digital screen designs and code basic navigation. Just like App Lab, it is also very extensible.

App Inventor is probably still the best supported technology, with a large volume of tutorials and guides available. Of course, at the end of the day, it only ports to Android.

AppyBuilder

AppyBuilder is a clone of App Inventor, so very similar features. One big disadvantage was the need for a google account and then it probably only ports to Android devices.

Thunkable

Thunkable is another google sign on, but can be published to Android or iOS. The downside is that this is not an entry level App builder and is not well supported with tutorials and guides. However, you could use the tutorials and guides for App Inventor and rig them for Thunkable.

Marvel

Marvel is purely a prototyping app builder. We didn’t test this out and this is an afterthought. According to its splashpage: “With the Marvel design platform, access all the core functionality you need to build digital products – wireframe, prototype and generate design specs in one place.” Another similar one is proto.io. An other similar one is build.me. This stands out because it also has built in guidance for User Interface (UI) and User Experience (UX) design.