EasyCode Foundations

EasyCode Foundations Scope and Sequence

EasyCode Foundations is an online game that teaches programming in a real programming language called CoffeeScript. In its self-paced curriculum, students learn to code through a series of coding challenges. Teachers and students can also create their own challenges and share them with other students in their class. Once students have developed their coding skills through coding challenges, they can apply those skills by creating their own games in the included game development environment and share them with anyone.

EasyCode Foundations 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.

CURRICULUM TITLEDESCRIPTIONKEY TOPICSTIME (MINUTES)
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