# data[].attributes.headline
Exploring Digital Systems with Makey Makey

# data[].attributes.subject
Exploring Digital Systems with Makey Makey

# data[].attributes.attachment_link.readable_text
Play the classic PacMan video game from this Google Doodle on the game's 30th anniversary. No quarters needed - use the arrows keys to play.

(The following list is from the MakeyMakey.com website)

Scratch is an easy way to code your own Makey Makey project. Here is a collection of Scratch projects made for Makey Makey. Here is a two-page PDF intro to Scratch and MaKey MaKey, and here is a PDF with Scratch music tips and tricks.

# data[].attributes.attachment_link.description
Play the classic PacMan video game from this Google Doodle on the game's 30th anniversary. No quarters needed - use the arrows keys to play. (The following list is from the MakeyMakey.com website)

# data[].attributes.headline
Micro:bit Temperature and humidity sensing project

# data[].attributes.subject
Micro:bit Temperature and humidity sensing project

# data[].attributes.attachment_link.readable_text
By , updated on 30 January 2019

The Micro:bit has the ability to measure temperature by sensing the temperature of the silicon die inside the main CPU. This works because the Micro:bit runs cold, and the temperature of the CPU is usually a good approximation of ambient temperature. What do we do if we want more precise measurements of the temperature, or if we want to measure the temperature of something that is external to the board or in a harsh environment? We use an external sensor of course! In this tutorial, we will use the simple and inexpensive DHT11 Sensor. These sensors are simple and pretty robust and have the added feature of being able to sense humidity. This is the perfect sensor to put inside a hot and humid place that you wouldn't want to subject your Micro:bit to, like the inside of a terrarium.
This project will use:
Function

This project will take readings of both temperature and humidity, and scroll the values across the LED array on the front of the Micro:bit. Prior to each value being displayed the word "Temp:" and "Hum:" will scroll to identify the value.

The Circuit

The DHT11 Sensor has just three pins to connect it. To keep things solderless we can use Female-Female jumper wires, and Alligator Clips to Male Jumper Pins to connect the sensor to the Micro:bit. Just push the female jumpers onto the DHT11 sensor pins, connect the pin side of the alligator clips to the jumper wires, and clip the Alligator clips on the edge of the Micro:bit.

Downloading Code to the Micro:bit

To load a program onto the Micro:bit, first connect it to your computer with a micro USB cable. The Micro:bit will appear as a drive on your computer called MICROBIT.

When you are ready to try your code just click the DOWNLOAD button at the bottom left corner of the screen in MakeCode. Save the file inside the MICROBIT drive. If the download saves somewhere else, just drag and drop it into the MICROBIT drive.

The light on the Micro:bit will flash for a few seconds, and when it stops your program will be loaded and the Micro:bit will run it every time its powered up (until you replace it with a new program).

The Code

First, we will show you the completed code, then we will show how its done step by step!
MakeCode Micro:bit Temperature and Humidity Sensing Code
Blocks Used

Basic:

Forever: everything within these brackets runs continuously in a loop whenever the Micro:bit is powered.

Show string: this block scrolls text across the LED grid on the front of the Micro:bit.

Show number: this block scrolls the number entered across the LED grid on the Micro:bit.

Environment:

This is a special class of blocks that must be added to MakeCode by going to Advanced, Extensions, and searching for DHT11.

Value of DHT11: This block reads the DHT11 Sensor on whatever pin it is connected to.

Measuring Temperature and Humidity

The first thing we need to do is add the necessary blocks to interface with the DHT11. Under the menu Advanced, select Extensions.

In the search bar, type " DHT11" and hit search.

The only result should be for the IoT-environment-kit. We won't be using this kit, but this extension includes the blocks we need to use a DHT11 with the Micro:bit.

From the Basic menu, drag a Basic: show number block into the bottom of the Basic: forever brackets. Change the string in the Basic: show string block to read " Temp".

We now have a working program that will display the word "Temp:" and then display the temperature reading. We will now add humidity sensing into the program

Place a Basic: show number block in the bottom of the Basic: forever brackets. Change the string in the Basic: show string to " Hum:" for humidity.

That's it! Download the code to your Micro:bit and test it out!

Complete Code

Going Further

To find more projects with the Micro:bit, check out our Micro:bit Tutorials! To add more to this project you could change it to include data logging or plot the readings over time! A programming challenge would be code that would take the median reading automatically.

# data[].attributes.attachment_link.title
Micro:bit Temperature and Humidity Sensing - Tutorial

# data[].attributes.attachment_link.description
The Micro:bit has the ability to measure temperature by sensing the temperature of the silicon die inside the main CPU. This works because the Micro:bit runs cold, and the temperature of the CPU is usually a good approximation of ambient temperature.

# data[].attributes.attachment_link.readable_text
By , updated on 24 January 2019

The Micro:bit is great for small portable projects like a soil moisture sensor. In this tutorial, we will walk through how to program a Micro:bit to make a reliable and consistent soil moisture sensor that will give consistent readings. The goal of this project is to create a program that will give consistent readings between plants. We will be using MakeCode to program the Micro:bit.

To accomplish this project you will need the following parts:

Making the Circuit

We will be using the SparkFun Soil Moisture Sensor with Terminal Blocks and Alligator clips to connect it to the Micro:bit. There are many different soil moisture sensors available and most will work with this setup, but this combination makes it easy to connect with no soldering.

The three pins on the moisture sensor are marked SIG, GND, and VCC. This indicates the signal output, ground, and power. We will connect the signal line to PIN 0 on the Micro:bit, the GND to GND and the VCC to 3.3V.

Downloading Code to the Micro:bit

To load a program onto the Micro:bit, first connect it to your computer with a micro USB cable. The Micro:bit will appear as a drive on your computer called MICROBIT.

When you are ready to try your code just click the DOWNLOAD button at the bottom left corner of the screen in MakeCode. Save the file inside the MICROBIT drive. If the download saves somewhere else, just drag and drop it into the MICROBIT drive.

