EasyCode Foundations

EasyCode Foundations Suite Scope and Sequence

EasyCode Foundations Suite is an online game that features introductory coding challenges for elementary and middle school students. In its self-paced curriculum, students learn coding basics using block sequences, and graduate to building challenges and games in a real programming language. Teachers and students can also create their own challenges and share them with other students in their class. EasyCode Foundations Suite includes over 300 Story and Skill challenges, Game Builder courses, Teacher Lesson Plans, and more.

EasyCode Foundations Suite covers calling functions with and without arguments, sequencing code, debugging errors, methods and properties of objects, variables, loops, arrays, using conditional, Booleans, defining functions from scratch with return values, and working with keyboard and mouse input. The following is an overview of the scope of sequence of EasyCode Foundations Suite.

CURRICULUM TITLEDESCRIPTIONKEY TOPICSTIME (MINUTES)
Intro To CodingThis lesson is divided into two unique activities that help students understand how to define clear instructions in order to complete a task. This lesson finishes with a reflective class discussion.direction
orientation
logic
sequencing
algorithms
counting
35
Let's Be FriendsIn this interactive lesson, students learn how to play CodeMonkey Jr., are introduced to the objectives of the game, and will gain an understanding of the move-left and move-right blocks.coding
sequencing
programming
35
Finding TreasureIn this interactive lesson, students will learn about the jump blocks (jump right, jump left and jump up) and gain experience with advanced planning and solving subproblems in order to solve the bigger problem.subproblems35
Practice Makes PerfectIn this interactive lesson, students focus on advanced sequencing as they use counting abilities to go back and forth and combine both directions in a single line of code.advanced
sequencing
35
On RepeatIn this interactive lesson, students will understand the concept of a loop and use a preset conditional loop in their code. loop
conditional loop
preset
36
LoopsIn this interactive lesson, students remain focused on loops. As this is a longer lesson, it may need two class periods to complete.loop
until loop
60
Not Just Loops & SummaryIn this interactive lesson, students will use all of the concepts they were taught throughout the course as they play CodeMonkey Jr.loop
until loops
35
Sequencing and Loops: Challenges 1-5In this interactive lesson, students will learn to use a block-based coding interface to create sequences of instructions. sequencing
sequence
block
block-based
instructions
coding
code
45
Sequencing and Loops: Challenges 6-10In this interactive lesson, students use block-based coding to create simple sequences of actions to help the beaver finish building a dam on the river. This lesson challenges students to correctly sequence actions in the fewest steps.coding
block-based
programming
sequencing
block
sequence
instructions
solution
code
45
Sequencing and Loops: Challenges 11-15In this interactive lesson, students use block-based coding to create a loop of repeated actions to help the beaver finish building a dam. This lesson guides students in using "repeat" blocks to introduce students to loops in programming.loops
sequence
loop
solution
block-based
coding
instructions
code
block
repeat
programming
45
Sequencing and Loops: Challenges 16-20In this interactive lesson, students use block-based coding to create more complex sequences of instructions including multiple loops to help the beaver finish building a dam. This lesson guides students in using more than one loop in programming.coding
code
block-based
loop
sequence
solution
block
repeat
programming
loops
instructions
45
Conditional Loops: Challenges 1-5In this interactive lesson, students use block-based coding to give short sequences of instructions that will repeat until a certain condition is met. In the process, students will learn how to use a conditional loop in programming.repeat
conditional loop
condition
until
until loop
instructions
block
sequence
coding
loop
block-based
solution
until block
programming
code
45
Conditional Loops: Challenges 6-10In this interactive lesson, students use block-based coding to give more complex sequences of instructions to build the beaver's house. Students will use "until" blocks to learn how conditional loops are used in programming.instructions
until
condition
block
code
coding
programming
sequence
block-based
loop
repeat
until loop
conditional loop
until block
solution
45
Conditional Loops: Challenges 11-15In this interactive lesson, students use block-based coding to give more complex sequences of instructions to build the beaver's house. Students will use "repeat" blocks to simplify code sequences and learn how loops are used in programming.conditional loop
solution
instructions
code
block
loop
sequence
block-based
until
condition
repeat
programming
coding
until loop
45
If/Else Conditions: Challenges 1-6In this interactive lesson, students will continue practicing block-based coding by giving a sequence of instructions to help the beaver serve smoothies to his friends based on each animal's preferences.block
instructions
conditions
sequence
code
sequencing
conditional
block-based
coding
45
If/Else Conditions: Challenges 7-10In this interactive lesson, students will give sequences of instructions to the beaver that use an if block to choose an appropriate smoothie for an animal friend based on its preferences.conditional
instructions
sequencing
block-based
sequence
code
coding
block
conditions
45
If/Else Conditions: Challenges 11-15In this interactive lesson, students will give sequences of instructions to the beaver that use an if and if/else block to choose appropriate smoothies for animal friends based on their preferences.instructions
sequencing
block-based
conditional
conditions
notch
code
block
if/else
sequence
coding
45
If/Else Conditions: Challenges 16-20In this interactive lesson, students will give sequences of instructions to the beaver that use nested conditionals in their if and if/else blocks to choose an appropriate smoothie for animal friends based on their similar and different preferences.notch
nesting
conditional
conditions
nested
if/else
code
instructions
sequence
coding
sequencing
block
block-based
nest
45
Let's Get Started: Challenges 0 - 5This lesson introduces students to the EasyCode environment. Some students may be familiar with the terms 'coding' and 'programming' and feel comfortable working with computers. For others, learning to code may be an intimidating experience. As educators, our goal is to help students learn and explore a variety of subjects, including computer science. We want to create an environment where students can learn from their mistakes and build their foundational knowledge to create something new.EasyCode environment
debugging
coding
measurement
45
Turn Around: Challenges 6 - 10In this lesson, students will continue to explore the EasyCode environment by completing five more challenges. In it, students learn about functions and arguments of functions.angles
negative values
functions
arguments
45
I Have a Plan: Challenges 11 - 15This lesson revolves around planning. Everything we do in the physical world has to be planned, even if we sometimes do things automatically. If we want to create a game or a program, we also have to plan ahead and organize our instructions in the correct order.planning sequencing methods45
Turtle Lake: Challenges 16 - 20In this lesson, students will practice what they have learned in other lessons including using dot notation to call functions on specific objects.dot notation45
In the Loop: Challenges 21 - 25This lesson will focus on loops. There are different kinds of loops, like 'for' loops and 'until' loops, but in this lesson we will learn how to use a simple loop.loops45
Loop on: Challenges 26 - 30Students will continue using simple loops, and will deepen their understanding of the importance of using loops.loops45
Variable Valley: Challenges 31 - 35In this lesson, students will learn about variables. They will learn what they are and how and why variables are used when coding.variables45
Drop It: Challenges 36 - 40In this lesson, students will continue using variables. Students will experiment with using variables in different ways.variables50
Walk the distanceTo: Challenges 41 - 45In this lesson, students will continue using the concepts learned in recent challenges: variables, functions and their return values, and the function 'distanceTo.'return values45
Change Is All Around: Challenges 46 - 50In this lesson, students will continue to gain experience using variables. The variables in these coding challenges will change throughout the course of the game in a given challenge.changing variables45
A for Array: Challenges 51 - 60In this lesson, students will start working with arrays. Arrays are a central and important part of programming that are used frequently.arrays50
For Loop to the Rescue: Challenges 61 - 65In this lesson, students will be introduced to 'for' loops to loop through elements of arrays and perform the same operations with each element.for loops
array elements
50
Iterate Mate: Challenges 66 - 70This lesson continues the work with 'for' loops. Iterating over collections of objects is a fundamental concept in computer science and is used so frequently in writing code that it is indeed worthwhile to spend some more time practicing.for loops45
Crocodile Rock: Challenges 71 - 75In this lesson, students will continue to explore and practice using loops to solve problems, including learning to use nested loops.array indexing
nested loops
45
Let's Build Something: Workshop IThis lesson introduces students to EasyCode’s Challenge Builder. Using the builder, students will be able to create their own EasyCode challenges, share the created challenges, and solve each other’s challenges. This lesson provides students with a way to apply their coding knowledge.challenge builder45
Fundamentals Stars Party: Challenges 1 - 75 and Skill ChallengesIn this lesson, students revisit challenges they have already solved but received less than three stars for their solution. By the end of this lesson, all students should have perfect three-star scores on challenges 1-75 of EasyCode.(review)45
Function Farm: Challenges 76 - 80In this lesson, students will learn to define their own functions from scratch. They will also practice commenting code to provide additional information to others that may look at their code.defining functions
commenting
50
Fun-ctions: Challenges 81 - 85In this lesson, students will continue practicing reading and writing functions. Students will also learn about debugging.defining functions
debugging
45
Fake It 'Til You Make It: Challenges 86 - 90Students will continue to practice writing function definitions and will experiment with defining functions that call each other.defining and calling functions45
It Ain’t Over Until It’s Over: Challenges 91 - 95Students will learn to use an 'unti'l loop to perform a set of instructions until a certain condition is met.simple loops
for loops
until loops
45
Cut to the Chase: Challenges 96 - 100In this lesson, students will continue to practice the use of 'until' loops, including writing loops with more than one statement inside them and using an 'until' loop inside a function definition.until loops
defining functions
45
Wait() for it: Challenges 101 - 105In this lesson, students will review everything that they have learned in the previous lessons.(review)40
Act the Goat: Challenges 106 - 115In this lesson, students will learn about conditionals with 'if' statements. They will also practice 'for' loops.if statements
for loops
45
Green Banana Sorbet: Challenges 116 - 121In this lesson, students will continue to use 'if' statements and learn a more sophisticated conditional called 'if-else.'if statements
if-else
45
If All Else Fails: Challenges 122 - 124In this lesson, students will practice coding with conditionals using 'if' and 'if-else' statements.if statements
if-else
45
And in the End: Challenges 125 - 130In this lesson, students will learn to use the logical operator 'and' in conditional to test for two conditions at the same time. They will also gain more practice in working with 'until.'until
and
45
Take it or Leave it: Challenges 131 - 135In this lesson, students learn to use the logical operator 'or' in conditional to test for two conditions at the same time. They will also practice 'for' loops with arrays, 'until,' and 'if' statements.or until
for loops
if statements
45
Mix and Match: Challenges 136 - 140In this lesson, students will practice our conditionals and logic. They will also learn a new way to use arrays and the principle of polymorphism.defining arrays
or / and
polymorphism
45
Fashion Alert: Challenges 141 - 145In this lesson, students will continue practicing logic operators. They will practice 'and' and 'or' operators. And students will meet a new character - the penguins. Students will use 'and' and 'or' to move the penguins to form a bridge for the monkey.boolean logic
or / and
for loops
45
Loops Are Fun: Workshop IINow that your students are acquainted with the Challenge Builder, they can start building challenges that focus on specific topics. In this lesson, students will create challenges to demonstrate the different loops. This lesson can be modified to any topic learned in EasyCode by changing the instructions and the first discussion to fit the new topic.Challenge Builder
practicing loops
45
What’s the Conditional: Workshop IIIIn this workshop, students will create challenges to demonstrate the different conditionals. This workshop can be modified to any topic learned in EasyCode, just change the instructions and the first discussion to fit the new topic.(review)45
Functions & Conditions Stars Party: Challenges 76-145 & Skill ChallengesIn this lesson, students gain practice refactoring code. Students will revisit challenges they have completed previously and identify ways to improve their code.(review)45
Escape the Maze: Workshop IVIn this lesson, students will create a maze in the Challenge Builder. Creating the maze is a relatively simple task, but it is more difficult to make sure it is solvable. This adds a new level of complexity to the application of knowledge that your students have gained through EasyCode.Challenge Builder
testing
45
Not Bad: Challenges 146 - 151In this lesson, students will learn how to use the logical operator 'not' and practice using it in conditionals.not
if statements
45
Health() == Happiness: Challenges 152 - 156In this lesson, students will learn how to determine if two items are equal (==) and how to use it in conditionals.comparator
(==) if statements
45
Less is More: Challenges 157 - 160In this lesson, students will use the 'less-than' operator (<) to compare two items. They also continue to practice the comparator operator (==) and conditionals.less than (<)
comparator (==)
conditionals
45
Return to Sender: Challenges 161 - 165In this lesson, students will learn to create functions that return a value.return values45
Scarecrow Monkey: Challenges 166 - 170In this lesson, students will practice creating functions with return values, as well as learn an alternate way of calling a function.return values
calling functions
45
Scare Them All: Challenges 171 - 175In this lesson, students will continue practicing with return values as well as working with functions, 'not,' and other relational operators.return values
and
not
45
Im-Pressing: Challenges 176-180In this lesson, students will learn what 'events' are and how computer programs interact with the keyboard.keyboard events45
You Can Control Me: Challenges 181-184In this lesson, students will continue learning about the 'onKey' function and will learn how to control other objects besides the monkey.keyboard events45
Behind Gate #1: Challenges 185-189In this lesson, students will continue controlling the monkey and the turtle using keyboard events. The students will be introduced to the gate and will use the keyboard to spell the password that opens the gate.keyboard events45
Monkey, It's Time to Rest: Challenges 190-195In this lesson, students will use their mouse cursor to move the monkey and the bat.mouse-move events45
The Bananas Are Just a Click Away: Challenges 196-200In this lesson, students will use the 'mouse-click' event to move characters by clicking on them or other characters in the background.mouse-click events45
Who Moved My Monkey?: Challenges 201-205In this lesson, students will continue to use the 'mouse-click' event. They will use the click event to choose which character will move.mouse-click events45
Gorilla, We Are Ready for You: Challenges 206-210In this lesson, students will use all the skills they learned in EasyCode to create game controls to battle the gorilla. Using the events learned in previous lessons, students will be able to toss coconuts on the hippo and gorilla.
This is a very exciting lesson as students will complete challenge 200 and get monkey's bananas back from the gorilla!
(review)45
Debate - Keyboard or Mouse: Workshop VIn this workshop, students will use the Challenge Builder to create challenges that demonstrate their understanding of the different events that they have learned in challenges 166-200.Challenge Builder
keyboard events
mouse events
45
Game Away: Workshop VIIn this workshop, students will utilize the Challenge Builder to create challenges to demonstrate their understanding of the differences between 'event-driven' code and 'sequential' code.Challenge Builder (review)45
Logic & Events Stars Party: Challenges 146-210In this lesson, students will revisit challenges they have already solved but received less than three stars for their solution. By the end of this lesson, all students should have perfect three-star scores on every challenge of EasyCode.(review)45
Platformer CourseIn this lesson, students will be guided through the steps needed to use the components of the Game Builder to build a platformer-type game. At the end of this lesson, students will be ready to use the Game Builder to create their own platformer-type game.Game Builder90
Frogger CourseIn this lesson, students will be guided through the steps needed to use the components of the Game Builder to build a Frogger-type game. At the end of this lesson, students will be ready to use the Game Builder to create their own Frogger-type game.Game Builder90
Draw Your Own Sprites CourseIn this lesson, students will be guided through the steps needed to create their own sprites for use in the Game Builder. At the end of this lesson, students will know how to create custom sprites that they can use when building their own games.Game Builder90