Physical Computing with BBC Micro:bits

About

In this session you will learn about Physical Computing by creating a variety of different projects that run on BBC Micro:bit devices. Physical Computing usually refers to designing and developing computer hardware and software that involves some physical interaction or the use of sensors. This physical interaction could be a different way of interacting with the computer, which may not involve using a mouse and keyboard.

In this session we will focus on making programs that involve alternative forms of physical interaction (i.e. not using a keyboard and mouse).

Physical computing often involves alternative forms of interaction that don't involve using keyboard and mouse.


A diagram that summarises Physical Computing - there is no keyboard and mouse input - sensors are used instead.

You may have heard of Arduinos or Rasbperry Pis. These are both small and cheap computers that can be used in a variety of Physical Computing projects. We will use Micro:bits in this session’s activities, which you could say are a simpler version of these devices.

In this session’s activities, you will create a variety of programs that run on Micro:bit devices by Coding projects in Microsoft’s MakeCode. MakeCode is an example of a Hybrid Coding Environment, like Pencil Code, which allows you to switch between Blocks and Text Coding (using JavaScript). There are other options for Coding projects on Micro:bits, which allow you to use Python (another Text language), but we will focus on using MakeCode today.

When Coding the projects in MakeCode and running them on the Micro:bit devices, you will apply several of the computational concepts that you have learned about in the other workshop sessions, such as: Sequences, Loops, Events and Operators. You will also learn about and apply two new computational concepts: Data and Conditionals.

Key Terms

algorithm, computational thinking, computational concept, computational practice, computational perspective, coding, visual programming, general-purpose programming, hybrid coding environments sequences, loops, events, operators, debugging, testing, random

Materials

Presentations

Activities

Finished Project Files

Micro:bit Editors

Micro:bit Resources

Session Outcomes

Computational Thinking Framework

Computational Concepts

Computational Concept How the Concept is Addressed in the Session
Sequences In this session, you will use Sequences of instructions when creating programs in Microsoft’s MakeCode that will run on the Micro:bits. For example, in the Making an Interactive Badge activity you will create a Sequence of instructions to make the display light up different LEDs.
Loops In this session, you will use Loops to make the Micro:bit repeat instructions multiple times. For example, in the Making an Interactive Badge activity you will use the repeat block in Microsoft’s MakeCode to make the LEDs on the Micro:bit’s display change between 2 patterns repeatedly.
Events In this session, you will use Events to make the Micro:bit to follow instructions after a certain event. For example, in the Making an Interactive Badge activity you will have commands that are followed after the two buttons on the Micro:bit are pressed together.
Conditionals In this session, you will use Conditionals to make the Micro:bit to follow different instructions based on different conditions. For example, in the Using Different Inputs activity you will use if blocks to make the Micro:bit show different letters on the LED display (N, S, E or W) depending on the direction that the compass is pointing.
Data In this session, you will use Data to store and update variables on the Micro:bit. For example, in the Using Different Inputs activity you will use the set block to store the measurement of the light level in a variable.
Operators In this session, you will use Operators to make the Micro:bit choose and compare numbers. For example, in the Using Different Inputs activity you will use the pick random block to make the Micro:bit choose a random number between 0 and 5, as part of creating a dice project.

Computational Practices

Computational Practice How this Practice is Addressed in the Session
Being incremental and iterative In this session, you will have the opportunity to practice being incremental and iterative when Coding. For example, when you create the compass project in the Using Different Inputs activity, you will build the project up one part at a time.
Testing and debugging In this session you will have the opportunity to practice testing and debugging when Coding. For example, when completing the Making an Interactive Badge and Using Different Inputs activities, you may test the programs that you created in Microsoft’s MakeCode’s emulator before transferring them to the Micro:bit.

Computational Perspectives

Computational Perspective How this Perspective is Addressed in the Session
Expressing In this session, you will have the opportunity to create a project of your own choosing. For example, if you complete the Making an Interactive Badge and Using Different Inputs activities quickly, you may want to come up with an idea and implement it in Microsoft’s MakeCode.
Questioning In this session, you will learn about how you can use Physical Computing devices (such as Micro:bits) to help students invent creative ways of investigating and analysing problems.
New Science and Technology (K-6) Syllabus Outcomes

Stage 1