The light on the Micro:bit will flash for a few seconds, and when it stops your program will be loaded and the Micro:bit will run it every time its powered up (until you replace it with a new program).

Display a Value When Button A is Pressed

This program will continuously take readings from the soil moisture sensor and display an image to represent how well watered the plant is. When button A is pressed it will display a number reading roughly between 1-100 that represents how wet the soil is so it can be recorded.

Blocks Used

Input:

Button A Pressed: Does something when button A is pressed down and released again. This is a Bracket type block, which means that it executes whatever is inside it when its condition is met. In this case, the condition is Button A being pressed and released.

Variables:

Variables are things remembered by the Micro:bit. They can be set to any word or number that you like. The bubble block will return a number, and the rectangular block will change the value of the variable selected. They keep the value of whatever is assigned to them but can be changed at any time. This value can then be accessed elsewhere in the program.

Pins:

Analog read pin: This will read the connector pin as analog, it will return a value from 0 to 1023. An analog device gives data by changing the amount of voltage it returns on its data wire.

Math:

Map: Remaps the specified value from one range to another. This function maps the value of from low to the value of to low, the value of from high to the value of to high, and intermediate values to intermediate values.

This function does not constrain values to the ranges, because out-of-range values are sometimes intended and useful.

In this image, if 1023 was entered into the map, this block would return the number 4. If 512 was entered into the map the block would return the number 2.

Round:

The round function rounds the input number to the nearest whole number.

Basic:

Show number: this block scrolls the number entered across the LED grid on the Micro:bit.

Clear screen: When you command the LEDs to turn on, they will stay on until you command them off again. This block turns all the LEDs off.

The Full Code

You can also edit the Soil Moisture Sensor Code for Micro:bit in MakeCode.

Putting the Blocks Together

All elements of code need to be inside a bracket for them to run. We will be using the Input: on button A pressed bracket. Drag and drop it anywhere in the workspace.

To take reliable measurements with the soil moisture sensor (and because it good programming practice) we will create a variable to store the readings from the sensor. We first need to make a variable. Name it "moistureReading"

Once the variable is created new blocks will appear to both call and change the value assigned to the variable. Place a Variable: set moistureReading to block inside the Input: on button A pressed

When we read the sensor it will return a number between 0 and 1023. To make the range a little easier to grasp we will use the Math: map block. This converts a number from one range to another. Place it inside of the Variable: set moistureReading to block.

To take a reading from our sensor we will use the Advanced: Pin: analog read pin P0 block. This will return a value between 0 and 1023 depending on how we the sensor is. Place it in the input portion of the Math: map block.

The soil moisture sensor is made to work with an input voltage of 3.3V to 5V. We will be powering it directly off of the 3.3V pin of the Micro:bit, and this means that no matter how we the soil is the sensor will only return enough voltage to read 750-800. Less voltage in means less voltage out. We can easily account for this in code. Change the from high portion of the range in the Math: map block to 750 to represent the highest number the sensor will return (this might vary slightly from sensor to sensor).

To make the output a number that is easier to understand, we will change the to high portion of the Math: map block to 100. This means that the measurements taken from the sensor will return a 0-100 number. 100 will be fully saturated, and 0 will be completely dry.

To display the numerical value of the reading from the sensor we will place the Basic: show number block at the bottom of our Input: on button A pressed block.

The value returned from the sensor may have a lot of decimal places, and we don't need to see them all when we take a reading so we will use the Math: round block to make the reading a whole number.

To display the reading we have taken us the Variables: moistureReading call bubble to return the variable that we stored when taking a reading.

Whenever an LED is commanded to turn on in code, it will stay on until commanded to turn off again. We will put the Basic: more: clear screen block at the bottom of our code to turn the screen off after each reading is finished being shown.

Now we have a completed block of code! Download it to your Micro:bit and test it out!

Display an Image to Indicate Readings

Sometimes we don't need to know the exact numerical value of the water level in the soil, and we just want a quick reference to see if the plant needs to be watered or not.

Additional Blocks Used:

Basic:

Forever: The forever loop is the most used block in code. The blocks contained within this bracket will be run from top to bottom, and then repeated for as long as the Micro:bit is powered. You will find a loop in almost all programs.

Show LEDs: This block allows you to design your own image to display on the Micro:bit LEDs. Once it is in place you can click the blocks to change them on or off.

Pause: This block is used to pause the program for a set amount of time. It's easy to forget that the processor in the Micro:bit makes 16 Million changes per second. A program runs far faster than we can perceive, we need to tell the Micro:bit to slow down enough for us to see the results! The time of the pause is in milliseconds. So 1000 = 1 second.

Logic:

If-then: Logic blocks are what sets a program apart from basic electronics. They allow the program to make decisions! The If-then block has a diamond shape conditional field, that responds to a True or False input. If True then the code inside the brackets will be run, if False then the else portion of the brackets will be run.

Comparison: This block will return a True or False value, it's commonly used within the If-then block. Placing a variable in one of the value bubbles of this block will compare it to the other number. All diamond blocks return a True or False value.

And: This block will return a True or False value. The and block will only return True if it receives a True from both of its fields.

Putting the Blocks Together

The first part of this code we will take a reading from the sensor, just like with the button press. Either work through the first steps 3-6 of the last section again or just copy the code from the past section. Place a Basic: forever block on the workspace if there is not one already. Right click on the Variable: set moistureReading to block and select Duplicate. Drag the duplicated section of code into the Basic: forever block.

We could keep the mapped range at 0-100, but for the sake of simplicity, let's change the to high value to 3. We will be displaying three different images to indicate the moisture level.

Next, we will insert a short pause using the Basic: pause block. Leave the time to 100 milliseconds

Now add a Logic: if-then block. This will control what image is displayed.

In the condition field of the Logic: if-then block place a comparison block.

