You are on page 1of 9

INTRODUCTION TO COMPUTER SCIENCE

Curriculum overview

http://aka.ms/introCSedu
COURSE OVERVIEW
This twelve-unit course provides an introduction to 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 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 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 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.
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 timeframe.

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. It 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, it 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.
For more information: https://microbit.org/

1 | Introduction to Computer Science: Curriculum Overview


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 or composition.

Audience
This course targets students ages 11 to 14 and can also be used by more advanced students at ages 9 and
10. It is designed to accommodate participants without any coding experience.

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

 Synthesize the concepts in a new, creative


ways through self-directed coding projects.

2 | Introduction to Computer Science: Curriculum Overview


RESOURCES & TECH REQUIREMENTS
Hardware and devices for the educator and each student
 Computer, laptop, or tablet with an internet connection, modern browser, and USB port
 micro:bit
 Micro-USB cable
 Battery pack (with two AAA batteries)

For the project design aspects of the micro:bit,


these optional accessories are recommended:
 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

Note: For technical and compliance information, see microbit.org/guide/hardware/.

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 10 app is also available, if your school devices use the
Windows 10 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/microbitapp.

3 | Introduction to Computer Science: Curriculum Overview


STANDARDS
The course aligns to the following U.S. CSTA 2017-Revised computer science standards:

Identifier Standard Concept


1B-AP-09 Algorithms &
Create programs that use variables to store and modify data.
Programming
1B-AP-10 Create programs that include sequences, events, loops, and Algorithms &
conditionals. Programming
1B-AP-11 Decompose (break down) problems into smaller, manageable Algorithms &
subproblems to facilitate the program development process. Programming
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 Algorithms &
features. Programming

1B-AP-13
Use an iterative process to plan the development of a program by Algorithms &
including others' perspectives and considering user preferences. Programming
1B-AP-15 Test and debug (identify and fix errors) a program or algorithm to Algorithms &
ensure it runs as intended. Programming
1B-AP-16
Take on varying roles, with teacher guidance, when collaborating
Algorithms &
with peers during the design, implementation, and review stages
Programming
of program development.
1B-AP-17 Describe choices made during program development using code Algorithms &
comments, presentations, and demonstrations. Programming
1B-CS-01 Describe how internal and external parts of computing devices
function to form a system. Computing Systems

1B-CS-02
Model how computer hardware and software work together as a
Computing Systems
system to accomplish tasks.
1B-IC-20
Seek diverse perspectives for the purpose of improving Impacts of
computational artifacts. Computing
1B-NI-04 Networks & the
Model how information is broken down into smaller pieces,
transmitted as packets through multiple devices over networks Internet

4 | Introduction to Computer Science: Curriculum Overview


and the Internet, and reassembled at the destination.
2-AP-10
Use flowcharts and/or pseudocode to address complex problems Algorithms &
as algorithms. Programming
2-AP-11
Create clearly named variables that represent different data types Algorithms &
and perform operations on their values. Programming
2-AP-12
Design and iteratively develop programs that combine control Algorithms &
structures, including nested loops and compound conditionals. Programming
2-AP-13
Decompose problems and subproblems into parts to facilitate the Algorithms &
design, implementation, and review of programs. Programming
2-AP-15 Seek and incorporate feedback from team members and users to Algorithms &
refine a solution that meets user needs. Programming
2-AP-17 Algorithms &
Systematically test and refine programs using a range of test cases.
Programming
2-AP-19 Document programs in order to make them easier to follow, test, Algorithms &
and debug. Programming
2-CS-01
Recommend improvements to the design of computing devices,
Computing Systems
based on an analysis of how users interact with the devices.
2-CS-02
Design projects that combine hardware and software components
Computing Systems
to collect and exchange data.
2-DA-07
Represent data using multiple encoding schemes. Data & Analysis

3A-AP-13 Create prototypes that use algorithms to solve computational


Algorithms &
problems by leveraging prior student knowledge and personal
Programming
interests.

3A-AP-14 Use lists to simplify solutions, generalizing computational Algorithms &


problems instead of repeatedly using simple variables. Programming

3A-AP-16 Design and iteratively develop computational artifacts for practical


Algorithms &
intent, personal expression, or to address a societal issue by using
Programming
events to initiate instructions.

5 | Introduction to Computer Science: Curriculum Overview


ASSESSMENTS
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
 Unit assessments: Quiz, independent project diary and rubric
 Course assessment: Final project

UNIT SEQUENCE
Students will:
1: Making with micro:bit
 Learn functionality of the MakeCode programming environment and micro:bit platform
 Utilize the design thinking process to develop an understanding of a problem or user need, and
design an optimal solution
 Exercise creativity, engineering and resourcefulness to create, test, and iterate a micro:pet project for
their partner
2: Algorithms
 Understand the four components that make up a computer and their functions
 Learn the variety of inputs that the micro:bit can take in and process to produce outputs
 Apply this knowledge and create a micro:bit program that takes input and produces an output
3: Variables
 Understand what variables are, and when to use them in a program
 Learn how to create a variable, set it to an initial value, and change it
 Learn how to create meaningful variable names
 Learn how to use the basic mathematical blocks for variable values
 Create a unique program that uses variables
4: Conditionals
 Understand what conditional statements are, and how to use them in a program.
 Learn how to use the Logic blocks ‘If…then’ and ‘If…then…else’ to yield specified outcomes
 Create a micro:bit game that correctly and effectively uses conditionals

6 | Introduction to Computer Science: Curriculum Overview


5: Iteration
 Understand the value of iteration in programming
 Learn how and when to use the looping blocks ‘repeat’, ‘while’, and ‘for’ as forms of iteration
 Create a program that uses iteration and looping
6: Mini-project
 Demonstrate an understanding of previous units’ concepts
 Code a micro:bit program; design and build a physical maker component that uses it
7: Coordinates
 Understand the correlation between coordinates and the LED grid on the micro:bit
 Understand that the values of the x and y coordinates, how to refer to, plot, unplot, and toggle them
 Create a program that uses coordinates
8: Booleans
 Understand what Booleans and Boolean operators are, and why and when to use them
 Learn how to create a Boolean, set and change its value
 Learn how to use the random true or false block
 Create a program that uses Booleans and Boolean operators
9: Bits, bytes, and binary
 Understand what bits and bytes are and how they relate to computers
 Learn to count in base-2 (binary) and translate numbers from base-10 (decimal) to binary and decimal
 Create a program that uses binary counting
10: Radio communication
 Understand how to use the Radio blocks to send and receive data between micro:bits
 Understand the specific types of data that can be sent over the radio
 Work in pairs to design a program using radio communication between two micro:bits
11: Arrays
 Recognize and demonstrate three common sorting algorithms
 Learn common array operations and practice creating, storing, and retrieving their values
 Create a musical instrument that uses a micro:bit and program it, using arrays
12: Final Independent Project

7 | Introduction to Computer Science: Curriculum Overview


 Code a unique, original micro:bit program, and design and build a physical maker component that
uses the micro:bit in its construction

Ready to get started?


Go to http://aka.ms/introCSedu to download the free curriculum materials that contain
educator guides, videos, presentations, student worksheets and assessments.

8 | Introduction to Computer Science: Curriculum Overview

You might also like