Stage 1 Outcome How the Outcome is Addressed
ST1-2DP-T: uses materials, tools and equipment to develop solutions for a need or opportunity In this session’s activities, you will use a variety of materials, tools and equipment to develop solutions for a need or opportunity. For example, you will combine the use of hardware (the Micro:bit devices) with software (the code in Microsoft’s MakeCode) to develop digital solutions, such as the interactive badge in the Making an Interactive Badge activity.
ST1-3DP-T: describes, follows and represents algorithms to solve problems In this session’s activities, you will describe, follow and represent a variety of algorithms. For example, in the Using Different Inputs activity, you will implement a variety of algorithms in Microsoft’s MakeCode and run them on a Micro:bit device. One example of these algorithms includes a program in which different melodies are played when different buttons are pressed.

Stage 2

Stage 2 Outcome How the Outcome is Addressed
ST2-2DP-T: selects and uses materials, tools and equipment to develop solutions for a need or opportunity In this session’s activities, you will select and use a variety of materials, tools and equipment to develop solutions for a need or opportunity. For example, you will combine the use of hardware (the Micro:bit devices) with software (the code in Microsoft’s MakeCode) to develop digital solutions, such as the interactive badge in the Making an Interactive Badge activity.
ST2-3DP-T: defines problems, describes and follows algorithms to develop solutions In this session’s activities, you will define problems, as well as describe and follow a variety of algorithms. For example, in the Using Different Inputs activity, you will implement a variety of algorithms in Microsoft’s MakeCode and run them on a Micro:bit device. One example of these algorithms includes a program in which different melodies are played when different buttons are pressed.

Stage 3

Stage 3 Outcome How the Outcome is Addressed
ST3-2DP-T: plans and uses materials, tools and equipment to develop solutions for a need or opportunity In this session’s activities, you will plan and use a variety of materials, tools and equipment to develop solutions for a need or opportunity. For example, you will combine the use of hardware (the Micro:bit devices) with software (the code in Microsoft’s MakeCode) to develop digital solutions, such as the interactive badge in the Making an Interactive Badge activity.
ST3-3DP-T: defines problems, and designs, modifies and follows algorithms to develop solutions In this session’s activities, you will define problems, as well as design, modify and follow a variety of algorithms. For example, in the Using Different Inputs activity, you will implement a variety of algorithms in Microsoft’s MakeCode and run them on a Micro:bit device. One example of these algorithms includes a program in which different melodies are played when different buttons are pressed.
New Technology Mandatory (7-8) Syllabus Outcomes
Technology Mandatory (7-8) Outcome How the Outcome is Addressed
TE4-1DP: designs, communicates and evaluates innovative ideas and creative solutions to authentic problems or opportunities In this session you will learn about ways that Physical Computing devices (including the BBC Micro:bits) can be used for activities in which students can design, communicate and evaluate innovative ideas and creative solutions to authentic problems or opportunities. For example, you will learn about ways that Micro:bits can be used for scientific experiments and for invention.
TE4-2DP: plans and manages the production of designed solutions In this session you will learn about some resources that could help you plan activities for your students in which they manage the production of digital solutions. For example, you will learn about Microsoft’s Introduction to Computer Science course, which has examples of larger projects that can be be created with Micro:bits.
TE4-3DP: selects and safely applies a broad range of tools, materials and processes in the production of quality projects In this session’s activities, you will apply a variety of materials, tools and equipment to develop solutions to produce a quality project. For example, you will combine the use of hardware (the Micro:bit devices) with software (the code in Microsoft’s MakeCode) to develop digital solutions, such as the interactive badge in the Making an Interactive Badge activity.
TE4-4DP: designs algorithms for digital solutions and implements them in a general-purpose programming language In this session’s activities, you will design and implement a variety of algorithms in Microsoft’s MakeCode software. You will have the opportunity to switch to JavaScript in the MakeCode editor during the activities, which is an example of a General-Purpose Programming Language.
AITSL Professional Teacher Standards
Standard How this Standard is Addressed
2.6.2: Use effective teaching strategies to integrate ICT into learning and teaching programs to make selected content relevant and meaningful In this session’s activities, you will learn about different strategies for integrating ICT (specifically Coding and Physical Computing) into learning and teaching. You will also learn about some resources for different projects that you can create with Micro:bits, which may be relevant to your students’ different interests.
3.3.2: Select and use relevant teaching strategies to develop knowledge, skills, problem solving and critical and creative thinking. In this session’s activities, you will develop skills in Coding, chance to create projects and develop problem solving (in Coding) investigating with devices.
3.4.2: Select and/or create and use a range of resources, including ICT, to engage students in their learning. In this session, you will learn about a range of resources for teaching ICT (specifically Physical Computing with Micro:bits). You could select and use some of these resources with your students.
4.5.2: Incorporate strategies to promote the safe, responsible and ethical use of ICT in learning and teaching. In this session’s activities, you will learn about how to safely handle and use Micro:bits without damaging them.
6.2.2: Participate in learning to update knowledge and practice, targeted to professional needs and school and/or system priorities. In this session you will be given some examples of how Coding and Computational Thinking can be incorporated into different areas of the curriculum and STEM.
6.4.2: Undertake professional learning programs designed to address identified student learning needs. In this session you will learn use Microsoft’s MakeCode to create the programs that run on the Micro:bits. Microsoft’s MakeCode is a Hybrid Coding Environment, which means that you can switch between Blocks and Text (JavaScript). Switching between Blocks and Text could help you differentiate activities when teaching lessons that involve Coding. For example, if you were using Microsoft’s MakeCodefor an activity, you could suggest students that are confident Coders to complete the activities using the Text mode only and suggest that the rest of the class to use the Blocks mode (or switch between Text and Blocks modes appropriately).
ACARA General Capabilities

