0% found this document useful (0 votes)
7 views

Curriculum overview guide - Intro to CS MakeCode microbit

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Curriculum overview guide - Intro to CS MakeCode microbit

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Course overview guide

makecode.microbit.org

Introduction to Computer Science: Standards alignment guide | 1


Table of Contents
Contributors ................................................................................................................................................................................................... 3
About the curriculum authors .......................................................................................................................................................................................... 3
A note from the authors ..................................................................................................................................................................................................... 4
Overview ......................................................................................................................................................................................................... 5
Course summary..................................................................................................................................................................................................................... 5
About micro:bit ....................................................................................................................................................................................................................... 6
About block coding and Microsoft MakeCode ........................................................................................................................................................ 6
Audience .................................................................................................................................................................................................................................... 6
Learning goals ......................................................................................................................................................................................................................... 6
CSTA K-12 Computer Science standards..................................................................................................................................................................... 7
Bill of instructional materials...................................................................................................................................................................... 9
Technical and material requirements ..................................................................................................................................................... 10
Hardware and devices....................................................................................................................................................................................................... 10
Purchasing recommendations .................................................................................................................................................................................. 11
Software for all devices .................................................................................................................................................................................................... 11
Additional materials ........................................................................................................................................................................................................... 11
Purchasing suggestions............................................................................................................................................................................................... 11
Course delivery ............................................................................................................................................................................................ 12
Activity summary ................................................................................................................................................................................................................. 12
Unit structure, summary, and sequencing ............................................................................................................................................................... 13
Assessment summary ........................................................................................................................................................................................................ 17
Required educator preparation ............................................................................................................................................................... 18
Care and safety tips for the micro:bit......................................................................................................................................................................... 18
Preparing to teach the course ....................................................................................................................................................................................... 19
Understand core concepts and terms ................................................................................................................................................................... 19
Know your tools .............................................................................................................................................................................................................. 19
Optional device preparation .......................................................................................................................................................................................... 26
Recommended resources ................................................................................................................................................................................................ 26
Glossary ......................................................................................................................................................................................................... 27

Introduction to Computer Science: Standards alignment guide | 2


Contributors
Sponsored and published by Microsoft, this curriculum content was authored by Douglas Kiang and Mary Kiang. The
course materials were produced by Prime 8 Consulting for Microsoft MakeCode.

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.

About the curriculum authors

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.

Introduction to Computer Science: Standards alignment guide | 3


A note from the authors
When we first started teaching computer science, we discovered two important things. We found that existing curriculum
for beginners focused mostly on solving math problems or constructing geometric shapes and that there was a certain
type of student that signed up for computer science classes and it was almost always boys. We wondered whether a
different approach to teaching the basics of computer programming would be more engaging and also attract a wider
variety of students—both boys and girls.

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.

Introduction to Computer Science: Standards alignment guide | 4


Overview
Course summary
This twelve-unit course introduces coding and computer science by way of making and design, using the revolutionary
new micro:bit microcontroller board, and Microsoft’s easy and powerful MakeCode block-based coding environment. The
course is a project-based curriculum, with a maker philosophy at its core that provides a context for learning coding and
computer science concepts through the act of making physical objects.

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.

Introduction to Computer Science: Standards alignment guide | 5


About micro:bit
The BBC micro:bit is a handheld, programmable micro-computer with a 5x5 display of 25 LEDs, Bluetooth, and sensors that
can be programmed by anyone. It can be coded from any web browser in Blocks, JavaScript, Python, Scratch, and more—
no software required. The micro:bit provides an easy and fun introduction to programming and making—switch on,
program it to do something fun, wear it, customize it. With the ability to connect to and interact with sensors, displays,
and other devices, the micro:bit can be used for all sorts of cool creations from robots to musical instruments—the
possibilities are endless. Micro:bit is widely used in schools around the world, from Finland and Iceland to Singapore and
Sri Lanka.

About block coding and Microsoft MakeCode


In 1975, Seymour Papert of the MIT Media Lab created a beginners’ programming language called LOGO. He developed it
based on research that showed that playing with blocks of code was a particularly effective way to teach programming
concepts. Papert coined the term "constructionism" to describe the way that learners construct new knowledge by
building on established knowledge. The blocks in MakeCode are themselves models for the way that new learning
happens through the application of concepts in an open-ended learning environment. Block-based programming
languages such as Scratch and MakeCode build on Papert’s research and are a great way for students to start learning
about coding concepts without having to worry about syntax.

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:

