EasyCode Pillars

Intro to Computer Science Scope and Sequence

Intro to Computer Science is an online, interactive course for middle school students providing coverage of both programming and digital literacy concepts found in state and national middle school standards. The course includes interactive lessons, application exercises, adaptive keyboarding lessons, and an interactive development environment to teach key programming concepts in Python. The development environment includes small coding challenges, debugging practice and short quizzes to test understanding. Programming lessons end 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 support materials to ensure teachers can teach coding concepts even if they have no previous experience with coding themselves.

This course is divided into 6 mini-units that cover core digital literacy skills and 4 longer units focused on developing programming skills. The digital literacy units may be taken together at the beginning or interspersed through the programming units and can be taken in any order. The longer programming units should be taken in order.

DIGITAL LITERACY MINI-UNITS

Computer Fundamentals

This mini-unit contains items that develop basic digital literacy in computer hardware and software.
TITLEDESCRIPTIONKEY TOPICSTIME
(MINUTES)
Computer Fundamentals:
Operating Systems and Browsing
In this interactive digital lesson, the learners receive direct instruction and practice in the area of operating systems and browsing as they gain knowledge about computer and mobile device operating systems, graphical user interfaces, icons, apps, and how to find files and folders.operating
systems;
user interface;
files/folders
25
Software Fundamentals:
Software, Buttons, and Controls
This interactive digital lesson provides direct instruction and practice related to various types of software. The learners will gain knowledge about types of software, how to select the appropriate software to complete a task, and how to use the buttons and controls found in software.software;
common
software
controls
25
Input, Output, and FilesIn this lesson, teachers use the discussion points to help students understand the concepts of computer fundamentals such as input, output, and processing devices, analog vs. digital information, storage devices, and file formats.input;
output;
data storage
30
Hardware Fundamentals:
Mobile Devices are Technology To Go
In this interactive lesson, students receive direct instruction and practice with mobile devices (smartphones and tablets) that have built-in browsers, apps, and connect to a wireless computer or cell phone network. Students are introduced to in-app purchases and ad-supported apps, limiting push notifications, and reviewing the terms, privacy policies, and practices of all apps.mobile
devices
15
Hardware and Software Fundamentals:
Networking
During this interactive digital lesson, the learners will receive direct instruction and practice related to the basic components and functions of a network as they gain knowledge about file sharing and storage, compatibility, and ethical use of networks.networks;
file sharing
25
Network CompatibilityIn this lesson, teachers use the discussion points to help students understand the concepts of LANs and WANs, cross-platform connectivity, file format issues, and using help menus.LAN;
WAN;
file format
30
Hardware and Software Fundamentals:
Computing in the Cloud
In this interactive digital lesson, the learners receive direct instruction and practice with cloud computing as they explore what cloud computing is and understand that cloud services can automatically synchronize and save data across multiple devices.cloud
computing
15

Keyboarding and Word Processing

This mini-unit contains items that develop basic digital literacy in keyboarding and word processing.
TITLEDESCRIPTIONKEY TOPICSTIME
(MINUTES)
Keyboarding: Keyboard Layout and Keyboarding ProceduresIn this interactive digital lesson, the learners receive direct instruction and practice in the layout of the keyboard, correct keyboarding procedures, proper posture and technique, and are introduced to digital keyboarding standards as they work to increase their accuracy and speed.touch keyboarding25
Adaptive Keyboarding: Urban Keyboarding ExplorerThis interactive app uses diagnostic exercises to provide learners with individualized touch-typing practice to address areas of weakness and help improve accuracy and speed at any skill level. Learners receive badges for specific achievements during their keyboarding adventure.touch keyboarding15
Word Processing: Overview of Basic SkillsIn this interactive digital lesson, the learners organize a script as they receive direct instruction and practice with word processing skills. They will locate and open recent documents, copy, cut, paste, save, print, and use the bold, italic, and underline buttons to emphasize text.basic word processing15
Word Processing: Creating Professional DocumentsThe learners will receive direct instruction and practice using proofreading and organization tools to make professional documents. They will check for and correct spelling, grammar, and punctuation errors, include page numbers and bullets, and utilize auto-correct in this engaging and interactive digital lesson.basic document formatting15
Word Processing: Visual DesignThrough direct instruction and practice in this engaging and interactive digital lesson, the learners will use color, vertical alignment, page layout, indents, margins, borders, and orientation in the design of websites, magazines, book covers, and logos to impact a reader's interpretation of information.page layout;
visual document design
15
Tools of the TradeIn this lesson, students will pay attention to specific text and image formatting techniques as they create hypothetical welcome packets designed to provide valuable information to visitors of their town.page layout;
document design
90