Within the Logic: comparison block place the Variables: moistureReading bubble in the first field, change the comparison to less-than-or-equal-to (<=), and the final field to 1. When complete this portion of code will return True whenever the moisture reading is less-than-or-equal-to 1.

We want to check for two conditions rather than just one. Click the plus at the bottom of the Logic: if-then block to add a second condition.

In the second condition field, add a Logic: and block. Place a Logic: comparison block in each field of the Logic: and block, and format them to be moistureReading is greater-than 1, and moistureReading is less-than-or-equal-to 2.

Now place the Basic: show leds blocks into each of the fields in the Logic: if-then block. If the condition of the first field is met that means that the soil is dry, if the second is met then it is somewhat wet, if neither condition is met then the final field will be executed. The final field will represent fully wet. We don't need to make a comparison statement for the third option because only three results are possible, and we already know it's not the first or second.

Now the just create an image of your choice for each field that represents the soil moisture level. We've made a pot that is either empty, partially full, or full of water.

Now you can download the code and load it onto your Micro:bit. Both sections of code we created can run at the same time on the same Micro:bit. When the Micro:bit is powered the images will constantly display, and when Button A is pressed they will be replaced by the number value of the reading.

Going Further

If you want to take this project a bit further, you can add the option to calibrate the sensor. One of the shortfalls of this code is that we are assuming that the sensor will return a maximum of 750. The following code includes the option to press the B button to calibrate the sensor. Simply place the sensor in fully wet soil or water, then press the B button. The code will then save the maximum wetness reading and use it in the rest of the code.

To find more projects with the Micro:bit, check out our Micro:bit Tutorials! To add more to this project you could change it to include data logging or plot the readings over time!

# data[].attributes.attachment_link.title
Micro:bit Soil Moisture Sensor - Tutorial

# data[].attributes.attachment_link.description
The Micro:bit is great for small portable projects like a soil moisture sensor. In this tutorial, we will walk through how to program a Micro:bit to make a reliable and consistent soil moisture sensor that will give consistent readings. The goal of this project is to create a program that will give consistent readings between plants.

# data[].attributes.headline
Micro:Bit Natural Disaster Senor Project

# data[].attributes.subject
Micro:Bit Natural Disaster Senor Project

# data[].attributes.attachment_link.readable_text
By , updated on 25 January 2019

The Micro:bit is a feature-packed development board that's perfect for the classroom or the beginner programmer. Each Micro:bit has a built-in radio that can transmit and receive signals sent from other Micro:bits. The radio has a range of up to 70 meters and is perfect for collecting remote data or communicating between devices. For this project, we will be making a natural disaster sensor. We will monitor the wind, temperature, and seismic activity (motion). There are no limits to the sensors that can interface with on the Micro:bit. We will use onboard sensors and external sensors for this project, and even make a sensor of our own out of a motor! We will program our Micro:bits in MakeCode and we will monitor each element with a dedicated Micro:bit and transmit our readings back to a single receiving Micro:bit that will be connected to a computer. From there we will graph our readings, store them, and even export them to a spreadsheet!

To follow along with this Tutorial you will need the following parts:

If you have any questions during this tutorial, please reach out on the Forum! We are here to help!
Tutorial Outline
Wind Sensor

Building the Wind Sensor

Sure you can use an Anemometer that will give you precise readings about wind speed, but its way more fun to make one yourself! We will make a simple wind speed sensor out these parts:

A hobby motor

Paddle pop sticks

A paper towel or toilet paper roll

Hot glue

A small cardboard box or scrap cardboard for the base

When you spin the hobby motor backwards it generates a tiny amount of electricity. We can read the voltage that the motor generates using the analog read command from MakeCode. We checked this out on an oscilloscope beforehand to make sure we wouldn't be generating enough voltage to damage the Micro:bit. There is no danger of overvoltage from this motor.

The first step is to cut apart the paper roll into small fan blades, and glue them onto the paddle pop sticks.

Use a craft knife to make a small hole in the centre of your propeller blade, and put it on the end of the hobby motor. It's good to be a little tight. Hot glue the second propeller blade on top.

Use two more paddle pop sticks and some hot glue to make a mount for the motor.

Use the knife to cut two slits in your cardboard box or base, and push your fan inside.

Use alligator clips to connect the positive lead from the motor to one of the Analog Inputs. We're using P2. Connect the negative lead from the motor to ground. This sensor is set up to spin clockwise. If it spins counter-clockwise then you won't get a reading. If you make your fan so it spins the wrong way, just swap your leads and it will still work.

Wind Transmitter Code

We will use MakeCode for Micro:bit for all our coding for this project. On start we will set our radio transmit power to maximum, and set our radio group to 1 so all our Micro:bits are on the same channel. We will then scroll the text "Wind" so we can identify the device.

We don't really need to send wind reading constantly since wind isn't constantly changing. So we have two forever loops. The first plots the readings from our wind sensor on P2 up to 200. The second forever loop transmits the wind sensor readings every 9 seconds.

Going Further

There are some obvious limitations to our homemade wind sensor. It can only detect wind from one direction for starters. An anemometer has a design that allows it to always spin the same direction no matter what angle the wind hits it from. The next level of design challenge might be to create a more effective anemometer design (did I hear someone say 3D printing?).

The other limitation is calibration. We are reading an analog voltage from the motor, but how that translates into actual windspeed would take testing and calibration. Spinning the sensor with known windspeeds and recording the output would allow you to create a plot graph and make a formula to calculate actual windspeed effectively. This sensor won't have a linear output as wind speed increases!

Temperature Sensor

Building the Temperature Sensor

The next element that we are going to monitor is temperature. The Micro:bit has an onboard temperature sensor, but we use an external sensor to demonstrate how it works. We will be using an LM35DZ analog temperature sensor for our temperature sensing, and we will connect it to Analog Input P0. The advantage of using an external sensor is that you can put the temperature probe places that you couldn't put the Micro:bit directly, like near water, or you could measure the temperature from five sensors at once!

