Time (mins)
LessonCodingAbstraction4+50+Mad glibs is one of the most important skills for a computer scientist to understand. It simplifies problems and prevents unnecessary repetition. A good coder uses abstraction just about every time she creates a program. This activity will have your students analyze stories for differences so that they can abstract them away.
LessonCodingAlgorithms.K+10-15+Peanut butter and jelly robot is an activity about robotics programming. Learners will discover how precise programmers have to be as they instruct a friend to make a peanut butter and jelly sandwich. This is a great activity for both the "programmer" and the "robot" to use their creativity to its fullest.
LessonCodingAlgorithms.K+45+Happy maps the root of all computer science is something called an algorithm. The word “algorithm” may sound like something complicated, but really it’s just a list of instructions that someone can follow to achieve a result.
LessonCodingAlgorithms.K+50+Move it, move it lesson will help students realize that in order to give clear instructions, they need a common language. Students will practice controlling one another using a simple combination of hand gestures.
Real life algorithms: Plant a seed this lesson, students will relate the concept of algorithms back to everyday real-life activities by planting an actual seed. The goal here is to start building the skills to translate real-world situations to online scenarios and vice versa.
LessonCodingAlgorithms.K+NAHow to train your robot game works as follows: every kid is turned into a “robot master” and their mom or dad becomes their “robot”. I give each kid a “Robot Language Dictionary” and explain to them that this is the language their robot understands. The dictionary has symbols for “move left leg forward”, “turn left”, “grab”, “drop” etc.
LessonCodingAlgorithms.K+NAHuman crane lesson where kids create and test crane algorithms that move blocks from one bowl to another.
LessonCodingAlgorithms2+10-15+Sentence checker algorithm activity to reinforce grammar rules using computing science concepts. This could be used as a homework activity or as an alternative strategy within a literacy lesson. Pupils convert sentence grammar rules into a flowchart algorithm they can use to check their sentences.
LessonCodingAlgorithms2+30+The poor cartographer a map (which is equivalent to a graph) sounds like a simple task, but in computer science this problem epitomizes a major area of research looking for solutions to problems that are easy to make up, but seem to require an intractable amount of time to solve. This activity introduces graph colouring, and leads on to many variations and extensions that reach the cutting edge of computer science.
LessonCodingAlgorithms2+45-50+fuzzFamily Frenzy (Beginner) beginner unplugged lesson on using algorithms to move a "robot" (coder) around a path
LessonCodingAlgorithms2+NAGetting up an algorithm (accurate sequence of instructions to achieve a goal) focussed around getting up and getting to school, using Microsoft Publisher as the recording medium. Although this can be done on paper, pupils make so many mistakes that easy editing and rearranging is of real value.
LessonCodingAlgorithms3+10+Emotional robot video activity aims to show that the future of human-computer interaction is not about keyboards and mice. In the future computers will be able to understand the subtleties of human-human interaction. We focus here on the way we react to facial expressions and tone of voice. it also demonstrates that a robot "brain" based on a neural network can learn human-like behaviour in the form of emotions.
LessonCodingAlgorithms3+45-50+fuzzFamily Frenzy (Beginner) beginner unplugged lesson on using algorithms to move a "robot" (coder) around a path.
LessonCodingAlgorithms3+50+Graph paper programming "programming" one another to draw pictures, students will begin to understand what programming is really about. The class will begin by having students instruct each other to color squares in on graph paper in an effort to reproduce an existing picture.
Real life algorithms: Paper planes this lesson, students will relate the concept of algorithms back to everyday real-life activities by making paper airplanes. The goal here is to start building the skills to translate real-world situations to online scenarios and vice versa.
LessonCodingAlgorithms4+45-50+fuzzFamily Frenzy (Beginner) beginner unplugged lesson on using algorithms to move a "robot" (coder) around a path.
Create-a-face: Programming an emotional robot is an exploration of affective computing, which relates to moods and emotions. The class make an affective (relating to moods and emotions) robot face out of card, tubes and themselves. It is programmed to react to different kinds of sounds (nasty, nice or sudden) and show different emotions (sad, happy, surprised). The class then think up some other facial expressions and program sets of rules to make the face respond to sounds with new expressions.
LessonCodingAlgorithms4+50+Dice race this lesson, students will relate the concept of algorithms back to everyday real-life activities by playing the Dice Race game. The goal here is to start building the skills to translate real-world situations to online scenarios and vice versa.
LessonCodingAlgorithms5+45-50+fuzzFamily Frenzy (Beginner) beginner unplugged lesson on using algorithms to move a "robot" (coder) around a path.
LessonCodingAlgorithms5+50+Tangrams lesson shows us something important about algorithms. If you keep an algorithm simple there are lots of ways to use it. If you want to make sure everyone ends up with the same thing, then your algorithm needs more detail.
LessonCodingAlgorithmsNA15+The robots game is a race game played by two teams. The winning team is the first to get all their "robots" from the start to the finish and off the board. (Note: the winner is the first team to get all their robots off the board, not just the first one.)
LessonCodingAlgorithmsNANAAlgorithms activitis for introducing algorithms.
LessonCodingAlgorithmsNANAExchange sort investigation this module pupils investigate all the possible ways of comparing two cards in a list such as starting with the end cards and working into the centre or comparing pairs next to each other starting on the right of the list. They then move on to test which patterns can be turned into Exchange sorts.
LessonCodingAlgorithmsNANAJam sandwich algorithm an algorithm (a precise set of instructions or rules to achieve an outcome or solve a problem) to instruct a pretend robot (teacher) to make a jam sandwich. One of the steps towards writing a good algorithm, that can be converted into code, is precision. Precision doesn’t come naturally to most humans. Another computational thinking skill is evaluation in this case is my algorithm fit for purpose. The robot teacher interpretation of their algorithm helps pupils to evaluate its effectiveness and make changes if needed. Is it an algorithm or is it coding though, who cares its lots of fun!
LessonCodingAlgorithmsNANAObstacle course robot algorithms to navigate a human "robot" through an obstacle course.
LessonCodingAlgorithmsNANAPlayground games algorithm learn how to use a flow chart by trying to work out what playground game it describes. This is a great introduction to flow charts as pupils need to use them purposefully before they can write their own. Pupils then go on to trying to work out what is wrong with the bugged version of the chart.
LessonCodingAlgorithmsNANASpelling algorithms spelling algorithm activities.
Computaional thinking
Computational thinking with monsters nothing but paper and markers, students will learn the four steps of computational thinking. After a brief introduction, students should be split into groups where they will have to create directions for other students to draw a specific monster (from a catalog of pre-selected monsters).
Computaional thinking
5+55+Computational thinking this activity, no instructions are provided. Instead, students will use examples of what imaginary players have done to figure out how to play the game. This lesson gives students the opportunity to practice the four arts of computational thinking (decomposition, pattern matching, abstraction, and algorithms) in one cohesive activity.
LessonCodingConditionals4+60+Conditionals with cards don’t always know ahead of time what things will be like when we run our computer programs. Different users have different needs, and sometimes you will want to do something based off of one user's need that you don’t want to do with someone else.
LessonCodingConditionals5+30-40+The Imp computer compile simple programs that involve if statements on to a computer made of studetns roped together. Each student represents an instruction. A baton represents the flow of control. It is passed to teh first student who carries out their instruction before passing it on. When it is returned the program has been executed and the appropriate result has appeared on the screen. This makes the program execution both visible and tangible allowing a variety of concepts to be explained and discussed.
If-Then Backyard Coding Game for Kids we’re talking coding and I had one goal in mind. Help kids learn to code with no expensive equipment. No computer, no tablet, no apps, just their bodies and their mind. So we’re starting with one of the most basic parts of computer programming, the If Then statement and turning it into a fun and active game. It’s an If-Then Backyard Coding Game for Kids. This post contains affiliate links.
LessonCodingConditionalsNANARobotic board game board game for reinforcing if/else statements.
Building a foundation (persistence) and unsolved problems are often pretty hard. If we want to have any chance of making something creative, useful, and clever, then we need to be willing to attack hard problems. This lesson teaches that failure is not the end of a journey, but a hint for how to succeed.
LessonCodingDebugging3+55+Relay programming activity will begin with a short review of Graph Paper Programming, then will quickly move to a race against the clock, as students break into teams and work together to create a program, one instruction at a time.
LessonCodingDebuggingNANABugs and debugging handout with suggestions and activites.
LessonCodingEvents.K+45+The big event are a great way to add variety to a pre-written algorithm. Sometimes you want your program to be able to respond to the user exactly when the user wants it to. That is what events are for.
LessonCodingFunctions3+50+Functional suncatchers this lesson, students will make a suncatcher out of string, beads, and a special charm. The students will follow a series of repetitive steps, then be asked to identify certain sets of “skills” that are duplicated several times. Once those skills are defined, they will be called from a main program and the whole beautiful process of creation will be recorded on a single sheet of paper.
LessonCodingFunctions3+50+Songwriting of the most magnificent structures in the computer science world is the function. Functions (sometimes called procedures) are mini programs that you can use over and over inside of your bigger program. This lesson will help students intuitively understand why combining chunks of code into functions is such a helpful practice.
LessonCodingFunctions3+55+Songwriting with parameters of the most magnificent structures in the computer science world is the function. Functions (sometimes called procedures) are mini programs that you can use over and over inside of your bigger program. This lesson will help students intuitively understand why combining chunks of code into functions is such a helpful practice.
LessonCodingLoops.K+50+Getting loopy are a handy way of describing actions that repeat a certain numbers of times. In this lesson, students will practice converting sets of actions into a single loop.
LessonCodingLoops4+55+For loop fun know that loops allow us to do things over and over again, but now we’re going to learn how to use loops with extra structure built right in.
Program development
Several classes
Making movie storyboards example lesson on making movie storyboards. This lesson would need to be adapted for coding purposes.
LessonCodingVariables3+20-50+Variable dry run (for Scratch) a series of dry run exercises where students have to step through short fragmetns of code working out what they do on paper. This is an important activity to do after explaining variables and assignment. It reinforces understanding and helps identify faulty mental models so they can be fixed. Being able to do this kind of dry run for any new construct is an important prerequisite to being able to actually write code.
LessonCodingVariables5+15-20+Box variables dry run simple programs that involve variables and assignment by running them on a computer made of students. Students with boxes act as variables as values are copied between them following the instructions of the program. You physically demonstrate the creation of variables, how accessing a variable involves taking a copy of its value, and how storing values in a variable destroys any previous value stored.
LessonCodingVariables5+50+Variables in envelopes allow for a lot of freedom in computer science. This lesson helps to explain what variables are and how we can use them in many different ways. Use this activity before (or in conjunction with) the lesson on abstraction to really hit the idea home.
LessonComputer scienceBinary3+45+Binary bracelets is extremely important to the computer world. The majority of computers today store all sorts of information in binary form. This lesson helps to demonstrate how it is possible to take something that we know and translate it into a series of ons and offs.
LessonComputer scienceBinary3+50+Binary images many people think of binary as strictly zeros and ones, our previous courses taught students that information can be represented in a variety of binary options. This lesson takes that concept one step further as it illustrates how a computer can store even more complex information (such as images and colors) in binary, as well.
LessonComputer scienceBinaryNANABinary counter handout with suggestions and activites.
LessonComputer scienceBinaryNANABinary system introductory unplugged lesson on binary.
LessonComputer scienceComputation.K+NA
Concurrency and synchronization workshop has kids split into teams and work on tasks that require synchronization between them. It is a great team building and leadership exercise. Thanks to German Nudelman for the idea.
LessonComputer scienceComputation.K+NAHow computers work purpose of this activity is to give the students a basic sense of how computers work by having them act out a simple computer simulation. Each student takes on the role of a different part of a simplified computer and they work in groups to run a simple program. The end result of this program is to draw a picture on a simulated computer display.
LessonComputer scienceComputation1+NASimulating an iPad calculator application on an ipad with kids role playing various components, such as operating system, processor, button controls.
LessonComputer scienceComputationNANAFetch, decode, and execute handout with suggestions and activites.
LessonComputer scienceComputationNANATaking command handout with suggestions and activites.
LessonComputer scienceHardware.K+NASimulate a computer a computer and look at computer components. Use children to simulate mouse, IO controller and a processor on the example of Calculator program. Before simulating the whole system, let kids get a feel of each individual component.
LessonComputer scienceHardwareNA45-60+My first computer exercise First Computer exercise is an introduction to the amazing machine that is the computer. Few things are as exciting as computers. And now kids will get to design their very own one.
LessonComputer scienceInternetNANAHow the internet works activity is an interactive demonstration of what happens when you type a URL into a browser. In this activity the students will be guided to act out the various parts of the internet: websites, routers, name servers, ISPs and home computers.
LessonComputer scienceNetworking2+NA
Introducing the internet: Telephone and networks lesson provides studetns with an understanding of the basic structure of electronic network communications and how Internet communications are different from telephone conversations. In a hands-on classroom activity, children create and use paper cup telephones and compare this to sending messages over a computer "web" created with photocopies of computers linked by yarn.
LessonComputer scienceNetworkingNANADid you get the message handout with suggestions and activites.
LessonComputer scienceNetworkingNANAMessage routing works this way - computer networks are connected with each other via routers. Have kids sit at several tables, every child being a server. Have representatives for each tables to act as routers. Kids write messages to each other and routers help routing this messages
LessonComputer scienceNetworkingNANAPut it in your packet handout with suggestions and activites.
LessonDigital citizenshipCrowdsourcing3+45+Crowdsourcing computer science, we face some big, daunting problems. Challenges like finding large prime numbers or sequencing DNA are almost impossible to do alone. Adding the power of others makes these tasks manageable. This lesson will show your students how helpful teamwork can really be.
LessonDigital citizenshipInternet3+55+Internet this lesson, students will pretend to flow through the Internet, all the while learning about Internet connections, URLs, IP Addresses, and the DNS.
LessonDigital citizenshipSafety.K+65+Going places online collaboration with Common Sense Media This lesson helps students learn that many websites ask for information that is private and discusses how to responsibly handle such requests.
LessonDigital citizenshipSafety.K+65+Your digital footprint collaboration with Common Sense Media, this lesson helps students learn about the similarities of staying safe in the real world and when visiting websites. Students will also learn that the information they put online leaves a digital footprint or “trail.”
LessonDigital citizenshipSafety3+60+Digital citizenship collaboration with Common Sense Media, this lesson helps students learn to think critically about the user information that some websites request or require. Students learn the difference between private information and personal information, distinguishing what is safe and unsafe to share online.
Algorithms, debugging, conditionals
.K+VariesGetting started with code 1 this interactive book developed by Apple, there are several unplugged lessons related to algorithms, debugging, and conditionals.
Algorithms, debugging, conditionals
3+VariesGetting started with code 2 this interactive book developed by Apple, there are several unplugged lessons related to algorithms, debugging, and conditionals.
LessonsCodingMathematics4+NAUCL ScratchMaths Curriculum is a two-year computing and mathematics-based curriculum for grades four and five. Its aim is to enable pupils to engage with and explore important mathematical ideas through learning to program. These resources focus on learning mathematics through Scratch.
ResourceComputer science
Computing systems, data and analysis, networks and the internet, and impacts of computing
K-5NAK-5 CS: NOT Just Coding
The purpose of the K-5 CS is NOT Just Coding: Teaching Non-Algorithms & Programming Standards Workshop and this companion website is to help K-5 teachers of CS:

~Understand that Computer Science is more than just coding and why it is important to teach standards beyond Algorithms and Programming
~Understand what students need to know and be able to do to meet each standard
~Explore activities, websites, lessons to understand how the non-Algorithms and Programming standards might be taught
~Understand ways in which the Impacts of Computing Standards can be integrated into the other concept areas of CS and other curricular areas
ResourceCodingAlgorithmsNANAHow do computer games work? short video on how computer gams work (access may be geographic region).
ResourceCodingAlgorithmsNANAHow do you program a robot? short video on programming robots (access may be geographic region).
How to explain algorithms to kids short article on how to explain algorithms to kids.
ResourceCodingAlgorithmsNANAWhat is an algorithm? short video on algorithms (access may be geographic region).
ResourceCodingAlgorithmsNANAWhat is coding? short video explaining coding (access may be geographic region).
ResourceCodingDebuggingNANAWhat are computer bugs? short video on computer bugs (access may be geographic region).
ResourceCodingDemonstrationNANAComputer Science Class Clips videos demonstrating computer science classes.