▪ Describe and apply the following programming concepts:

▪ 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.

Introduction to Computer Science: Standards alignment guide | 6


CSTA K-12 Computer Science standards, revised 2017
The following table lists all CSTA 2017-revised standards addressed in the course. For more detailed information about the
standards addressed in each unit, please see the Standards alignment guide.

CSTA K–12 computer science standards

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.

2-AP-10 Use flowcharts and/or pseudocode to address complex problems as algorithms.

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.

Introduction to Computer Science: Standards alignment guide | 7


Identifier Standard

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-07 Represent data using multiple encoding schemes.

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.

Introduction to Computer Science: Standards alignment guide | 8


Bill of instructional materials
In addition to this overview guide, the following instructional materials are included with this course.

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:

▪ Overview, objectives, and activities map


▪ Coding activity steps and tips
▪ Challenge and extension activities
▪ Assessment rubrics
▪ Glossary of terms

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:

▪ Formative and summative assessment answer keys and printer-friendly


versions to distribute to your students
▪ Project scoring rubrics

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.

Introduction to Computer Science: Standards alignment guide | 9


Technical and material requirements
Hardware and devices
The educator and each student will need:

▪ Computer, laptop, or tablet with an internet


connection, modern browser, and USB port

▪ micro:bit

▪ Micro-USB cable

▪ Battery pack (with two AAA batteries)

Note: For technical and compliance information, see


microbit.org/guide/hardware.

To allow the project design aspects of the micro:bit, these accessories are recommended but optional:

▪ Alligator/crocodile clip cables

▪ Headphone/earbuds (for audio)

▪ Croc clip-to-headphone jack adapter

▪ Micro servo motor 9g SG90 (for movement)

▪ Croc clip-to-male connector (for connecting to Servo motor)

▪ Copper tape

Alligator/crocodile clips: Crocodile clip-to-headphone jack adapter: Micro servo motor:

Introduction to Computer Science: Standards alignment guide | 10


Purchasing recommendations

▪ 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.

▪ A variety of accessories can be purchased from kitronik.co.uk/microbit/bbc-micro-bit-accessories.html, e.g.,


different crocodile clips, adapters, and servo motors, etc.

▪ 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.

▪ Many accessories are also available at hardware stores or Amazon.com.

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.

Software for all devices


No special software is required—All coding can be completed in the online version of the MakeCode editor at
makecode.microbit.org.

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:

▪ Pizza boxes/scrap cardboard ▪ Glue ▪ Tongue depressors/popsicle


sticks
▪ Colored construction paper ▪ Tape
▪ String
▪ Scissors ▪ Pipe cleaners
▪ Colored markers/pencils
▪ Colored duct tape ▪ Stickers/adhesives

▪ Foil ▪ Feathers, beads, etc.

Purchasing suggestions

Many of these supplies can be purchased from discount stores, crafting stores, hardware stores, and Amazon.com.

Introduction to Computer Science: Standards alignment guide | 11


Course delivery
Activity summary
Most units include four types of activities that complement each other by reinforcing the concepts, skills, and
opportunities for creativity at different levels. (Unit 6 and Final Project don’t introduce new concepts or have a guided
activity.) The following table indicates the level of reinforcement for each type of activity.

Concept understanding Skills development Creativity

Overview Medium/high Low Low

Unplugged activity High Medium Low

Guided or “birdhouse” activity Low High Medium

Independent Project Medium Low High

The following table explains each type of activity.

Type of activity Description

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.

Introduction to Computer Science: Standards alignment guide | 12


Unit structure, summary, and sequencing
All units are structured as three lessons. Each lesson is intended to be broken into as many class sessions as needed to
complete the activities. The following table summarizes the types of activities and approximate length of the lessons.

Lesson Included activities Approximate length

A Overview and unplugged activity 45-60 minutes

Guided “birdhouse” activity 60-75 minutes


B
(In Unit 6 and Final Project, the activity is the independent project.) (4-5 hours)

Independent project 60-120 minutes


C
(In Unit 6 and Final Project, the activity is a showcase of student projects.) (60-90 minutes)

The following table summarizes the units and lessons in the suggested teaching sequence.

Unit description Learning goals Associated lessons

