EasyCode Pillars

EasyCode Pillars Scope and Sequence

EasyCode Pillars is an online, interactive curriculum that teaches students coding principles using the Python programming language. In EasyCode Pillars, students use the Codesters coding environment to learn key coding principles and Python syntax through a series of activities in each lesson. Activities include small coding challenges, debugging practice, and short quizzes to test understanding. Each lesson ends with a coding exercise in which students create their own project applying the skills learned. In addition to basic coding principles, students learn how to animate objects, play sounds, and use mouse and keyboard input. The curriculum includes detailed lesson plans and other scaffolding to ensure teachers can teach coding concepts even if they have no previous experience with coding themselves.

EasyCode Pillars is divided into four mini-courses. The following is an overview of the scope of sequence of each of these mini-courses:

Intro to Codesters

Intro to Codesters is five lessons long and provides a brief overview of the coding environment in which students will be working. It is included as part of EasyTech’s Computational Thinking unit.
CURRICULUM TITLEDESCRIPTIONKEY TOPICSTIME
(MINUTES)
Building Your First ProgramIn this introductory lesson, students will learn to use the Codesters environment to create their first program by creating a scene with a background, sprite, text, movement, and interactivity.backgrounds
sprites
click events
debugging
90
Codesters in SpaceIn this lesson, students will learn to use the (X,Y) Coordinate Plane to move a sprite around a stage that uses the background as context for creating a short animated scene.placing objects
parameters
debugging
90
Shapes and DrawingsIn this lesson, students will learn to change the variable names and parameters of shape objects to create a picture of a house.variables
parameters
90
Chat with Your SpriteIn this lesson, students will create an interactive program that uses user input to control elements of the program. The sprite will appear to have a dialogue with the user.using text
user input
variables
conditionals
90
Recycling LoopIn this lesson, students will use loops, lists, and variables to understand looping behavior.variables
lists
loops
90

 

Intro to Python - Part 1

Intro to Python Part 1 contains 20 lessons and begins to cover more programming concepts in the Python language. It covers topics such as variables, loops, if statements, lists, functions, and events.
CURRICULUM TITLEDESCRIPTIONKEY TOPICSTIME
(MINUTES)
Dance StepsIn this initial lesson, students will begin to understand order in programming and learn to troubleshoot when the instructions within a program are out of order.sequencing
debugging
90
Robot DesignIn this lesson, students will understand that parameters define shapes and they will learn to define a shape using parameters.parameters
strings
integers
90
DialogueIn this lesson, students will learn how to use dot notation to organize the actions of multiple sprites.dot notation
sequencing
90
Roll the DiceIn this lesson, students will learn how to create and apply a variable to their program.variables90
Star VariablesIn this lesson, students will create and utilize variables to make a program more efficient.variables
data types
90
My FriendsIn this lesson, students will combine two values of the same data type to communicate a story.variables
string
concatenation
90
Math and ComputationIn this lesson, students will learn to create a calculator to determine the area of a shape.variables
math operators
converting data
types
90
Bonus LessonIn this lesson, students will show mastery of early programming standards.(review)90
SpiralIn this lesson, students will learn to use a for loop to repeat commands.for loops
loop ranges
90
Variables and LoopsIn this lesson, students will create and store temporary values as they change it through iterations in a loop.for loops
iterating
variables
90
User InputIn this lesson, students will collect and store user input to be used in a story.user input
string
concatenation
90
Intro to If StatementsIn this lesson, students will use if statements to generate a story based on user input.user input
if statements
90
Tim the WizardIn this lesson, students will learn to randomize a response to user questions using if statements and random number generation.user input
if statements
random number
generator
90
Begin Rock, Paper, ScissorsIn this lesson, students will create a program that accepts and displays user input, and shows a randomly generated computer response.user input
if statements
random number
generator
90
Who Won Rock, Paper Scissors?In this lesson, students will compare user answers to randomly generated computer answers and have their programs determine a win, loss, or tie from these comparisons.comparing user
input
testing code
90
ListsIn this lesson, students will create and structure lists using list operations and getters.lists90
Guess the NumberIn this lesson, students will construct a guessing game by building a for loop with a counter in range.for loops
counters
ranges
break
90
PasswordIn this lesson, students will learn to create a guessing game by building a loop that accesses each value in a list.initializing
variables
looping through
a list
90
Midterm: Which SpriteStudents will learn to create a quiz program by synthesizing and applying the programming concepts mastered during Intro to Python Part 1.creating models
(review)
90
Midterm: Create Your Own QuizIn this lesson, students will plan and build a unique quiz program synthesizing the programming concepts mastered during Intro to Python part 1.(review)90

 