The LM35DZ may not work reliably with voltage under 5v, and the Micro:bit uses 3.3v. You may get lucky and get good results with less voltage, but for this project, we've used a YuRobot BreadBoard Power Supply. This can provide 3.3v and 5v, directly to a breadboard, and can be powered by USB or a power supply. We've also used a Sparkfun Micro:bit breakout to easily connect our Micro:bit to the breadboard. The LM35DZ is pretty small, and not really easy to connect with alligator clips. Its best to use a breadboard, or solder some wires onto its leads. If soldering isn't your thing you could also use some male to female jumpers.
Pay Careful attention to the pinout of the LM35DZ. Connecting it incorrectly will cause it to burn up! This view is looking up from the bottom.
The Code

We start the code by setting the radio power to maximum, and the radio group to be the same as the receiver. On start, we also scroll the word "Temp". The temperature is read through the analog read pin P0. We then multiply the input by 100 and then divide by 1024 to convert the raw analog input to Celsius. The value is plotted and transmitted every six seconds.

Going Further

This element of the project could be expanded on by going into detail about how the temperature formula is made. The datasheet for the LM35DZ provides a formula for calculating the temperature, and some basic algebra will land you on the formula. Also, you can add a resistor into the circuit for more precise measurement.

The Micro:bit has five analog inputs, and could read five external analog temperature sensors at once.

Seismic Sensor

The Micro:bit has an accelerometer built right in. We can use this sensor to simulate an earthquake sensor. By adding the acceleration of the x and y-axis we can measure the total acceleration the board is undergoing. To make it into a seismic sensor it should be anchored to something immobile like a slab of concrete. We don't want to wait for an earthquake to test our program so we left it loose.

The Code

Like the previous transmitters, we start our code by setting the radio power and radio group. We then scroll text that identifies the Micro:bit sensor in use.

In the forever loop readings are taken from the accelerometer axis and added together. We used the absolute value so any movement will result in a positive number. The number is then plotted to the device and transmitted to the central receiver.

Going Further

There are a few ways we could increase the complexity of an earthquake sensor. We could start by measuring each axis individually, including the z-axis. During an earthquake, the ground moves in waves, so the vertical motion that the board undergoes would be relevant data. Three networked Micro:bits could be used to triangulate an earthquake's epicentre if its strong enough to be measured on each device. This could be done with a timestamp and some data logging.

Data Monitoring

The Receiver

We are collecting all this great data from remote (but not too remote) sensors and sending it out hoping someone will listen. Now its time to make the receiver. For this part of the project, we will use a Micro:bit connected via USB to a computer running MakeCode for Micro:bit. It's important to note that we will need to use the Windows App version of the software so we can read the serial data that is outputting from the device, and save it to a spreadsheet.

The Code

On Start, we set our radio group, and initialize two variables, "Mode" and "Text". We change the mode by pressing button A or B, but we start in Mode 0 which is temperature. We will change what data is displayed on the device by cycling through with the buttons. All the data will be available in MakeCode at all times.

When button A or B is pressed, we set Mode to 3, so no data is being plotted on the LEDs, then change the text up or down by one, and scroll the text associated with that mode. Once the text has scrolled we set the mode to the same number as the text so the data is plotted. We need to disable the data plotting temporarily so the text will show, otherwise it will try to show both simultaneously and it won't work.

When we are in mode 0, the temperature is plotted. In mode 1 the seismic data is plotted, and in mode 2 the wind data is plotted. The Micro:bit converted the LEDs into a vertical bar graph and plots the data with the maximum being defined by the second number on the block.

On our other Micro:bits we transmitted our data with a text string and then the value. On radio received we save the received string as "name" and the number as "value". We then print the current running time to serial to use as a timestamp. Some simple logic separates the incoming values into unique variables and writes them to serial.

If we turn on our three remote sensors and connect our receiver, we can then follow the link for "Show data Device". This is live data from the receiving Micro:bit. The first plotted field has no label, and it is created by the "plot bar graph" block that is currently selected. The rest of the data will have a label so we can clearly identify it. We can hit the download button in the top right of the screen to save the collected data as a .csv. You need to be in the device console for the data to be logged, so don't leave this screen before saving your data!

Going Further

Being able to download all the collected data with timestamps makes it possible to analyze the data that has been collected. You could also potentially create a method to remove errors from collected data within the spreadsheets. You may notice that there is a small amount of error inherent to devices like the accelerometer. Rather than trying to eliminate it with code, you would likely reach more repeatable results by creating a formula to remove it from your spreadsheet.

Now that you are done with all the parts of the natural disaster sensor project, all we need to do is make nice disaster proof housings for our sensors and wait for disaster to strike! Perhaps we can just simulate one? If you are interested in learning more about the BBC Micro:bit, there is a growing section of Tutorials for the BBC Micro:bit. If you enjoy programming with MakeCode and want to try out a board a little more suitable for wearables or the beginner programmer, check out the Circuit Playground Express and look at our Circuit Playground Express Tutorials or our Circuit Playground Online Workshop!

# data[].attributes.attachment_link.title
Natural Disaster Sensor Project for Micro:bit - Tutorial

# data[].attributes.attachment_link.description
The Micro:bit is a feature-packed development board that's perfect for the classroom or the beginner programmer. Each Micro:bit has a built-in radio that can transmit and receive signals sent from other Micro:bits. The radio has a range of up to 70 meters and is perfect for collecting remote data or communicating between devices.

# data[].attributes.attachment_link.readable_text
Project goal

Our objective is to teach programming principles in a fun and easy way making programming an accessible competence to every child in the world.

In the (quite near) future, everything we will do will require us to have basic programming abilities, and therefore it is important to learn this skill and learn to like it.

Making programming visual provides very quick rewards for the efforts, making it perfect for young children who often have trouble setting long term goals.