Computational Thinking

This mini-unit contains items that develop computational thinking skills.
TITLEDESCRIPTIONKEY TOPICSTIME
(MINUTES)
Computational Thinking:
Algorithmic Problem Solving
The learners receive direct instruction and practice with algorithmic problem solving and computational thinking. They will identify algorithms, inputs and outputs, construct problem statements, and use sample cases, abstraction, and decomposition to analyze problems in this interactive digital lesson.algorithmic problem solving;
inputs/outputs;
decomposition;
abstraction
15
Exploring the World Through a DisabilityThis activity allows students to learn about algorithms by experiencing what life could be like with a disability. Students will create their own algorithms and research adaptive technology that people with disabilities must utilize in order to complete everyday tasks.algorithms60
Computational Thinking:
Models and Simulations
The learners analyze and evaluate algorithmic processes through modeling and flowcharts, and use simulations as tools to test different variables and conditions as they receive direct instruction and practice with the modeling process and computational thinking in this interactive digital lesson.modeling;
flowcharts;
simulations
15
The Perfect ParkIn this application exercise, the student takes on the role of an architect. The student is presented with the task of creating a community's ideal park with a budget of $750,000. The student is provided with a list of the community's requirements and budget and the student creates an illustrated model of the community park. The student utilizes a data model by creating a spreadsheet of the park costs. Finally, the student creates a flowchart that decomposes the task of seeking community approval for the park.modeling120
Computational Thinking:
Implement and Test
The learners receive direct instruction and practice with algorithms, the testing process, and computational thinking as they find ways to simplify and clarify the algorithmic process, develop testing methods for algorithms, find errors, and improve the efficiency of algorithms in this interactive digital lesson.algorithms;
testing
15
Egg-cellent Egg DropThe implementation and testing component of computational thinking challenges students to be innovative and reflective of their work. In this exercise, students will utilize the "Use-Modify-Create" method to create a safe landing for their egg drop.use-modify-create90
Algorithmic Problem Solving Unit QuizThis quiz gives students an opportunity to demonstrate their understanding of algorithms and modeling. Students will know what an algorithm is and what information is needed in order to create and test an algorithm. Students will understand and use important vocabulary used in algorithms and computer programming.(quiz)15

Internet Usage and Online Communication

This mini-unit contains items that develop basic digital literacy in Internet usage and online communication.
TITLEDESCRIPTIONKEY TOPICSTIME
(MINUTES)
Online Safety: Dealing with CyberbullyingThe learners receive direct instruction and practice dealing with cyberbullying as they understand how to treat everyone with respect, avoid gossip, and the effects of cyberbullying. Learners are introduced to privacy settings and blocking messages as a way to respond to cyberbullies, and to whom to reach out for help in this interactive digital lesson.

cyberbullying15
Internet Usage: Ethical Use of Digital ResourcesThe learners receive direct instruction and practice identifying reliable, valid online information, accurately citing resources, identifying sources within the public domain or covered by creative commons, and requesting permission to create a derivative work in this interactive digital lesson.copyright;
information validity;
citing sources
15
Internet Usage:
Navigating the World Wide Web
During this interactive digital lesson, the learners will receive direct instruction and practice navigating a website's URL, bookmarking a website for faster future access, and troubleshooting page errors and Internet connectivity issues as they use webpages.navigating
websites;
URL
15
Internet Usage:
Being a Global Citizen with Mapping
Tools
The learners receive direct instruction and practice in mapping technology such as using interactive online maps for driving and public transportation directions, satellite, street view, and GPS technology for navigation, and how maps can help solve logistical problems in this interactive digital lesson.mapping tools15
Booking Brian's VacationIn this lesson, students (acting as travel agents) will research travel times and locations for when their friend, Brian. Students will not only use various mapping applications to calculate the costs associated with Brian's visit, but will utilize their knowledge of writing informational texts to create an itinerary for their time together.online tools60
Online Communication:
Sharing Safely Online
The learners will receive direct instruction and practice with Internet safety as they use smart practices for public online communication tools like blogs, forums, and media sharing sites, and understand the permanent nature of publishing information online in this interactive digital lesson.Internet safety15
Online Communications:
Communicating with Instant Messaging
The learners will receive direct instruction and practice collaborating via instant messaging (IM) as they communicate clearly, safely, and successfully online, use proper netiquette and responsible Internet safety practices during this interactive digital lesson.netiquette15
Online Communications:
Reading and Writing Blogs
In this interactive digital lesson, the learners will receive direct instruction and practice using critical thinking skills as they use Web logs to communicate ideas effectively, read and write blogs, and practice responsible use of blog information and software.blogs18
Online Communication:
Communicating with Podcasts
In this interactive digital lesson, the learners will receive direct instruction and practice planning, producing, and promoting podcasts as they recognize ethos, pathos, and logos in speech, effectively communicate ideas to an audience, and use podcasts to produce other creative works.podcasts15