Intro to Python - Part 2

Intro to Python Part 2 contains 20 lessons and continues where Part 1 left off. It covers functions, indexes, events, data types, program design, and game mechanics.
CURRICULUM TITLEDESCRIPTIONKEY TOPICSTIME
(MINUTES)
Changing ScenesIn this lesson, students will learn to write and call simple functions without parameters.writing
functions
calling functions
90
Dance MovesIn this lesson, students will write functions and call them while paying attention to the order in which functions are called.writing
functions
calling functions
90
All Mixed UpIn this lesson, students will use indexes to reference lists and reorganize lists.lists
indexes
90
Party InvitationsIn this lesson, students will create functions with parameters and use them to create a format for a party invitation.functions with
parameters
90
Secret CodeIn this lesson, students will create an encoder that takes in messages and outputs a coded message.manipulating
lists
90
Around the Solar SystemIn this lesson, students will calculate the weight of objects as a percentage of their weight on earth using returns and functions with parameters.floats
functions with
return values
90
Dance OffIn this lesson, students will use events to create a player-controlled
dance routine.
creating events
and event
handlers
90
Astronaut RescueIn this lesson, students will use collision events to define game play. They will use event handlers to call specific sprites and assign them different roles in collisions.collisions
event handlers
90
Save the Moon!In this lesson, students will learn that an interval event is called not by a user action but by a specific amount of time passing.global variables
interval events
keeping score
90
Whack-a-SharkIn this lesson, students will use interval events, random choice, and click events to create a Whack-a-Mole style game.random number
generator
win conditions
90
Dino DodgeIn this lesson, students will create a game that uses a mouse move and interval event to control game play. They will use collisions and changing variable values to determine game length. Students set physics values to control movement of particular objects on the stage.game physics
timers
90
RefactoringIn this lesson, students will learn to revise code and make use of new structures like functions and loops.refactoring
code
90
Turtle TrafficIn this lesson, students will learn to write functions for use in events.functions90
Zombie Kitten Attack!In this lesson, students will learn to create a side-scroller game where the user controls the background movement to give the appearance of constant movement.stage physics
loops
90
Rocky RoadIn this lesson, students will create a game that uses probability to generate hazards and goals. They will use interval events and falling objects to give the appearance of motion.game physics
probability of
events
90
Final Project - Day 1This is the first in a five-lesson final project in which students will design, build, test, and refine a game or an interactive story. In this part, students will reflect on the concepts learned previously and brainstorm ideas for a final project in small groups.final project:
brainstorm
90
Final Project - Day 2In this second lesson for the final project, students will create a paper prototype of their idea for a final project and gather feedback on it.final project:
paper prototype
90
Final Project - Day 3In this third lesson for the final project, students will begin to create their game or interactive story in the Codesters environment.final project:
first draft
90
Final Project - Day 4In this fourth lesson for the final project, students will continue working on their game or interactive story. They will spend time testing their solution, reviewing another student’s project, and providing feedback on the other student’s project.final project:
final build
and testing
90
Final Project - Day 5In this final lesson for the final project, students will present their game or interactive story to the class. They will also reflect on what they have learned throughout the class and project.final project:
present, play,
and reflect
90

 

Intro to Python - Part 3