Unit 2: Algorithms ▪ Understand the four components that make up a Lesson A:


Introduces a conceptual computer and their functions. What’s a computer and
framework for thinking of a ▪ Understand that the micro:bit takes input, and what’s your function?
computing device as after processing the input, produces output. Lesson B:
something that uses code to ▪ Learn the variety of different types of information Happy face, sad face
process one or more inputs the micro:bit takes in as input. Lesson C:
and send them to an Fidget cube
▪ Apply this knowledge by creating a micro:bit
output(s)
program that takes input and produces an output.

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.

Introduction to Computer Science: Standards alignment guide | 13


Unit description Learning goals Associated lessons

(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 4: Conditionals ▪ Understand what conditional statements are and Lesson A:


Introduces the Logic blocks, why and when to use them in a program. Conditionals in daily life
such as ‘If…then’ and ▪ Learn how to use the Logic blocks ‘If…then’ and Lesson B:
‘If…then…else’, with a focus ‘If…then…else’. Rock, paper, scissors
on practicing skills of ▪ Practice using the Logic blocks, so different Lesson C:
creativity, problem-solving, conditions yield specified outcomes. Code a board game
and collaboration
▪ Demonstrate understanding and apply skill by
collaborating with classmates to create a game
that uses a micro:bit and a program that correctly
and effectively uses conditionals.

Unit 5: Iteration ▪ Understand the value of iteration in programming. Lesson A:


Introduces the concept of ▪ Understand looping as a form of iteration. Understanding iteration
iteration and loops to ▪ Learn how and when to use the looping blocks Lesson B:
program repeated sequences ‘repeat’, ‘while’, and ‘for’. Coding with loops
of code more efficiently Lesson C:
▪ Apply the above knowledge and skills to create a
unique program that uses iteration and looping as Get loopy
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

Introduction to Computer Science: Standards alignment guide | 14


Unit description Learning goals Associated lessons

Unit 7: Coordinates ▪ Understand that the 5 x 5 grid of LEDs on the Lesson A:


Introduces the use of micro:bit represents a coordinate grid with the Understanding coordinates
coordinates to store data or origin (0,0) in the top-left corner. Lesson B:
the results of mathematical ▪ Understand that the values of the x coordinates Coding animations and
operations and gives students range from 0 through 4 and increase from left to patterns
practice programming the right. Lesson C:
LEDs of the micro:bit screen ▪ Understand that the values of the y coordinates Screensaver or game project
using coordinates range from 0 through 4 and increase from top to
bottom.
▪ Learn how to refer to an individual LED by its x and
y coordinates.
▪ Learn how to plot (turn on) and unplot (turn off)
individual LEDs and toggle between these two
states.
▪ Learn how to check the current on-or-off status of
an individual LED and check and set the brightness
level.
▪ Apply the above knowledge and skills to create a
unique program that uses coordinates as an
integral part of the project.

Unit 8: Booleans ▪ Understand what Booleans and Boolean operators Lesson A:


Introduces the use of the are and why and when to use them in a program. Understanding Booleans
Boolean data type to control ▪ Learn how to create a Boolean, set the Boolean to Lesson B:
the flow of a program, keep an initial value, and change the value of the Coding a double coin flipper
track of state, and to include Boolean within a micro:bit program. Lesson C:
or exclude certain conditions ▪ Learn how to use the random “true or false” block. Project Boolean
▪ Apply the above knowledge and skills to create a
unique program that uses Booleans and Boolean
operators as an integral part of the program.

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.

Introduction to Computer Science: Standards alignment guide | 15


Unit description Learning goals Associated lessons

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

Introduction to Computer Science: Standards alignment guide | 16


Unit description Learning goals Associated lessons

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.

▪ Course assessment: Final project

▪ Unit assessments: Quiz, project, and reflection diary scoring rubric

▪ Lesson assessments: “Do now,” knowledge check questions, and exit ticket

Introduction to Computer Science: Standards alignment guide | 17


Required educator preparation
Care and safety tips for the micro:bit
Using the micro:bit is fun and simple. It was designed to be safe to use with youth. However, it’s an open board with all
the electrical parts on display. It’s been specifically designed this way, but this does mean there’s a small risk that the parts
can be damaged and even overheat. However, a little bit of care and caution will ensure you, your students, and your
micro:bits will stay fit and healthy.

 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

▪ micro:bit support at support.microbit.org/support/home.

 Print, post in your classroom, and hand out one of the safety guides to your students. Choose the one most
appropriate for your students.

▪ For older students, consider: microbit.org/guide/safety-guide-page.

▪ For younger students, consider: microbit.org/guide/safety-guide-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.

Introduction to Computer Science: Standards alignment guide | 18


Preparing to teach the course
Aim to meet the following learning objectives prior to leading the first unit.

Understand core concepts and terms

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.

Know your tools

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.

Get familiar with the layout, functionality, and coding in MakeCode

 Start or import a project

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.

Introduction to Computer Science: Standards alignment guide | 19


 Import a program:

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.

Introduction to Computer Science: Standards alignment guide | 20


An open project looks like the following. This is the view you and your students will be coding in throughout the course.

There are three main areas of 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.

 Practice with a tutorial

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.

Introduction to Computer Science: Standards alignment guide | 21


 Save, name, and publish a project

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.

Save a project as a .hex file:

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.

Publish a project to get a sharing link:


1. When you’re in an open project, select the Share button (in the top task bar to the right of the Home button). In
the Share Project window, select the purple Publish project button.

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.

Introduction to Computer Science: Standards alignment guide | 22


Important

▪ The sharing link is case sensitive.

▪ 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.

Introduction to Computer Science: Standards alignment guide | 23


 Connect the micro:bit

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.

Introduction to Computer Science: Standards alignment guide | 24


 Download a MakeCode program

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 copper tape when you don’t have crocodile clips.

▪ 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.

Introduction to Computer Science: Standards alignment guide | 25


Connect the micro:bit to a micro servo motor for movement:
▪ Use crocodile clips to connect the micro servo motor. To learn how, take the “Equipping a microservo” tutorial at
makecode.microbit.org/device/servo.

▪ 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.

Optional device preparation


If you decide to use the MakeCode for micro:bit Windows app, it’s recommended that you download the app from
aka.ms/microbitapp to all computers, laptops, or tablets before starting the course. Alternatively, you could lead students
in downloading the app in Lesson B of Unit 1: Making with micro:bit.

Recommended resources
If you would like additional support to your initial preparation, please review the following resources.

▪ Review the micro:bit quick start resources at microbit.org/guide/quick.

▪ Go through some of the Tutorials or Projects at makecode.microbit.org.

▪ Access the MakeCode reference documentation at makecode.microbit.org/reference.

▪ Watch the “Behind the MakeCode Hardware” micro:bit videos at youtube.com/playlist?list=PLMMBk9hE-


SeqDYtw9pGNPsQ10V_EGMyGe.

▪ View project examples and share your students’ projects at @microbit_edu and @MSMakeCode.

Introduction to Computer Science: Standards alignment guide | 26


Glossary
The following table includes coding terms and definitions used in the course (listed alphabetically).

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.).