Want to help?

In order to make programming approachable for more people we need volunteers to translate the site to their own native languages.

If you wish to help, please contact us or donate

# data[].attributes.attachment_link.description
Our objective is to teach programming principles in a fun and easy way making programming an accessible competence to every child in the world. In the (quite near) future, everything we will do will require us to have basic programming abilities, and therefore it is important to learn this skill and learn to like it.

# data[].attributes.headline
Sandhurst CEO Digital Technologies Resources

# data[].attributes.subject
Sandhurst CEO Digital Technologies Resources

# data[].attributes.attachment_link.readable_text
The Digital Technologies Curriculum is accessed on the VCAA Website

The P-2 Content Descriptions, Elaborations and Standards - Click Here

The Year 3 - 4 Content Descriptions, Elaborations and Standards - Click Here

The Year 5 - 6 Content Descriptions, Elaborations and Standards

The Year 7 - 8 Content Descriptions, Elaborations and Standards

The Year 9 - 10 Content Descriptions, Elaborations and Standards

# data[].attributes.attachment_link.description
The Digital Technologies Curriculum is accessed on the VCAA Website The P-2 Content Descriptions, Elaborations and Standards - Click Here The Year 3 - 4 Content Descriptions, Elaborations and Standards - Click Here The Year 5 - 6 Content Descriptions, Elaborations and Standards The Year 7 - 8 Content Descriptions, Elaborations and Standards The Year 9 - 10 Content Descriptions, Elaborations and Standards

# data[].attributes.attachment_link.readable_text
STEM education is the learning of science, technology, engineering and mathematics in an interdisciplinary or integrated approach. Students gain and apply knowledge, deepen their understanding and develop creative and critical thinking skills within an authentic context. It may include inquiry and project-based learning.

A vibrant capacity in science, technology, engineering and mathematics (STEM) is pivotal to increasing our nation's productivity.

# data[].attributes.attachment_link.description
STEM education is the learning of science, technology, engineering and mathematics in an interdisciplinary or integrated approach. Students gain and apply knowledge, deepen their understanding and develop creative and critical thinking skills within an authentic context. It may include inquiry and project-based learning.

# data[].attributes.attachment_link.readable_text
I have received one of two awards: the Barbara Cail STEM Fellowship. The Fellowships are funded through the Australian Government, in partnership with the Chief Executive Women ( CEW) and the Office for Women within the Commonwealth Department of the Prime Minister and Cabinet. Only two awards are awarded nationally for this Fellowship scheme. Ms Sarah Chapman, a prize-winning Science educator from Townsville is the second recipient.

As Fellows, we will undertake research into best practice for promoting the participation of young people, particularly girls, in the STEM fields of science, technology, engineering and mathematics during their education and their eventual career. The program will support an agreed research study into the practices of other OECD countries that better inform young people (school age cohort) about the importance of STEM literacy for the jobs of the future and the significantly enhanced career opportunities for STEM literate people. The research will address how industry communicates its workforce needs for the future to young people and also to the key influencers of young people, namely parents, teachers and vocational counsellors.

For this Fellowship, I will be undertaking a series of trips across NZ, the US, the UK and Europe to talk with world leading experts on how to engage young people in STEM and particularly Technology fields, with a particular focus on gender diversity. The research will be published as a final report and key findings will be used to shape STEM education and engagement in Australia.