Intro to Python Part 3 contains 10 lessons and continues where part 2 left off. It provides additional coverage in functional programming, booleans and logic, importing modules, list operations, dictionaries, reading and writing to external files, while loops, handling errors and exceptions, and nested if and for statements.
OrderTitleDescriptionKey TopicsTime (90)
1Arcade GameIn this lesson, students build an arcade-style game that has been scaffolded out into functions.functional programming90
2Animal ClassifierIn this lesson, students use compound conditionals to classify animals as mammals, reptiles, birds, fish, or amphibians.booleans and logic90
3Time of DayIn this lesson, students build a landscape that changes depending on what time of day it is.importing modules (datetime)90
4Grade CalculatorIn this lesson, students will develop a program that calculates grades based on a formula for dropping the lowest grades, adding extra credit, and taking final tests.list operations90
5Alien Whack-a-moleIn this lesson, students build a game where they hit aliens and UFOs without hitting the astronauts. Points for each character are stored in a dictionary.dictionaries90
6High ScoreIn this lesson, students add functionality to a game that enables them to store high scores in an external file.read and write to external files90
7Enter PasswordIn this lesson, students develop a program that asks a user for a password and checks it against a string stored in an external file.while loops90
8Starry NightIn this lesson, students upgrade a program for generating a random background. The program needs to handle users entering non-numbers and non-colors.errors and exceptions90
9Ice Cream ShoppeIn this lesson, students use nested if statements to simulate making custom sundaes at an ice cream shop.nested if statements90
10Maze MakerIn this lesson, students develop a program to use a 2D list and nested for loops to generate mazes.nested for statements90

 

Intro to Game Design

Intro to Game Design has 10 lessons and helps students apply the skills learned in Intro to Python Part 1 to create a different type of game in each lesson. Intro to Game Design covers topics such as taking turns, moving objects, collisions, random numbers, avoiding hazards, and getting points.
CURRICULUM TITLEDESCRIPTIONKEY TOPICSTIME
(MINUTES)
Adventures of Star HedgehogIn this lesson, students will use event keys, collision events, a global timer, and a scoreboard to create a game where a character collects goal objects.key events
variable scope
collision events
timer and scoring
90
Earth DayIn this lesson, students will use lists and random choice commands to create sprites with random images to use as goals and hazards in their game.lists of strings
random number generator
game hazards
90
Feed the FishIn this lesson, students will use the physics toolkit to create a falling-object type of game.game physics
leaving the stage
90
Flappy DinoIn this lesson, students will use the physics toolkit, interval-event, and random number generators to create a flappy-bird style, perpetual motion game.game physics90
Alien ScrollerIn this lesson, students will create an extra-long stage background to create a side scrolling type of game.scrolling stage
goals and hazards
win conditions
90
Brick BreakerIn this lesson, students will recreate the classic brick breaker-style game using physics, random speed settings, and a collision event.nested loops
collision events
90
BasketballIn this lesson, students will create a pull-and-shoot style game using stage physics and event keys.+= iteration
key events
90
PictionaryIn this lesson, students will create a Pictionary-style drawing game for two players.mouse events
lists
drawing
90
Sprite VolleyballIn this lesson, students will create a two-player volleyball/pong-style game that uses key events, stage physics, and boundaries as hazards.two-player
games
90
CodebreakerIn this lesson, students will create their own version of a Mastermind-style board game.nested loops
while loops
defining
functions
90

 

MTA Certification Prep