Numeracy

Numeracy Element How this Element is Addressed
Estimating and calculating with whole numbers In this session’s activities, you will estimate and calculate with whole numbers when Coding programs that will run on the Micro:bit devices. For example, when Coding a compass in the Using Different Inputs activity you will use a compass reading (which will be a whole number of the bearing) to determine the direction that the Micro:bit is facing.
Using fractions, decimals, percentages, ratios and rates In this session’s activities, you may use fractions, decimals, percentages, ratios and rates when Coding the different programs that you will run on the Micro:bit devices. For example, in the Using Different Inputs activity you will use fractions when Coding the melody that the Micro:bit plays when a button is pressed, as some of the beats will be half or quarter beats.
Using spatial reasoning In this session’s activities, you may have to use spatial reasoning when Coding the different programs that you will run on the Micro:bit devices. For example, in the Using Different Inputs activity you will have to use spatial reasoning when creating a compass for the Micro:bit, as that involves using the compass heading block. The compass heading block reports the direction that the compass on the Micro:bit is facing.
Interpreting statistical information In this session’s activities, you will learn about how you can collect data with Micro:bits and how this data could be analysed as part of a scientific experiment.
Using measurement In this session’s activities, you will learn about the different measurements that can be collected with the Micro:bits’ sensors. For example, in the Using Different Inputs activity you will create Code that colelcts and uses measurements from the Micro:bits’ temperature and light sensors

Critical and Creative Thinking

Critical and Creative Thinking Element How this Element is Addressed
Inquiring – identifying, exploring and organising information and ideas In this session, you will learn about how Micro:bits can be used as part of inquiry projects. For example, one of the resources discussed in the session is Microsoft’s Science Experiments Course. That resource includes several examples of how Micro:bits can be used as a tool for students’ inquiry into various topics.
Generating ideas, possibilities and actions In this session, you will have the opportunity to generate a variety of ideas, possibilities and actions, with respect to the variety of applications of Micro:bits in the classroom.

Information and Communication Technology Capability

Information and Communication Technology (ICT) Element How this Element is Addressed
Investigating with ICT In this session, you will learn how you can use a Physical Computing device (a Micro:bit) as part of an investigation into a topic. For example, you will learn about Microsoft’s Science Experiments resource, which contains several examples of how Micro:bits can be used for scientific investigation.
Creating with ICT In this session, you will have the opportunity to create a variety of projects that run on a Physical Computing device (a Micro:bit). For example, in the Using Different Inputs activity you will create a variety of projects (such as a music player and a die).
Managing and Operating ICT In this session’s activities, you will learn how to manage and operate a Physical Computing device (a Micro:bit). For example, in the Making an Interactive Badge activity you will learn how to create a program in Microsoft’s MakeCode and transfer it to the Micro:bit device.