Keep an eye out on this blog and my Twitter Feed (@RebeccaVivian #CEWstem) as I post about my travels. My research journey will start in New Zealand for a week, and then my around the world trip will start at the end of September.

Associate Professor Katrina Falkner and I were invited to attend Science Meets Parliament on behalf of the Australian Council of Deans of ICT (ACDICT) this year.

​The 2016 Science Meets Parliament event brought together over 200 leading and emerging scientists into the heart of Australian parliament in Canberra on the 1st and 2nd of March. Over two days, scientists heard from guest speakers, including ex-Chief Scientist Professor Ian Chubb and newly appointed Chief Scientist Dr Alan Finkel, along with Australian Ministers, leading scientists, policy developers and media and communications gurus, to learn about how important science research is to Australia economically, politically and socially to develop fundamental skills and processes involved in being able to translate science to politicians, media and the public.

The 16th annual Science Meets Parliament coincided with the Federal Government's recently announced National Innovation and Science Agenda (NISA), which places science and innovation at the heart of the nation's strategy for economic growth and competitiveness. This agenda was an overarching theme over the two-day event with discussions revolving around the role leading and emerging scientists may play in this agenda moving forward. Scientists were encouraged to develop their science communication skills to become more adept to science communication, but it was also identified that politicians need to have a greater understanding of science, and some of this will emerge through strengthened relationships and communication.

Day one was hosted at the Hotel Realm and the theme focused on building professional development in communications and policy development processes. Delegates heard from experienced policy advisers, journalists, analysts and parliamentarians on how to engage with the media, politicians and the policymaking process. Further, scientists engaged in an interactive session, hosted by Science Communication experts at ANU, about pitching science to politicians in less than 60 seconds. At the end of the day, scientists joined some of Australia's parliamentary figures at the Gala Dinner held at Parliament House.

At the Gala dinner, Industry, Innovation and Science Minister Christopher Pyne the Federal Government's goals and plans for the and Opposition Leader Bill Shorten addressed the audience with a proposed counter-speech highlighting support for NISA, yet communicating a need for NISA to be underpinned by research and include pure research to complement innovation.

On day two, Science Meets Parliament was hosted at Parliament House, where scientists met with their delegated politicians and had the opportunity to observe Question Time in the house of Representatives or the Senate. At lunch delegates travelled to the National Press Club for lunch, where the nation's Chief Scientist, Dr Alan Finkel, made a live address to a sold-out audience about the opportunities and challenges that lay ahead for Australian Science and Innovation and his role as Chief Scientist. We also had an opportunity to hear from ex-Chief Scientist Professor Ian Chubb, where he reflected on his experience and role and the future of Australia's research strategy.

We met with the Honorable Karen Andrews MP, Assistant Minister for Science, along with two other delegates working in STEM education. Ms Andrews has a keen interest in STEM education and in encouraging youth, and particularly females, to consider Science and Technology careers. Ms Andrews was interested to learn about the various programmes by the delegates and in particular Ms Andrews was interested in learning about why youth interest in STEM wanes in years 5-8 and how the Government could help.

​ Over the two days delegates heard about NISA's specific funding to support startups, collaboration between industry and research and efforts to increase women in Science Technology Engineering and Mathematics (STEM) and education in STEM from the very first years of school. This year had a political flavour around the topic - with the Federal Government highlighting benefits, potential output and relevance to research scientists and the Opposition challenging and critiquing NISA to ensure it aligns with a national strategic priority in Science. However, there was support from all parties that there is a need to put science and innovation on the stage, and to continue this important conversation.

With a strong industry presence from sponsors, CEOs and representatives put a strong foothold in the important role that scientists have and can contribute to Australia's science and innovation agenda and the important role that we have as scientists to communicate our research to politicians and the wider public.

The full program can be found 2016 on the Science and Technology Australia website and you can follow past commentary and photos from delegates and speakers on Twitter with the hashtag #smp2016.

It was such an amazing and insightful experience. Thank you to ACDICT for inviting us to attend!

A/Prof Katrina Falkner and I recently undertook an analysis and review of available Computer Science resources suitable for the Australian Curriculum: Digital Technologies.

In our review, we found a predominance of quality resources that were appropriately contextualised and maintained high integrity and overall accuracy in their support for the Computer Science discipline. We found that certain categories of content descriptors, such as the development of algorithms and programming content knowledge, and support for safe collaboration in online environments, were well supported. For many of these existing resources, supplementary materials may be developed to align the resources with the Australian Curriculum and support classroom implementation in Australian F-12 contexts.

However, we identified gaps in the support available for Computer Science resources within the Australian Curriculum: Technologies, in which we recommend the development of additional resources that complement those that are currently available. The set of recommendations in this report may provide guidance and points to consider for those developing resources for the Australian Curriculum: Technologies.

The full report can be accessed via The Department of Education and Training website.
A full journal paper version of the report has been expanded on in Computer Science Education.

Recently, in parliament question time, our Australian Prime Minister said this:

"Let's just understand exactly what the Leader of the Opposition has asked. He said that he wants primary school kids to be taught coding so they can get the jobs of the future. Does he want to send them all out to work at the age of 11? Is that what he wants to do? Seriously? Seriously?"
Tony Abbott, 27th May 2015.

The misconceptions:

- learning to code doesn't just involve programming
- learning to code doesn't mean you need to have a career as a programmer
- learning to code in schools isn't about making children work-force ready at 11 years old

So, what is learning to code about?
In the early years it means having a focus on the development of algorithmic and computational thinking skills. This includes following and describing instructions, problem solving, and logical sequencing. As students progress through the year levels, they start to learn how to create solutions with visual programming and, in the later years, use general-purpose programming.

Here's 8 reasons (although there are many more) as to why coding in Australian schools is important:

1. Computing is a booming industry & we don't have enough Australian graduates
Despite the IT industry, software and hardware, exploding in recent years, graduate numbers dwindle in Australia. D igital technologies and associated industries represent 16% of the Australian GDP and are recognised as having the fastest growth. Yet, we don't have the students to fill the jobs!

With the uncertainty around the mining industry, we need to start investing in Australia's economic future by harnessing this global market. Australia is in a great position to produce and export the world's leading hardware and software. The introduction of coding curriculum into primary schools is a step in the right direction toward engaging Australian students early to consider computing pathways, particularly females who are significantly underrepresented in the field.

2. Other countries are already doing it
England, Finland, New Zealand and many other countries are already introducing or are preparing to introduce computing curricula into schools. This is a global movement and we need to ensure Australian students are prepared and skilled to participate in jobs of the future - on a level playing field.
3. Coding is for everyone & every profession
What do I mean by this? As our world becomes increasingly digitised - software and hardware are increasingly relevant to and present in many jobs today. Coding is about understanding the underpinnings of the technology we use. This is relevant to all careers as disciplines - from medicine, to science, to health and fitness, to education, economics and business. By understanding how technology works and how coding works - one can be involved in the process of developing technology in their career. Coding can be used as a "tool". You can create an application that might store information more efficiently, or that might perform a more efficient way of doing the same repetitive task. This video below is a great example of scientists using code to program robots to perform a task more efficiently - allowing them to focus on the Science!

Imagine if everyone in Australia was taught to code and could use the skill of coding in their professions? How would you use code to make your job easier?

4. It's about creating awareness & engaging students
Just as the Prime Minister has been mistaken about what coding in schools means for our children and their future; coding needs to be in schools to open the eyes of children, parents and society.

Researchers recommend STEM gender gap interventions are best served by designing educational environments that will engage children in STEM-relevant activities, from the very early years of school. Early exposure to coding can help to engage children, particularly seriously underrepresented groups, such as females, who disengage in STEM fields from an early age.

5. Coding in school is about Computational Thinking & creating solutions
In primary schools, the focus is on developing algorithmic and computational thinking skills. It's about having fun, creating digital solutions and solving problems. Research has shown, computing lends itself extremely well to other F-6 areas, particularly literacy and mathematics and allows for fundamental skill development in these areas. With code, children might create animated movies about a classroom story, navigate a robot on a rescue mission, make a game that teaches a subject or use code to manipulate and present data in interesting ways. Just as children write stories in English, or solve problems with Mathematics, coding is the new skill for the future. Further. through creating in code, young children are practicing reading and spelling, as well as mathematics.

Learning how to code is empowering. Students can learn how to be creators, not just users of technology. Particularly for women - it's important that females are engaged an interested as we need women to have a voice and a role in the technologies of the future! I particularly love the voices of young females in this video and what coding means for them.

6. There are so many possible jobs in computing
There are SO many possible careers with code involved. There are cross-disciplinary roles or there are many professions within computing - such as User Interface Designers, Defence software development, research, the creation of technologies for all different purposes and needs, project management, visual technologies... the list could go on!

But if you need any more convincing, flick through the pages of the Careers with Code guide...

7. It's not necessarily about jobs, now, but it will impact on jobs in the future
Just as we aren't teaching mathematics in schools to produce engineers at the age of eleven, or teaching science in schools to produce eleven-year-old biologists, coding is about fundamental concept and skill development and providing a holistic learning experience. Coding is a modern skill - applicable and relevant to a whole host of domains. Once students are introduced to computational thinking and the power of harnessing code as a tool - they will never look at the world the same again!

But hey, young kids might want to be creators at a young age. There are some children doing amazing things. I'll leave you here with a video about a young boy who learned how to code so that he could create an affordable braille printer...

8. Kids want to learn it!
Children all over the world are signing up to out-of-school clubs or going to camps just to learn to code. Just have a look at all the Code Clubs popping up all over the globe.

I have received emails from the amazing people who to volunteer out of their own time to run code clubs in their local communities who say that they have had to turn down children because they don't have the resources or enough places to include them in code clubs! Young children are curious and they want to learn how to code so that they can create things.

If we had coding in schools, every student wouldn't have to miss out on an opportunity to learn to code.

I'll leave you here with a letter that was written to a Code Club organiser from a young girl wanting to join the code club. Could you imagine having to turn her down? Imagine this kind of passion extending into classroom learning experiences with code....

A new It aims to prepare children to participate in our increasingly digital world by equipping them with the skills they need; not just to become competent consumers of technology, butThe curriculum focuses on developing algorithmic and computational thinking skills, gradually building toward the use of visual programming and, in the later years, general-purpose programming. It underwentTheReviewers claim the F-8 curriculum is overcrowded, yet, fail to acknowledge that Australian teachers alreadyTeacher professional development (PD) has been recognised as a challenge inAustralia has a valuable opportunity to prepare our Australian students for jobs of the future and to participate in an increasingly digital workforce. Australia's curriculum is timely, at a time when F-10 Digital Technologies curriculum is fundamental for Australia's future.

to design and create our shared technological future. This comes at a time when digital technologies and associated industries represent 16% of the Australian GDP and are recognised as having the fastest growth. The proposed curriculum is a crucial step in the right direction toward engaging Australian students to consider computing pathways , particularly females who are a rigorous development and review process , in partnership with the IT industry, universities, and school educators and is now awaiting final Minister endorsement. significantly underrepresented in the field .
recent review of the Digital Technologies curriculum has caused serious concern among computing and education experts. The report does not acknowledge the importance of this learning area for a modern curriculum, particularly in years F-6. In contrast, current recommendations are made to introduce the learning area from Year 9. This collapses a detailed and comprehensive exploration of STEM and ICT into two years, thus depriving students from studying fundamental concepts. Moreover, researchers recommend STEM gender gap interventions are best served by designing educational environments that will engage children in STEM-relevant activities , from the integrate learning areas in primary years and thus have shown that they have the capability and skills to incorporate complex curricula. Research has also shown that computing lends itself extremely well to other F-6 areas, particularly literacy and mathematics and allows for fundamental skill development in these areas. very early years of school . This introduction at such a late stage in the development of students will disengage a vast majority, including seriously underrepresented groups, such as the review and early curriculum development , however, should not be the reason to exclude an essential learning area. Industry, academics and educators have already been proactively collaborating to deliver free PD and resources across Australia. This support will continue to grow. The Australian Government recently announced England , Finland, New Zealand and many other leading nations are implementing computing curriculum into primary and secondary classrooms. a 12 million dollar investment to restore STEM in schools with computational thinking and coding across the curriculum; an initiative best served and supported with an F-10 Digital Technologies curriculum. females .

Australia can lead F-10 computing education by providing every child an opportunity to understand how the technologies they use function, to develop fundamental literacy in coding and to have opportunities to create digital projects. Let's prepare our future generations to be creators, not just consumers of digital technology!

I'm SUPER excited to announce that our CSER group has an edX MOOC to be released at the end of April! In this free online course you will learn Computational Thinking and how to create digital artwork with code, using ProcessingJS.

This course is suitable for senior high school students, educators wanting to know more about general-purpose programming and/or anyone who wants to learn how to code!

Come and join us via the edX website. Below is an introductory video.

I'm very excited to announce that we will have a new Digital Technologies Education MOOC available for teachers (and education leadership) available in May! This MOOC will be based around a series of themes and teachers can select which theme they would like to learn about - such as Robotics, Games and Data Visualisation. Within the theme, teachers will learn design and development practices and computational thinking. For more information, I have put together a video, below.

Please share with all the educators that you know!

EdFest 2015 will be an online event to encourage professional dialogue around the implementation of the Australian Curriculum, using contemporary models for learning.

Targeting Australian teachers, it will be broadcast via Google+ Hangout to Air, Twitter #edfest15 and embedded in Scootle Lounge.
Join EdFest HERE!
I'm a speaker at the event. We have been invited to respond to some questions leading up to the event. Here's my response below.

1. Introduce yourself, you role and interests
I'm Rebecca Vivian, an Education Research Associate in the University of Adelaide Computer Science Education Research (CSER) Group. We explore practice and research in K-12 and tertiary Computer Science Education. One of our project streams that I am responsible for involves creating online resources and MOOCs to support educators with the implementation of Australia's new F-10 Digital Technologies curriculum. We also explore other topics which you can find here: http://blogs.adelaide.edu.au/cser/

2. What teaching and learning tools or trends are you excited about in 2015?
I'm super excited by the Australian Digital Technologies subject area! We have seen this curriculum undergo rigorous development and have been working hard to support teachers since 2013, so it's fantastic to see Australian schools start to implement it or have it on their agenda for 2015/2016. We have seen international contexts (e.g. England, New Zealand) adopt new computing curricula and it's great to be part of an exciting movement where it is now happening in Australia too. This curriculum provides every student in Australia with a modern curriculum and opportunity to learn about how their digital world works and to learn important skills. Skills that students will develop include, not just digital literacy, but also the fundamentals of computer science and coding, which are quickly becoming as important as reading and writing.

3. What advice do you have for have for new and experienced teachers opening their classroom's for 2015's first day of school?
If you aren't already on there, join social media and find education communities - particularly those in your area of interest. There are so many valuable conversations and resources being shared online in Twitter, Facebook, Scootle and on Google+! Social networks can provide educators at all stages with a great network of support and provide a source of inspiration throughout the school year. You can even inspire others and share your great ideas on social media that might inspire others. There are so many Personal Learning Networks and professional conversations happening in these spaces, hosted by educators. Not to mention, it's a great way to find out about upcoming free PD events!
Example Hashtags: #AussieEd #edchat #edtechchat Follow CSER at @cserAdelaide

4. What are you talking about during Edfest15?
I'll be talking about Digital Technologies Education implementation ideas for the F-6 year levels - drawing inspiration from a our CSER Digital Technologies MOOCs and the ideas being generated from our amazing participants in the Google+ community for the course.

Now it's your turn -"What teaching & learning tools or trends are you excited about in 2015?" and/or "What advice would you give to new and experienced teachers opening their classroom's for 2015"?

See you at #EdFest2015!

Recently I worked with the Library Services Team and some kind volunteers at the University of Adelaide to host an Hour of Code.

This video is a summary of our presentation for the #HourOfCode event held for free for staff and students at The University of Adelaide, December 2014. Thank you to all who participated! If you didn't get a chance to participate, this video will show you how you can still be involved.

Visit Code.org to try an Hour of Code - it's never too late!

Did you know, Australians are among the highest users of technology, and e-waste is one of the fastest growing types of waste? Millions of computers and electronic goods are sent to landfill each year and the total volume of televisions and computers reaching the end of their useful life is expected to reach 181,000 tonnes or 44 million units by 2027-28. Yet, Australians only recycle around 10% of e-waste. With technology development moving at a rapid pace, this is a pressing issue for our environment.

Have you recently updated your phone, personal computer or laptop? Not sure what to do with your old technology sitting in a cupboard or on a shelf collecting dust? While a number of us update to own the latest technological gadgets and computers, there are a number of Australians who are not fortunate enough to have access to, or who can afford technology.

Rather than throwing away your old technology or trying to re-sell it, you can give it away for a good cause! There are a number of organisations out there who will take your old technology, refurbish it and give it to a good home, a school or to a group that needs it. You might even be able to find a local non-profit or community centre in a disadvantaged area who would love to take your old technology and put it to good use.

If you're in Australia, you can search on this website, Give Now, for some community organisations who are able to take your old technology off your hands:
http://www.givenow.com.au/otherways/electricals
Another website, Give It, is one where people can request items for a particular need or user. This website requests anything from alarm clocks, to televisions and laptops:
http://www.givit.org.au/urgently-needed-list
There are also websites for businesses who are looking to remove unwanted computers and other technology.

However, if your old technology is no good and really won't be of use to anyone, don't throw it into landfill. Dispose of it through e-waste collection points. Search on the Internet for your local e-waste disposal centre or have a look at the bottom of this website for some options.

Just remember to remove all your personal information from your old technology - whether it be your phone or laptop! Search the Internet for a tutorial on how to do this correctly or seek assistance from your local IT expert.

# data[].attributes.attachment_link.description
I have received one of two awards: the Barbara Cail STEM Fellowship. The Fellowships are funded through the Australian Government, in partnership with the Chief Executive Women ( CEW) and the Office for Women within the Commonwealth Department of the Prime Minister and Cabinet. Only two awards are awarded nationally for this Fellowship scheme.

# data[].attributes.body
Free professional learning from the University of Adelaide. There are also a lot of useful tools and activities available.

# data[].attributes.attachment_link.provider_name
CSER STEM Professional Learning | University of Adelaide

# data[].attributes.attachment_link.readable_text
Maths in Schools Professional Learning - available now!

The University of Adelaide in partnership with Education Services Australia is pleased to deliver Maths in Schools Professional Learning. We are delighted to offer a series of Maths MOOCs for Foundation to Year 10, professional learning workshops and resources! Maths in Schools is an initiative of, and funded by the Australian Government Department of Education.
Find out more

# data[].attributes.attachment_link.description
Maths in Schools Professional Learning - available now! The University of Adelaide in partnership with Education Services Australia is pleased to deliver Maths in Schools Professional Learning. We are delighted to offer a series of Maths MOOCs for Foundation to Year 10, professional learning workshops and resources!

# data[].attributes.body
A variety of coding activities and suggestions.

# data[].attributes.attachment_link.title
Learn computer science. Change the world.

# data[].attributes.attachment_link.description
Every student in every school deserves the opportunity to study computer science.

# data[].attributes.body
Computer Science unplugged gives you ideas and activities that help develop computational thinking and computer science skills and concepts without using technology.

# data[].attributes.attachment_link.description
CS Unplugged is a collection of free teaching material that teaches Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around.

# data[].attributes.body
This website is provided by the Australian Government and has a plethora of resources related to the Digital Technologies Curriculum

# data[].attributes.attachment_link.description
Support for the Australian Curriculum Digital Technologies with lesson plans, case studies, advice for school leaders, activities for students and for families. See links to the digital technologies industry events and programs. Get support with the development of computational thinking and coding skills in Australian students.