Professional Documents
Culture Documents
makecode.microbit.org
Table of Contents
Course summary .............................................................................................................................................................................................. 3
Standards alignment guide .......................................................................................................................................................................... 3
CSTA K–12 computer science standards .................................................................................................................................................... 4
Targeted standards by unit ........................................................................................................................................................................... 6
Targeted standards table .............................................................................................................................................................................. 9
The course is comprised of twelve units with each 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 50 hours of instruction.
When students complete this course, they will have a good understanding of more than ten computer science concepts
that can serve as the foundation for future study. They will develop powerful design skills that they can use in future
projects of all types, whether they are designing 3D-printed prototypes or creating apps that serve a real-world purpose.
1B-AP-09 Create programs that use variables to store Algorithms & Algorithms Creating
and modify data. programming
1B-AP-10 Create programs that include sequences, Algorithms & Control Creating
events, loops, and conditionals. programming
1B-AP-11 Decompose (break down) problems into Algorithms & Modularity Computational
smaller, manageable sub-problems to programming problems
facilitate the program development process.
1B-AP-12 Modify, remix, or incorporate portions of an Algorithms & Modularity Creating
existing program into one’s own work, to programming
develop something new or add more
advanced features.
1B-AP-13 Use an iterative process to plan the Algorithms & Program Inclusion,
development of a program by including programming development Creating
others’ perspectives and considering user
preferences.
1B-AP-15 Test and debug (identify and fix errors) a Algorithms & Program Testing
program or algorithm to ensure it runs as programming development
intended.
1B-AP-16 Take on varying roles, with teacher guidance, Algorithms & Program Collaborating
when collaborating with peers during the programming development
design, implementation, and review stages of
program development.
1B-AP-17 Describe choices made during program Algorithms & Program Communicating
development using code comments, programming development
presentations, and demonstrations.
1B-CS-01 Describe how internal and external parts of Computing Devices Communicating
computing devices function to form a systems
system.
1B-CS-02 Model how computer hardware and software Computing Hardware & Abstraction
work together as a system to accomplish systems software
tasks.
1B-IC-20 Seek diverse perspectives for the purpose of Impacts of Social Inclusion
improving computational artifacts. computing Interactions
1B-NI-04 Model how information is broken down into Networks & the Network Abstraction
smaller pieces, transmitted as packets Internet communication
through multiple devices over networks and & organization
the Internet, and reassembled at the
destination.
2-AP-10 Use flowcharts and/or pseudocode to Algorithms & Algorithms Abstraction
address complex problems as algorithms. programming
2-AP-19 Document programs in order to make them Algorithms & Program Communicating
easier to follow, test, and debug. programming development
2-DA-08 Collect data using computational tools and Data & analysis Collection Testing
transform the data to make it more useful visualization &
and reliable. transformation
3A-AP-13 Create prototypes that use algorithms to Algorithms & Algorithms Creating
solve computational problems by leveraging programming
prior student knowledge and personal
interests.
3A-AP-14 Use lists to simplify solutions, generalizing Algorithms & Variables Abstraction
computational problems instead of programming
repeatedly using simple variables.
3A-AP-16 Design and iteratively develop computational Algorithms & Control Creating
artifacts for practical intent, personal programming
expression, or to address a societal issue by
using events to initiate instructions.
1B-IC-20 Seek diverse perspectives for the purpose of improving computational artifacts.
2-CS-01 Recommend improvements to the design of computing devices based on an analysis of how users interact with
the devices.
2-AP-15 Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
3A-AP-13 Create prototypes that use algorithms to solve computational problems by leveraging prior student knowledge
and personal interests.
3A-AP-16 Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a
societal issue by using events to initiate instructions.
Unit 2: Algorithms
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-AP-10 Create programs that include sequences, events, loops, and conditionals.
1B-AP-17 Describe choices made during program development using code comments, presentations, and demonstrations.
Unit 3: Variables
1B-AP-09 Create programs that use variables to store and modify data.
2-AP-11 Create clearly named variables that represent different data types and perform operations on their values.
Unit 4: Conditionals
1B-AP-10 Create programs that include sequences, events, loops, and conditionals.
2-AP-10 Use flowcharts and/or pseudocode to address complex problems as algorithms.
2-AP-12 Design and iteratively develop programs that combine control structures, including nested loops and compound
conditionals.
1B-AP-15 Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.
2-AP-12 Design and iteratively develop programs that combine control structures, including nested loops and compound
conditionals.
1B-AP-12 Modify, remix, or incorporate portions of an existing program into one’s own work to develop something new or
add more advanced features.
1B-AP-15 Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.
2-AP-13 Decompose problems and subproblems into parts to facilitate the design, implementation, and review of
programs.
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.
3A-AP-13 Create prototypes that use algorithms to solve computational problems by leveraging prior student knowledge
and personal interests.
3A-AP-16 Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a
societal issue by using events to initiate instructions.
Unit 7: Coordinates
2-AP-10 Use flowcharts and/or pseudocode to address complex problems as algorithms.
Unit 8: Booleans
2-AP-10 Use flowcharts and/or pseudocode to address complex problems as algorithms.
1B-AP-16 Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation,
and review stages of program development.
2-CS-02 Design projects that combine hardware and software components to collect and exchange data.
3A-AP-14 Use lists to simplify solutions, generalizing computational problems instead of repeatedly using simple variables.
2-AP-15 Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
2-DA-08 Collect data using computational tools and transform the data to make it more useful and reliable.
Final project
1B-AP-11 Decompose (break down) problems into smaller, manageable sub-problems to facilitate the program
development process.
1B-AP-12 Modify, remix, or incorporate portions of an existing program into one’s own work to develop something new or
add more advanced features.
1B-AP-15 Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended.
2-AP-13 Decompose problems and sub-problems into parts to facilitate the design, implementation, and review of
programs.
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.
3A-AP-13 Create prototypes that use algorithms to solve computational problems by leveraging prior student knowledge
and personal interests.
3A-AP-16 Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a
societal issue by using events to initiate instruction
Standard Unit 1 Unit 2 Unit 3 Unit 4 Unit 5 Unit 6 Unit 7 Unit 8 Unit 9 Unit 10 Unit 11 Unit 12 Final project
1B-AP-09 X
1B-AP-10 X X X
1B-AP-11 X X
1B-AP-12 X X
1B-AP-13 X
1B-AP-15 X X X
1B-AP-16 X
1B-AP-17 X X
1B-CS-01 X
1B-CS-02 X
1B-IC-20 X
1B-NI-04 X
2-AP-10 X X X X X X X
2-AP-11 X
2-AP-12 X X
2-AP-13 X X
2-AP-15 X X
2-AP-17 X X
2-AP-19 X X
2-CS-01 X
2-CS-02 X
2-DA-07 X
2-DA-08 X
3A-AP-13 X X X
3A-AP-14 X
3A-AP-16 X X X