Draft

CODE_logo_CMYK.png

Code.org’s K-5 Computer Science Curriculum

Every student should have the opportunity to learn computer science, and the reasons are far more varied than simply having a strong resume. Critical thinking, logic, persistence, and creativity help students excel at problem-solving in all subject areas, no matter what their age.  At Code.org, we recognize that this benefit begins early. That's why we have developed an exciting and engaging curriculum that allows students to explore the limitless world of technology, beginning in elementary school.

Code.org’s K-5 computer science experience consists of three courses:

The courses are designed to be flexibly implemented. Rather than a rigid pathway based on grade levels, the courses are based on developmental level and prior experience. Teachers and schools can use the course structure to tailor a course sequence to their students’ needs and evolving experience.

Each experience is a blend of online activities and "unplugged" activities, lessons in which students can learn computing concepts with or without a computer. The online experiences are composed of self-guided and self-paced tutorials, which use scaffolded sets of programming instructions to explore and practice algorithmic thinking. The unplugged lessons take a hands-on, often kinesthetic approach, making use of physical manipulatives to model computational concepts.

Each course consists of 18 to 20 lessons, each lasting about 30-45 minutes. They can be taught at a comfortable pace: 18 consecutive days, 1 day a week for 18 weeks, etc. The content of each course builds conceptually on the previous course, so that a student can progress through all three experiences learning new concepts along the way.

Code.org’s K-5 curriculum aligns to CSTA Computer Science Standards and some lessons also integrate national Math, English Language Arts, Science, and ISTE standards.

Across the entire K-5 curriculum, students will develop the skills of a computer scientist through the development of Computational Thinking Practices:

The use of Computer Science Themes scaffolds the development of ideas and recognizes the continual construction of knowledge:

Overview of Course 1

Students create computer programs with loops and events and write algorithms for everyday tasks. Through this they learn to collaborate with others meaningfully, investigate different problem-solving techniques, persist in the face of difficult tasks, and learn about Internet safety. By the end of this course, students create their very own custom game or story that they can share. Students starting in Course 1 will be early-readers in the lower elementary grades.

Lesson Sequence

Online lessons are in regular text and unplugged activities are in bolded text.

#

Lesson Name

Description

1

Happy Maps

Students create algorithms (a set of instructions) to move a character through a maze using a single command.

2

Move it, Move it

Students learn what it’s like to instruct their classmates to move through a maze in their classroom.

3

Jigsaw: Learn to drag and drop

Students gain familiarity with a computer by solving jigsaw puzzles, which accustom them to the Code.org system and also to the idea of dragging and dropping. Students learn how to collaborate with other on assignments at the computer.

4

Maze: Sequence

Students write programs (an algorithm for the computer) that get a character through a maze. They’ll understand the importance of sequence in the programs they write.

5

Maze: Debugging

Using the same environment as the prior lesson, students are presented with a maze and a pre-written program that fails to get the character to the goal. Students will have to “debug” or fix the pre-written program.

6

Real Life Algorithms

Over the first 5 lessons in this curriculum, students have been writing algorithms. This lesson calls out ways we use algorithms in our daily lives. This lesson also focuses on the bigger picture of computer science and how algorithms play an essential part.

7

Bee: Sequence

Students write programs that move a cartoon bee around that gathers nectar and makes honey. This is a more complex version of Maze.

8

Artist: Sequence

Students write programs that move a character around, drawing a line behind it wherever it goes.

9

Building a Foundation

Students build a marshmallow structure using only provided supplies. Structures must complete a task (reach a certain height or bear a certain weight), and students discuss the idea of persisting during a task.

10

Artist: Shapes

Students write programs that draw simple shapes, while describing their position relative to other shapes (above, below, etc).

11

Spelling Bee

Students write programs that moves a Bee around a grid of letters. The path the bee takes spells out simple words.

12

Getting Loopy

This lesson introduces the programming concept of loops (repeated instructions) through a dance activity. Students will learn simple choreography and then be instructed to repeat it.

13

Maze: Loops

Students write programs in the Maze that involve using a loop.

14

Bee:  Loops

Students write programs in the Bee environment that involve using a loop.

15

The Big Event

Students are introduced to the programming concept of “events,” which are actions that a computer constantly monitors for. The teacher will press buttons on a fake remote, and student have to shout specific phases depending on which button is pressed.

16

Play Lab: Create a Story

Students write event-driven programs that create games or tell stories. There are puzzles with certain goals and at the end, students are encouraged to express their creativity to create whatever they’d like.

17

Going Places Safely

The Internet is a powerful, but sometimes dangerous place. Teachers introduce to students how to stay safe while navigating the Internet.

Overview of Course 2

Students create programs with loops, events, and conditionals and write algorithms for everyday tasks. They will translate their names into binary, investigate different problem-solving techniques, and discuss societal impacts of computing. By the end of the curriculum, students create interactive games or stories they can share. While the description of some lessons may look similar to lessons in the Course 1, this review is important for those who have taken Course 1 as most will be at the lower elementary level. The complexity and depth of topics discussed are scaffolded appropriately to provide all students a rich and novel experience. Students starting in Course 2 will be students who can read in the lower and middle elementary grades.

Lesson Sequence

Online lessons are in regular text and unplugged activities are in bolded text.

#

Lesson Name

Description

1

Graph Paper Programming

