Coding Digital Instruments

Module 2:

  • Module 2 introduces programming - block coding using Makecode
  • We look at key coding concepts with the goal of applying what we learn to building increasingly sophisticated digital instruments.
  • The role of the end-user is taken into account and the full software development process is considered.
  • The module culminates with a team based project that is designed to teach students about the process of developing software.

The primary objective of module 2 is to introduce coding in a meaningful context; to show why we write code and how to consider the needs of an end user.


All the lessons in this module involve some coding, although by Lesson 5 students who are weak at coding are able to contribute meaningfully in other ways. Coding is undertaken in the XinaBox white-label implementation of MakeCode.

There are 6 lessons in Module 2 which are aimed at middle and high school students aged 11+:

Lesson Description Reference materials
link to pdf

Students learn about block coding, modularity and using extensions. Then they write their first program to control the XinaBox hardware

Additional reading / background materials.

Link to pdf This lesson introduces loops and variable and shows how to implement these concepts in code. Additional reading / background materials.
Link to pdf We start this lesson reading environmental sensors then introduce If / then statements to react to sensor data. Additional reading / background materials.
Link to pdf We look at the concept of functions in the real world then in coding. Students learn how to use functions and why it is desirable to do so. Additional reading / background materials.
Link to pdf In this lesson we focus on the user and acquiring user input. What is a user input mechanism but, more importantly, what is a GOOD user input mechanism. Students begin to think of their code from the perspective of the person using it. Additional reading / background materials.
Link to pdf The module concludes with a multi-disciplinary software development project that brings together all the concepts learned in this module and the previous one. Link to additional reading / background materials.

Everything you need to know about the lessons is listed in the PDFs, including outcomes, success criteria, ISTE linkage, preparation hints. The lesson workflow is divided into sections, each of which are stand-alone topics with clear objectives, engaging content and evaluation milestones.

What pre-knowledge do learners need?

  • To work through Module 2 students will need to have completed Module 1.
  • No prior knowledge of coding is required, and students with some coding background will find value in the lessons and extension activities. Suitable for students from aged 11+.
  • In each lesson prior knowledge requirements are itemised.