assign To set the value of a variable.

binary digit A number with only two possible values: 0 or 1.

bit A binary digit with two possible values: 0 or 1.

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.

element An individual item in an array.

Introduction to Computer Science: Standards alignment guide | 27


Term Definition
event Something that happens outside a program (like a screen tap or mouse click) that the
program can respond to.
event handler Part of a program that runs when a specific event happens (it “handles” the event). In
MakeCode, an event handler block looks like a square with a gap in the middle and usually
starts with the word “on.”
for loop A programming construct that allows for a block of code to be executed a specified number of
times.
function A self-contained set of instructions for performing a specific task within a computer program.
Most objects have multiple functions associated with them.
Gigabyte (GB) 1,073,741,824 bytes or 230 bytes.

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.

Megabyte (MB) 1,048, 576 bytes or 220 bytes.

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.

number A variable type that holds numerical data.

object A fundamental building block for any computer program designed to hold data and allow for
manipulation of that data through functions and properties.

Introduction to Computer Science: Standards alignment guide | 28


Term Definition
origin The location on a coordinate grid where the axes meet and both the x and the y values are
zero (0,0).
outputs How a computer displays or communicates information. For example: monitor/screen,
headphones/speakers, printer.
parameter Data passed to a function.

processor A chip inside a computer that processes and transforms information/data.

program See computer program.

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.

Terabyte (TB) 1,099,511,627,776 bytes or 240 bytes.

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.

Introduction to Computer Science: Standards alignment guide | 29

You might also like