Presentations

This mini-unit contains items that develop basic digital literacy in presentation software.
TITLEDESCRIPTIONKEY TOPICSTIME
(MINUTES)
Presentations: Basic Slide Show ElementsDuring this interactive digital lesson, the learners will receive direct instruction and practice using basic presentation software tools and elements, such as text and graphics, to design an eye-catching and easy-to-read presentation.presentation software15
Presentations: Consistency and Visual DesignIn this interactive digital lesson, the learners will receive direct instruction and practice using a variety of presentation tools with consistent design elements and themes to ensure a slide show presentation looks professional and conveys information in a focused and interesting way.designing a presentation15
Presentations: Motion DesignDuring this interactive digital lesson, the learners will receive direct instruction and practice with advanced features and tools in presentation software to gain a better understanding
of how and when to use transitions and animations, add notes to slides, and use slide show preview.
animations;
transitions
15
SupergeekStudents investigate troubleshooting strategies and practice following steps to troubleshoot common problems with technology. They summarize what they have learned in a digital product to help younger students address computer problems.presentation software15

Spreadsheets and Databases

This mini-unit contains items that develop basic digital literacy in spreadsheets and databases.
TITLEDESCRIPTIONKEY TOPICSTIME
(MINUTES)
Spreadsheets: Parts and NavigationThe learners will receive direct instruction and practice with components and navigation of a spreadsheet as they navigate cells, rows, and columns, enter, select, and organize data, and select groups of cells and entire rows and columns in a spreadsheet in this interactive digital lesson.spreadsheet software;
cells, rows, columns
15
Spreadsheets: Analyzing DataThis interactive digital lesson provides direct instruction and practice using spreadsheet software to analyze data. The learners will create, label, and modify pie charts, bar graphs, and line graphs to effectively read, interpret, and communicate information.charts;
graphs
15
Spreadsheets: FormulasThe learners will receive direct instruction and practice identifying a cell's row and column location, entering mathematical formulas in cells, and copying and pasting formulas across multiple cells in spreadsheets in this interactive digital lesson.formulas in spreadsheets15
Spreadsheets: Sharing and FilteringThe learners receive direct instruction and practice organizing and analyzing spreadsheet data as they add and remove filters, save and store spreadsheets, use wrap text, scroll and freeze panes, and collaborate and share through cloud computing and web-based software in this interactive digital lesson.filtering spreadsheets;
sharing documents
15
Planning a ProjectStudents create rubrics to evaluate a product and the process used to complete the product.project planning60
Databases: Creating and Maintaining a
Database
In this engaging and interactive digital lesson, the learners will receive direct instruction and practice in planning, creating, and maintaining a database as they define fields and types, add and edit data and properties, and filter records using Boolean logic.databases25

PYTHON PROGRAMMING UNITS

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.
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 parameters90
Secret CodeIn this lesson, students will create an encoder that takes in messages and outputs a coded message.manipulating lists90
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 handlers90
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 code90
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: brainstorm90
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 prototype90
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 draft90
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 testing90
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 reflect90

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 brickbreaker-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 games90
CodebreakerIn this lesson, students will create their own version of a Mastermind-style board game.nested loops;
while loops;
defining functions
90