Students write an algorithm (a set of instructions) using a set of predefined commands to direct their classmates to reproduce a drawing.

2

Real Life Algorithms

This lesson calls out ways we use algorithms in our daily lives. This lesson also focuses on the bigger picture of computer science and how algorithms play an essential part.

3

Maze: Sequence

Students write programs (an algorithm for the computer) that get a character through a maze. They’ll understand the importance of sequence in the programs they write.

4

Artist: Sequence

Students write programs to draw different lines and shapes.

5

Getting Loopy

This lesson introduces the programming concept of loops (repeated instructions) through a dance activity. Students will learn simple choreography and then be instructed to repeat it.

6

Maze: Loops

Student write programs in the Maze environment using loops.

7

Artist: Loops

Students write programs to draw different shapes while identifying patterns in their code. They learn about the programming concept of loops (repeated statements), which can be used to make their programs more efficient.

8

Bee: Loops

Students write programs using loops in the Bee environment.

9

Relay programming

Students run a relay race, where they dash across the yard to write an algorithm based on a "Graph Paper Programming" image. They can only write one instruction at a time and if there's an error, they have to erase everything back to the error.

10

Bee: Debugging

Students are presented with a pre-written program that fails to complete the puzzle. Students will have to “debug” or fix the pre-written program.

11

Artist: Debugging

Students are presented with a drawing and a pre-written program that fails to create that drawing. Students will have to “debug” or fix the pre-written program.

12

Conditionals

To learn about conditional statements, students play a card game and create rules like “If I draw a red card, I get a point” and “If I draw a black card, you get a point.”

13

Bee: Conditionals

Students write programs using conditional statements using the Bee environment.

14

Binary Bracelets

Students create bracelets from a paper template that is a binary representations of the first letter of their name. Students learn that the same set of data can be represented in more than one way.

15

The Big Event

Students are introduced to the programming concept of “events,” which are actions that a computer constantly monitors for. The teacher will press buttons on a fake remote, and student have to shout specific phases depending on which button is pressed.

16

Flappy

Using the concept of “Events,” students will create their own game with events like “When the mouse is clicked, make the bird flap” and “When the bird hits the ground, end the game.”

17

Play Lab: Create a Story

Students employ all the different programming concepts they have learned in the curriculum this far to make a customized, interactive story or game of their own.

18

Your Digital Footprint

Teachers introduce to students the idea that putting information about themselves online creates a digital footprint or “trail” that has consequences.

Overview of Course 3

Students create programs with different kinds of loops, events, functions, and conditions and write algorithms for everyday tasks. Through this they will investigate different problem-solving techniques, discuss societal impacts of computing and the Internet, and learn about Internet transmission methods. By the end of the curriculum, students create interactive stories and games they can share with anyone. Students taking Course 3 will have already taken Course 2.

Lesson Sequence of Course 3

Online lessons are in regular text and unplugged activities are in bolded text.

#

Lesson Name

Description

1

Computational Thinking

Students use the steps of computational thinking (decompose, pattern match, abstract, algorithm) to figure out how to play a game that comes with no instructions.

2

Maze

Students write programs (an algorithm for the computer) that get a character through a maze. They’ll understand the importance of sequence and basic loops (repeated statements) in the programs they write.

3

Artist

Students write programs to draw different shapes.

4

Functional Suncatchers

Students create an algorithm with functions (pieces of code that you want to use over and over again) to create suncatchers using string and beads.

5

Artist: Functions

Using and modifying prebuilt procedures in the the Artist environment, students gain familiarity with how code is written for functions.

6

Bee: Functions

Using the Bee environment, students use and modify functions to help the bee collect nectar and make honey.

7

Bee: Conditionals

In the Bee environment, students write programs with conditional statements. Students originally learned this concept in Course 2, but this lesson introduces more complex implementations of conditionals.

8

Maze: Conditionals

Using the Maze environment, students write programs using conditionals.

9

Songwriting

Students use the concept of the chorus in a song to learn about functions.

10

Real Life Algorithms - Dice Race

This lesson calls out ways we use algorithms in our daily lives. Students have to identify and write down the algorithm for a dice race game.

11

Artist: Nested Loops

Students use the Artist environment to write programs that have looped statements inside another loop, which is called a nested loop.

12

Farmer: While Loops

Using while loops, students control a farmer shovel dirt into holes until they’re full and remove dirt from piles until it’s all gone.

13

Bee: Nested Loops

Students use the Bee environment to write programs using nested loops.

14

Bee: Debugging

Using the same environment as the prior online activity, students are presented with a pre-written program that fails to complete the puzzle. Students will have to “debug” or fix the pre-written program.

15

Bounce

Using the concept of “Events,” (a concept learned in Course 2) students will create a game of their own with events like “When the ball goes through the goal, you score a point.”

16

Play Lab: Create a Story

Students use the Mini-Studio environment to create their own interactive stories.

17

Play Lab: Create a Game

Students use the Mini-Studio environment to create their own interactive games.

18

Internet

Students send messages representing various Internet transmission methods using pieces of paper.

19

Crowdsourcing

Student use crowdsourcing, a problem-solving technique common in computer science, to complete a task together as a classroom more efficiently than if a student attempted it alone.

20

Digital Citizenship

Students explore the difference between private information and personal information, distinguishing what is safe and unsafe to share online.