Curriculum overview guide - Intro to CS MakeCode microbit
Curriculum overview guide - Intro to CS MakeCode microbit
makecode.microbit.org
The standards alignment guide is included to provide a summary of which CSTA 2017-revised standards are addressed
throughout the course. Below, you will find a course summary and the CSTA standards defined and broken down by unit.
Douglas Kiang is a speaker, teacher, and workshop presenter with over thirty years of
teaching experience in independent schools at every grade level. He currently teaches
high school computer science at Menlo School in Atherton, California. Douglas holds a
master’s degree in Technology, Innovation, and Education from Harvard and is a
Microsoft Innovative Educator.
Mary Kiang has been teaching for over thirty years at elementary, middle, and high
school levels. She also developed curriculum in the Education Department of the
Museum of Science in Boston. She currently teaches 7th and 8th grade Computer
Science at Menlo School in Atherton, California. Mary is a former programmer for
Houghton Mifflin and Dun & Bradstreet and holds a Master’s degree in Elementary
Education from Simmons College. Mary is the founder of GO Code!, an organization
that supports girls and young women in exploring coding and STEM.
We decided to focus on what knowing how to program allowed you to do and create. Ultimately, all programs are created
to solve a problem or serve a purpose. The problem may be local or global, the purpose may be anything from helping
doctors treat patients to pure entertainment. By starting with interesting problems that the students wanted to solve, they
were much more engaged in learning to code. They saw coding skills as an important part of building creative solutions.
With this approach, we found that not only did we get more girls taking the course, but we also got a more diverse group
of boys. Opportunities for collaboration increased, and all the students got to see where their talents and skills meshed
with others’ interests and experiences to make a whole that was greater than the sum of its parts.
We are now at the point where a third of the students taking computer science are girls, and more importantly, students
are coming out of the course not only with an understanding of code but also knowing how to read through
professionally written code and take an idea from brainstorming through prototyping to build something that matters.
The course is comprised of twelve units plus a final project, with each unit focusing on specific computer science concepts
and programming skills. Each unit includes three lessons that combine unplugged activities to introduce the concepts,
guided or “birdhouse” activities to gain hands-on coding experience, self-directed independent projects to apply their new
skills in creative ways, and assessments to test their knowledge and skill development. Teaching all twelve units and their
included lessons will total approximately 22-30 hours of educator instruction/facilitation time and approximately 16-27
hours of student independent project-based activity time.
When students complete this course, they will have a good understanding of more than ten computer science concepts
that can serve as a foundation for future study. They will develop powerful design skills that they can use in future projects
of all types, whether that be designing 3D-printed prototypes or creating apps that serve a real-world purpose.
Educators without a computer science background or who have never taught computer science before are encouraged to
incorporate this course into their curriculum regardless of their subject area and should feel free to customize the
curriculum to meet individual school or district resources and timeframes.
Audience
This course targets students aged 11–14 and can also engage more advanced students at aged 9–10. It is designed to
accommodate participants without any coding experience.
Learning goals
By the end of this course, students will be able to:
▪ Algorithms
▪ Variables
▪ Conditionals
▪ Iteration
▪ Coordinate grid system
▪ Booleans
▪ Bits, bytes, and binary
▪ Radio
▪ Arrays
▪ Accelerometer
▪ Synthesize the concepts in new, creative ways through self-directed coding projects.
Identifier Standard
1B-AP-09 Create programs that use variables to store and modify data.
1B-AP-10 Create programs that include sequences, events, loops, and conditionals.
Decompose (break down) problems into smaller, manageable sub-problems to facilitate the program
1B-AP-11
development process.
Modify, remix, or incorporate portions of an existing program into one’s own work, to develop
1B-AP-12
something new or add more advanced features.
Use an iterative process to plan the development of a program by including others’ perspectives and
1B-AP-13
considering user preferences.
1B-AP-15 Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.
Take on varying roles, with teacher guidance, when collaborating with peers during the design,
1B-AP-16
implementation, and review stages of program development.
Describe choices made during program development using code comments, presentations, and
1B-AP-17
demonstrations.
1B-CS-01 Describe how internal and external parts of computing devices function to form a system.
1B-CS-02 Model how computer hardware and software work together as a system to accomplish tasks.
1B-IC-20 Seek diverse perspectives for the purpose of improving computational artifacts.
Model how information is broken down into smaller pieces, transmitted as packets through multiple
1B-NI-04
devices over networks and the Internet, and reassembled at the destination.
Create clearly named variables that represent different data types and perform operations on their
2-AP-11
values.
Design and iteratively develop programs that combine control structures, including nested loops and
2-AP-12
compound conditionals.
Decompose problems and subproblems into parts to facilitate the design, implementation, and review
2-AP-13
of programs.
Seek and incorporate feedback from team members and users to refine a solution that meets user
2-AP-15
needs.
2-AP-17 Systematically test and refine programs using a range of test cases.
2-AP-19 Document programs in order to make them easier to follow, test, and debug.
Recommend improvements to the design of computing devices based on an analysis of how users
2-CS-01
interact with the devices.
2-CS-02 Design projects that combine hardware and software components to collect and exchange data.
2-DA-08 Collect data using computational tools and transform the data to make it more useful and reliable.
Create prototypes that use algorithms to solve computational problems by leveraging prior student
3A-AP-13
knowledge and personal interests.
Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple
3A-AP-14
variables.
Design and iteratively develop computational artifacts for practical intent, personal expression, or to
3A-AP-16
address a societal issue by using events to initiate instructions.
Identifier Standard
Educator preparation video (1) A video that provides an overview of the course, materials, and required preparation
to get ready to teach the course.
Unit quick-start videos (13) Each unit includes a short, high-level introduction to the featured computer science
concept, key preparation, and activities for that unit.
Educator guides (13) A guide is provided for each unit and should be used for preparation and as a
reference while delivering content. They include:
▪ A high-level overview of the unit and associated lessons, learning goals, and
addressed computer science standards.
▪ Required educator preparation tasks, skills to complete the activities, and
resources to master the covered concepts and skills.
Lesson plans, outlines, suggested tasks for before the lesson and any additional
materials needed, lesson details with activity instructions and screenshots, and post-
lesson assessments and tasks.
Unit presentations (13) Each unit is supported by its own PowerPoint presentation to provide structure and
guide the students through the lessons of that unit.
Student workbook (13) Each unit includes a workbook that aligns to the unit structure and includes:
Assessment guide (1) To communicate expectations and support the educator in evaluating student work
and final projects, assessment materials are provided for the course as well as for each
unit and its associated lessons:
Standards alignment guide (1) Summarizes the CSTA K-12 computer science standards addressed in the course and
throughout each unit and associated lessons.
Curriculum overview (1) A stylish, easy-to-read booklet to promote the course to stakeholders such as school
district administrators and government partners.
▪ micro:bit
▪ Micro-USB cable
To allow the project design aspects of the micro:bit, these accessories are recommended but optional:
▪ Copper tape
▪ The micro:bit and many accessories can be purchased from resellers found at microbit.org/resellers. Look for the
micro:bit Go Kit, which includes a micro-USB cable and battery pack with a micro:bit.
▪ Copper tape is inexpensive and super useful in all sorts of maker activities so it’s worth investing in a few rolls to
keep on hand for micro:bit projects. You can purchase copper tape at sparkfun.com/products/10561 and
adafruit.com/product/1128.
Note:
▪ If you have a limited number of the accessories, consider having students work in groups on projects
incorporating sound and motion.
▪ If the accessories are not available to purchase or borrow, delete the sound and motion expectation from
applicable projects, and modify the scoring rubrics accordingly.
Note: A free MakeCode for micro:bit Windows app is also available if your school devices use the Windows operating
system. It will download MakeCode programs directly to the micro:bit without having to drag and drop your program files
to the USB drive. This is optional software is found at
aka.ms/microbitapphttps://www.microsoft.com/store/productId/9PJC7SV48LCX.
Additional materials
To complete the projects, an assortment of arts and crafts supplies are needed throughout the course, such as:
Purchasing suggestions
Many of these supplies can be purchased from discount stores, crafting stores, hardware stores, and Amazon.com.
Overview Each unit starts with an overview to introduce the learning goals and presents an overview of
that unit’s topic. Some units have a specific activity that can help introduce the topic to
students in a fun way.
Unplugged activity An unplugged activity doesn’t require technology. It’s a chance to get students up and moving
and designed to be a fun introduction to the computer science concept covered in that unit.
Unplugged activities are an important way to demonstrate new concepts in a tangible, often
kinesthetic, way. Since so many computer-based topics are abstract, unplugged activities are
very effective at fostering understanding that students will then demonstrate in later activities.
Guided or These coding activities provide step-by-step instructions to build a program that
“birdhouse” activity demonstrates the unit’s topic, and every student makes the same thing. Like the birdhouses
you might have made in wood shop, they introduce new skills and provide an easy way to
assess student work because you already know what it’s supposed to look like at the end. By
the time students finish the activity, they will have written code that they can use in a different
project of their own design. Most “birdhouse” activities include optional modifications, or
mods, without instructions to challenge and extend students’ learning. Feel free to suggest
your own mods or encourage your students to come up with their own ideas!
Independent Project After presenting the concept in an unplugged fashion, then walking students through a
demonstration activity, it’s time to challenge them to apply those new skills and concept
knowledge in a unique context and provide lots of opportunity for creativity. Students will be
working on their projects in a “collaboratively independent” way, which means each student is
responsible for turning in his or her own project but are encouraged to work together and
help each other while doing so. Some form of reflection is an important part of documenting
the learning that has taken place, and it’s a great idea to share out the projects and reflections,
either at an event or on a blog.
The following table summarizes the units and lessons in the suggested teaching sequence.
Unit 3: Variables ▪ Understand what variables are and why and when Lesson A:
Introduces the use of to use them in a program. Variables in daily life
variables to store data or the ▪ Learn how to create a variable, set the variable to Lesson B:
results of mathematical an initial value, and change the value of the Make a game scorekeeper
operations and the variable within a micro:bit program. Lesson C:
importance of giving ▪ Learn how to create meaningful and Everything counts
variables unique and understandable variable names.
meaningful names
▪ Understand that a variable holds one value at a
time.
▪ Understand that when you update or change the
value held by a variable, the new value replaces the
previous value.
(Unit 3: Variables continued) ▪ Learn how to use the basic mathematical blocks for
adding, subtracting, multiplying, and dividing
variable values.
▪ Apply the above knowledge and skills to create a
unique program that uses variables as an integral
part of the project.
Unit 6: Mini project ▪ Code a unique, original program and design and Lesson A:
Provides a review of the build a physical maker component that uses the Looking back so far
concepts covered in the units micro:bit in some way. Lesson B:
1-5, introduces an ▪ Demonstrate the use of one of the following Coding and making a mini
independent “mini project,” concepts to illustrate what they know and show project
and reinforces the important something new: Lesson C:
idea that programming is a ▪ Design Thinking Mini project showcase
process of patient problem-
▪ Input/Processing/Output
solving
▪ Variables
▪ Conditional statements
▪ Iteration/loops
Unit 9: Bits, bytes, and binary ▪ Understand what bits and bytes are and how they Lesson A:
Introduces the concept of relate to computers and the way information is Understanding bits, bytes,
binary digits, base-2 notation, processed and stored. binary
how data is stored digitally, ▪ Learn to count in base-2 (binary) and translate Lesson B:
and how it can be read and numbers from base-10 (decimal) to binary and Code a binary transmogrifier
accessed decimal. Lesson C:
▪ Apply the above knowledge and skills to create a Make a binary cash register
unique program that uses binary counting as an
integral part of the program.
Unit 10: Radio ▪ Understand how to use the Radio blocks to send Lesson A:
communication and receive data between micro:bits. Understanding radio
Introduces the radio ▪ Understand the specific types of data that can be communication
functionality of the micro:bit sent over the radio. Lesson B:
that send and receive ▪ Work in pairs to apply the above knowledge and Explore the Radio Toolbox
numeric and string data skills to design a unique program using radio Lesson C:
between micro:bits and the communication between two micro:bits. Make a micro:bit radio
concept of pair programming
Unit 11: Arrays ▪ Understand what arrays are, how to create them, Lesson A:
Introduces the usefulness of and learn common array operations such as setting Understanding arrays
arrays to store a collection of and getting values by index. Lesson B:
related data types and ▪ Explain the steps they would take to sort a series of Coding with arrays
retrieve the data points in an numbers. Lesson C:
ordered fashion and common ▪ Recognize three common sorting algorithms. Make a micro:bit musical
algorithms for sorting data instrument
▪ Practice storing and retrieving values in arrays.
▪ Demonstrate understanding and apply skills by
creating a musical instrument that uses a micro:bit
and a program that correctly and effectively uses
arrays to store data.
Unit 12: Accelerometer ▪ Understand how to use the Accelerometer blocks Lesson A:
Introduces the accelerometer to sense the micro:bit’s position and movement in Understanding the
functionality of the micro:bit three-dimensional space. accelerometer
and covers acceleration, ▪ Understand the x, y, and z axes and measurement Lesson B:
velocity, and other ways to of gravitational force. Explore the accelerometer
measure the movement of an ▪ Apply the above knowledge and skills to design a toolbox
object through three- unique program using the accelerometer. Lesson C:
dimensional space. Make an Accelerometer
project
Final project ▪ Code a unique, original program, and design and Lesson A:
Provides a review of units 7- build a physical maker component that uses the Looking back
12, and tasks students to micro:bit in some way. Lesson B:
create an independent ▪ Demonstrate the use of one of the following Coding and making a final
project that demonstrates the concepts to illustrate what they know and show project
use of something they have something new: Lesson C:
already learned, something ▪ Coordinates Final project showcase
they researched for
▪ Booleans
themselves, something they
▪ Bits, bytes, and binary
borrowed from somewhere
else (with citations), and ▪ Radio communication
something completely ▪ Arrays
original, as well as ▪ Accelerometer
documentation of their
design, making, and learning
process
Assessment summary
Learning assessment opportunities are provided for each unit and its associated lessons. For more details about the
assessment approach and printer-friendly versions, see the assessment guide.
▪ Lesson assessments: “Do now,” knowledge check questions, and exit ticket
Follow these top tips, and review the more detailed tips at microbit.org/guide/safety-advice:
With the electronics accessible, it’s important to avoid generating static electricity.
▪ Always keep the micro:bits in the anti-static bag when not using it.
▪ It’s good practice for anyone using the micro:bit to earth themselves before handling it. You can discharge
any static you’ve built up by touching a metal object to ‘earth’ yourself. A chair or table leg would be a good
choice. No need to cling on to it for dear life—a quick touch is all you need.
▪ Only handle the BBC micro:bit by its edges, avoid touching the components when the power is running, and
don’t place any metal objects across the printed circuits on the board (this can cause a short circuit, damaging
the micro:bit, and can cause risk of burn or fire).
▪ Only use the included battery pack and micro-USB cable to power the micro:bit. Please follow the power
guidelines at microbit.org/guide/safety-advice/#toc_4.
▪ Don’t keep damaged BBC micro:bits. If you find any faults or damage to a micro:bit, contact:
▪ The supplier it was purchased from immediately and replace the device with one of the spare micro:bits
supplied, or
Print, post in your classroom, and hand out one of the safety guides to your students. Choose the one most
appropriate for your students.
Develop equipment safety procedures that includes expectations for students to treat the micro:bit with care and
respect while storing, distributing, and collecting the micro:bit and accessories. We recommend posting those
procedures for easy reference in your classroom.
This course introduces students to core computer science and coding concepts. Reviewing the instructional materials for
each unit (educator guide, presentation, and student workbook) and practicing the lesson activities will teach you each
unit’s concepts. In addition:
Reference the Glossary and Recommended resources sections of this document as needed as and any unit-specific
resources provided in the educator guides.
Throughout the course, you and your students will use MakeCode editor in any modern browser on a computer, laptop, or
tablet. While you don’t need to be a master at coding, using MakeCode, or the micro:bit, you do need to know enough to
present the content, learn with your students, and help them troubleshoot.
From the home page of the MakeCode online editor (MakeCode.microbit.org), you can import a coding project (see
instructions below), start a new project, or scroll down the page to find various tutorials.
1. Select the Import button on the right side of the screen, under the banner.
2. You can import hex files or URLs; the course includes URLs for the coding solutions. In the Import window, select
Import URL…
3. Copy or type the URL in the field (this one is used in Unit 1: makecode.microbit.org/_amDYa3KdqU5w), and select Go
ahead!
4. This opens the imported project in a preview page. Select “Edit” to open it in the MakeCode editor.
▪ Simulator: On the left side of the screen, you will see a virtual micro:bit that shows what your program will look
like when run on a micro:bit. This is helpful for debugging and instant feedback on program execution.
▪ Toolbox: In the middle of the screen are a number of different categories or Toolbox drawers, each containing a
collection of different blocks that can be dragged into the programming workspace on the right.
▪ Workspace: On the right side of the screen is the programming workspace where you will create your program.
Programs are constructed by snapping blocks together in this area, like the program just uploaded. The color of
the blocks identifies their category. All of the blocks that make up the program above come from the Basic
Toolbox category, which is light blue.
Start coding by selecting the Flashing Heart tutorial in the MakeCode editor or doing the first coding activity in Lesson B
of Unit 2, Algorithms.
As you gain experience coding in MakeCode, practice saving and publishing a MakeCode project.
Name a project
It’s good practice to name your programs, which can be done a couple of ways:
1. When you open a new project, the default project name is: Untitled and shows in the name field (along the
bottom of the editor to the right of the purple Download button). Enter the desired name.
2. Alternatively, you can name the program when you exit a project. Select the Home button, then enter the desired
name and select Done.
When you’ve imported a program, it will default to the published name. You can change the name as desired.
You will then see the project listed in the My Projects area of the home page to access at another time. A named or
Untitled project is saved according to the login of whatever browser is being used. When you clear the cache of the
browser, the projects will be lost, unless you’ve saved them as a .hex file or published the project to get the URL.
When you’re in an open project and select the Save button, the program will download as a .hex file to your computer, to
the location your browser is set to save downloads. This .hex file can then be shared with others, who can import the .hex
file into MakeCode.
2. You can then copy the sharing link. Only people with that link will be able open the published version. There is
also an option to get Embed code instead.
▪ Be sure to save or write down the link in a safe place (there is space in the student workbook), as it’s not
searchable to find later.
▪ If you lose the sharing link, you can publish the project again from the MakeCode editor to get a new
sharing link of the same program.
Get familiar with the basic functionality of the micro:bit and downloading a MakeCode
program
These basic functions are introduced in Unit 1: Making with micro:bit and Unit 2: Algorithms. Instructions can also be
found in the unit educator guides.
The micro:bit is a microcontroller board. The main features used during the course are: programable LEDs, programable
buttons, connection pins, micro-USB connector, and the battery connector. Read about these features at
microbit.org/guide/features.
Connect the micro:bit to a computer with the micro-USB cable to power the micro:bit and download MakeCode programs
to the micro:bit. Once connected, the micro:bit will show up on your computer like a USB flash drive. During the unit
coding activities, you and your students will work with your computer connected in this way to download and test your
code.
You can also power the micro:bit with the battery pack via the white battery connector. During the unit projects, the
micro:bits will be connected in this way.
Download a MakeCode program to the micro:bit. A MakeCode program will download as a .hex file. (A .hex file can then
be uploaded to the micro:bit, or shared with others to be imported to MakeCode.)
1. Select the purple Download button in the lower left of the MakeCode screen.
Note: Depending on your browser, the downloaded .hex file will either be in the Downloads folder or the browser
will prompt you to save the file to a specific location. If you’re using the MakeCode for micro:bit Windows app, the
file will automatically copy to the micro:bit upon selecting the purple Download button.
2. To move the program to your micro:bit, drag the downloaded .hex file to the
MICROBIT drive, as if you were copying a file to a flash drive. See
makecode.microbit.org/device/usb for more detailed instructions to transfer the
program with different browsers on Windows and Mac computers.
3. The program will copy over, and it will begin running on the micro:bit immediately.
See makecode.microbit.org/device/usb/troubleshoot for troubleshooting tips as
needed.
The micro:bit will hold one program at a time. It is not necessary to delete files off the
micro:bit before you copy another onto the micro:bit; a new file will just replace the old one.
Get familiar with the sound and movement functionality of the micro:bit
In Unit 5: Iteration, sound and movement are introduced for the coding activities and project, and students may want to
use this functionality in subsequent unit projects. Practice this functionality before teaching Unit 5. While it might seem
daunting, it’s really just a few additional steps and hardware that are quite simple to master with a couple of practice
rounds. The unit educator guides include instructions and resources.
Connect the micro:bit to speakers/headphones/earbuds for sound. Here are some options:
▪ Use crocodile clip-to-headphone jack adapters to connect the headphones directly to the micro:bit.
▪ Use Crocodile clips. To learn how, take the “Hack your headphones” tutorial at
makecode.microbit.org/projects/hack-your-headphones.
▪ Use foil when you don’t have crocodile clips or copper tape. To learn how, take the “Foil circuits” tutorial at
makecode.microbit.org/device/foil-circuits.
▪ Then, calibrate the angles of the servo by taking the “Servo calibrator” tutorial at
makecode.microbit.org/projects/servo-calibrator.
Reminder:
▪ If you have a limited number of the accessories, consider having students work in groups on projects
incorporating sound and motion.
▪ If the accessories are not available to purchase or borrow, delete the sound and motion expectation from
applicable projects and modify the scoring rubrics accordingly.
Recommended resources
If you would like additional support to your initial preparation, please review the following resources.
▪ View project examples and share your students’ projects at @microbit_edu and @MSMakeCode.
Term Definition
algorithm A set of (often repeated) steps used to solve a problem. The set of steps for doing long
division of numbers is an algorithm.
array A list or collection of similar things. An object in an array is referred to as an element or item
in the array. An individual element can be referenced by its index position in the array.
array length The total number of items in the array.
array sort The order of items in the array collection (i.e., by date, price, name, color, etc.).
array type The type of item being stored in the array (i.e., numbers, words, comics, coins, cards, etc.).
byte A sequence of binary digits made up of eight bits. It has 256 possible values from 00000000
through 11111111.
block programming A programming language found in coding editors (such as Microsoft MakeCode and Scratch)
that uses different colored and shaped blocks that connect together in specific order to allow
beginners to learn about coding concepts without having to worry about syntax.
Boolean A data type that can be either true or false. A Boolean condition is a condition that evaluates
to either true or false.
computer program A set of instructions that a computer can follow, also called “code.” Apps and games are
examples of computer programs.
conditional statement Also known as an IF THEN or IF THEN ELSE statement. The part of a computer program or
code that tells a computer when to perform an action.
coordinate(s) A coordinate represents a position or location. Coordinates tell a computer program where an
action should take place by providing the location for the action. On the micro:bit, the
coordinates are represented on a 5 x 5 LED grid. Also see coordinate pair, x coordinate, and y
coordinate.
coordinate pair The combination of the x and y coordinates represented as (x,y).
debug The process of correcting errors within a program, e.g., the process of removing “bugs” from a
program.
declare To create a variable. Also see initialize.
index A numerical value that corresponds to a unique element in an array. Index values start at zero,
so the first element in an array has an index value of 0.
infinite loop A programming construct that allows for a block of code to be executed without ever
stopping.
initialize To set the value of a variable for the first time.
inputs How a computer takes in information from the world. For example: keyboard, mouse,
touchscreen, camera, microphone, game controller, scanner.
iteration To repeat. Programs use iteration to repeat a set of instructions.
JavaScript A text-based programming language designed for the web. JavaScript is one of the most
popular programming languages in the world. For more information on MakeCode’s
implementation of JavaScript, see makecode.com/language.
Kilobyte (KB) 1,024 bytes or 210 bytes.
loop In general, a programming construct that allows for a block of code to be repeated multiple
times. See for loop, infinite loop, iteration, and nested loop.
loop counter The variable used in a for loop to determine the number of times the loop will execute.
memory How a computer stores data. Data stored in random access memory (RAM) is lost when the
computer is turned off. Data stored in “storage” (also known as “hard drive”) remains when a
computer is turned off.
Microsoft MakeCode A coding editor in Code Connection that lets you code with two programming languages:
Block or JavaScript.
nested loop A programming construct that uses a loop within another loop.
object A fundamental building block for any computer program designed to hold data and allow for
manipulation of that data through functions and properties.
prototype A rough draft, sketch, or working model of your idea. The purpose of prototyping is to gather
more feedback to help you in your final design.
pseudocode A detailed outline or rough draft of a program. Pseudocode is a mix of natural language and
code.
radio The use of electromagnetic waves to send messages through the air. A radio communication
system requires a transmitter to send messages and a receiver to receive messages.
Random access Data stored in this area of a computer is lost when a computer is turned off. Can be thought
memory of as the computer’s short-term memory. Also known as RAM.
recursion A special form of iteration in which a function calls itself during its execution. This enables the
function to repeat itself several times, outputting the result at the end of each iteration.
sprite A variable type that represents a single dot (or lit LED) on the micro:bit screen and holds two
separate values for the row and column the dot (or lit LED) is currently in.
storage Data stored in this area of a computer remains when a computer is turned off. Can be thought
of as the computer’s long-term memory. Also known as the computer’s hard drive.
string A variable type that holds a sequence of alphanumeric characters and/or symbols.
user input The information or data given to the computer by the user, typically with a keyboard, mouse,
or other input device that is used in the program.
variable A container for data. Every variable has a name that is used to reference the data that it
contains. Every variable also has a variable type.
variable type The type of data that a variable can contain. Examples of variable types are number and string.
variable scope The part of a program where a variable can be read. For example, a variable declared in one
function is said to be a local variable and cannot be read from other functions. However,
variables can be declared with a global scope, making them readable in all functions of a
program.
x coordinate On the micro:bit, the x coordinate is a measure of the how many units a point is horizontally
from the origin and increases in value from left to right on the 5 x 5 LED grid.
y coordinate On the micro:bit, the y coordinate is a measure of the how many units a point is vertically from
the origin and increases in value from top to bottom on the 5 x 5 LED grid.