MTA Certification Prep provides practice tests and instructional quiz lessons to help students prepare for questions that might be asked on the MTA Certification for Introductions to Programming Using Python.
OrderTitleDescriptionKey TopicsTime (90)
1Full Length Pre-testTest to be given at the start to form a baseline and highlight areas for review. (1 period for test, 2 periods for review)(pretest)135
2Python MathPractice questions involving math operations (*, **, //, %, +=).)math operations45
3Data TypesPractice questions involving data types (string, int, float).data types45
4Booleans & LogicPractice questions involving (True, False, and, or, ==, is.).booleans and comparison operators45
5Import ModulesPractice questions involving importing modules (Datetime, Math and Random) as well as the functions available in those modules.importing modules (datetime, math, random)45
6Formatting StringsPractice questions involving using {} and .format().using {} and .format()45
7First Half Review TestTest to be given after the first 5 lessons to confirm retention. (1 period for test, 2 periods for review)(part 1 review test)135
8Sys, Open, CSVPractice questions involving import sys, import csv, and open().importing data45
9While Loops & If StatementsPractice questions involving while loops and if statements.while loops and if statements45
10Try ExceptPractice questions involving errors and exceptions including try-except blocks.handling errors and exceptions45
11Lists & For LoopsPractice questions involving lists and looping through lists with for loops.lists and looping through lists45
12FunctionsPractice questions involving functions and docstrings.functions and docstrings45
13Second Half Review TestTest to be given after the second 5 lessons to confirm retention. (1 period for test, 2 periods for review)(part 2 review test)135
14Full Length Post-TestTest to be given at the end of the program to assess students’ progress and readiness for the MTA exam. (1 period for test, 4 periods for review)(practice test)225

 

Integrated Python 3 and MTA Certification Prep Pacing

MTA Certification Prep provides practice tests and instructional quiz lessons to help students prepare for questions that might be asked on the MTA Certification for Introductions to Programming Using Python.
# of daysTitleDescriptionKey topicsTime (90)
3Full Length Pre-TestTest to be given at the start to form a baseline and highlight areas for review. (1 period for test, 2 periods for review)
(pretest)135
1Python MathPractice questions involving math operations (*, **, //, %, +=).)
math operations45
2Arcade GamesIn this lesson, students build an arcade-style game that has been scaffolded out into functions.
functional programming90
1Data TypesPractice questions involving data types (string, int, float).
data types45
2Animal ClassifierIn this lesson, students use compound conditionals to classify animals as mammals, reptiles, birds, fish, or amphibians.
booleans and logic90
1Booleans & LogicPractice questions involving (True, False, and, or, ==, is.).
booleans and comparison operators45
2Time of DayIn this lesson, students build a landscape that changes depending on what time of day it is.
importing modules (datetime)90
1Import ModulesPractice questions involving importing modules (Datetime, Math and Random) as well as the functions available in those modules.
importing modules (datetime, math, random)45
2Grade CalculatorIn this lesson, students will develop a program that calculates grades based on a formula for dropping the lowest grades, adding extra credit, and taking final tests.
list operations90
1Formatting StringsPractice questions involving using {} and .format().
using {} and .format ()45
2Alien Whack-a-moleIn this lesson, students build a game where they hit aliens and UFOs without hitting the astronauts. Points for each character are stored in a dictionary.
dictionaries90
3First Half Review TestTest to be given after the first 5 lessons to confirm retention. (1 period for test, 2 periods for review)
(part 1 review test)135
2High ScoreIn this lesson, students add functionality to a game that enables them to store high scores in an external file.
read and write to external files90
1Sys, Open, CSVPractice questions involving import sys, import csv, and open().
importing data45
2Enter PasswordIn this lesson, students develop a program that asks a user for a password and checks it against a string stored in an external file.
while loops90
1While Loops & If StatementsPractice questions involving while loops and if statements.
while loops and if statements45
2Starry NightIn this lesson, students upgrade a program for generating a random background. The program needs to handle users entering non-numbers and non-colors.
errors and exceptions90
1Try ExceptPractice questions involving errors and exceptions including try-except blocks.
handling errors and exceptions45
2Ice Cream ShoppeIn this lesson, students use nested if statements to simulate making custom sundaes at an ice cream shop.
nested if statements90
1Lists & For LoopsPractice questions involving lists and looping through lists with for loops.
lists and looping through lists45
2Maze MakerIn this lesson, students develop a program to use a 2D list and nested for loops to generate mazes.
nested for statements90
1FunctionsPractice questions involving functions and docstrings.
functions and docstrings45
3Second Half Review TestTest to be given after the second 5 lessons to confirm retention. (1 period for test, 2 periods for review)
(part 2 review test)135
5Full Length Post-TestTest to be given at the end of the program to assess students’ progress and readiness for the MTA exam. (1 period for test, 4 periods for review)
(practice test)225