ABCDEFGHIJKLMNOPQRSTUVWXYZAAAB
1
TypeCategoryConceptGradeTime (mins)NameSourceDescription
2
LessonCodingAbstraction4+50+Mad glibsAbstraction with Mad GlibsAbstraction 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.
3
LessonCodingAlgorithms.K+10-15+Peanut butter and jelly robotPeanut Butter and Jelly Robot | HowtosmileThis 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.
4
LessonCodingAlgorithms.K+45+Happy mapsHappy MapsAt 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.
5
LessonCodingAlgorithms.K+50+Move it, move itMove It, Move ItThis 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.
6
LessonCodingAlgorithms.K+50+Real life algorithms: Plant a seedReal-Life Algorithms | Plant a SeedIn 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.
7
LessonCodingAlgorithms.K+NAHow to train your robothttps://drtechniko.com/2012/04/09/how-to-train-your-robot/The 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.
8
LessonCodingAlgorithms.K+NAHuman cranehttp://code-it.co.uk/wp-content/uploads/2015/05/humancraneplan.pdfA lesson where kids create and test crane algorithms that move blocks from one bowl to another.
9
LessonCodingAlgorithms2+10-15+Sentence checker algorithmGrammar Algorithms – code-it supported by HIAS, Hampshire Inspection and Advisory ServiceAn 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.
10
LessonCodingAlgorithms2+30+The poor cartographerhttp://csunplugged.org/graph-colouring/Coloring 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.
11
LessonCodingAlgorithms2+45-50+fuzzFamily Frenzy (Beginner)https://www.kodable.com/hour-of-code/lessons/lesson_beginner_secondA beginner unplugged lesson on using algorithms to move a "robot" (coder) around a path
12
LessonCodingAlgorithms2+NAGetting upGetting Up – code-it supported by HIAS, Hampshire Inspection and Advisory ServiceWriting 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.
13
LessonCodingAlgorithms3+10+Emotional robot video3. Programming unplugged: learning programming without computers | Teaching London Computing: A RESOURCE HUB from CAS LONDON & CS4FNThis 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.
14
LessonCodingAlgorithms3+45-50+fuzzFamily Frenzy (Beginner)https://www.kodable.com/hour-of-code/lessons/lesson_beginner_thirdA beginner unplugged lesson on using algorithms to move a "robot" (coder) around a path.
15
LessonCodingAlgorithms3+50+Graph paper programmingGraph Paper ProgrammingBy "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.
16
LessonCodingAlgorithms3+50+Real life algorithms: Paper planesReal-Life Algorithms | Paper AirplanesIn 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.
17
LessonCodingAlgorithms4+45-50+fuzzFamily Frenzy (Beginner)https://www.kodable.com/hour-of-code/lessons/lesson_beginner_fourthA beginner unplugged lesson on using algorithms to move a "robot" (coder) around a path.
18
LessonCodingAlgorithms4+50+Create-a-face: Programming an emotional robot3. Programming unplugged: learning programming without computers | Teaching London Computing: A RESOURCE HUB from CAS LONDON & CS4FNThis 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.
19
LessonCodingAlgorithms4+50+Dice raceDice RaceIn 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.
20
LessonCodingAlgorithms5+45-50+fuzzFamily Frenzy (Beginner)https://www.kodable.com/hour-of-code/lessons/lesson_beginner_fifthA beginner unplugged lesson on using algorithms to move a "robot" (coder) around a path.
21
LessonCodingAlgorithms5+50+TangramsAlgorithms | TangramsThis 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.
22
LessonCodingAlgorithmsNA15+The robots gameOn Food and Coding: The Robots GameThis 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.)
23
LessonCodingAlgorithmsNANAAlgorithmsAlgorithmsSome activitis for introducing algorithms.
24
LessonCodingAlgorithmsNANAExchange sort investigationExchange Sort InvestigationIn 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.
25
LessonCodingAlgorithmsNANAJam sandwich algorithmJam Sandwich AlgorithmCreate 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!
26
LessonCodingAlgorithmsNANAObstacle course robothttps://playgroundcomputing.files.wordpress.com/2014/10/obstacle-course-diagram1.pdfUsing algorithms to navigate a human "robot" through an obstacle course.
27
LessonCodingAlgorithmsNANAPlayground games algorithmPlayground Games Flowchart AlgorithmPupils 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.
28
LessonCodingAlgorithmsNANASpelling algorithmsSpelling Algorithms – code-it supported by HIAS, Hampshire Inspection and Advisory ServiceShort spelling algorithm activities.
29
LessonCodingComputaional thinking5+45-60+Computational thinking with monstersComputational ThinkingWith 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).
30
LessonCodingComputaional thinking5+55+Computational thinkingComputational ThinkingFor 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.
31
LessonCodingConditionals4+60+Conditionals with cardsConditionals with CardsWe 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.
32
LessonCodingConditionals5+30-40+The Imp computer3. Programming unplugged: learning programming without computers | Teaching London Computing: A RESOURCE HUB from CAS LONDON & CS4FNYou 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.
33
LessonCodingConditionalsNANAIf-Then Backyard Coding Game for KidsIf-Then Backyard Coding Game for KidsToday 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.
34
LessonCodingConditionalsNANARobotic board gameRobotic Board gameA board game for reinforcing if/else statements.
35
LessonCodingDebugging.K+55+Building a foundation (persistence)Building a FoundationNew 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.
36
LessonCodingDebugging3+55+Relay programmingRelay ProgrammingThis 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.
37
LessonCodingDebuggingNANABugs and debuggingStudent Handout: Bugs and DebuggingIntel handout with suggestions and activites.
38
LessonCodingEvents.K+45+The big eventThe Big EventEvents 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.
39
LessonCodingFunctions3+50+Functional suncatchersFunctional SuncatchersIn 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.
40
LessonCodingFunctions3+50+SongwritingSongwritingOne 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.
41
LessonCodingFunctions3+55+Songwriting with parametersSongwriting with ParametersOne 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.
42
LessonCodingLoops.K+50+Getting loopyGetting LoopyLoops 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.
43
LessonCodingLoops4+55+For loop funFor Loop FunWe 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.
44
LessonCodingProgram developmentNA
Several classes
Making movie storyboardshttp://www.thirteen.org/edonline/lessons/storyboarding/b.html#closeAn example lesson on making movie storyboards. This lesson would need to be adapted for coding purposes.
45
LessonCodingVariables3+20-50+Variable dry run (for Scratch)3. Programming unplugged: learning programming without computers | Teaching London Computing: A RESOURCE HUB from CAS LONDON & CS4FNSet 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.
46
LessonCodingVariables5+15-20+Box variables3. Programming unplugged: learning programming without computers | Teaching London Computing: A RESOURCE HUB from CAS LONDON & CS4FNYou 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.
47
LessonCodingVariables5+50+Variables in envelopesVariables in EnvelopesVariables 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.
48
LessonComputer scienceBinary3+45+Binary braceletsBinary BraceletsBinary 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.
49
LessonComputer scienceBinary3+50+Binary imagesBinary ImagesThough 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.
50
LessonComputer scienceBinaryNANABinary counterStudent Handout: Binary CounterIntel handout with suggestions and activites.
51
LessonComputer scienceBinaryNANABinary systemhttps://sites.google.com/site/childrenandtechnology/presentation-9-binary-systemAn introductory unplugged lesson on binary.
52
LessonComputer scienceComputation.K+NAConcurrency and synchronizationhttps://sites.google.com/site/childrenandtechnology/Home/presentation-5-synchronizationThis 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.
53
LessonComputer scienceComputation.K+NAHow computers workHow Computers WorkThe 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.
54
LessonComputer scienceComputation1+NASimulating an iPadhttps://sites.google.com/site/childrenandtechnology/presentation-simulating-an-ipadUnderstand calculator application on an ipad with kids role playing various components, such as operating system, processor, button controls.
55
LessonComputer scienceComputationNANAFetch, decode, and executeStudent Handout: Fetch, Decode, and ExecuteIntel handout with suggestions and activites.
56
LessonComputer scienceComputationNANATaking commandhttps://www.intel.com/content/dam/www/program/education/us/en/documents/the-journery-inside/microprocessor/tji-microprocessors-handout3.pdfIntel handout with suggestions and activites.
57
LessonComputer scienceHardware.K+NASimulate a computerhttps://sites.google.com/site/childrenandtechnology/presentation-3-simulate-computerDraw 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.
58
LessonComputer scienceHardwareNA45-60+My first computer exerciseHello Ruby — For educators: Lesson plan for My First Computer...My 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.
59
LessonComputer scienceInternetNANAHow the internet worksHow the Internet WorksThis 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.
60
LessonComputer scienceNetworking2+NAIntroducing the internet: Telephone and networksIntroducing the Internet: Telephones and NetworksThis 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.
61
LessonComputer scienceNetworkingNANADid you get the messageStudent Handout: Did You Get the Message?Intel handout with suggestions and activites.
62
LessonComputer scienceNetworkingNANAMessage routingChildren and Technology by Misha Leder - Presentation 12: Message RoutingInternet 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
63
LessonComputer scienceNetworkingNANAPut it in your packetStudent Handout: Put It in Your PacketIntel handout with suggestions and activites.
64
LessonDigital citizenshipCrowdsourcing3+45+CrowdsourcingCrowdsourcingIn 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.
65
LessonDigital citizenshipInternet3+55+InternetThe InternetIn this lesson, students will pretend to flow through the Internet, all the while learning about Internet connections, URLs, IP Addresses, and the DNS.
66
LessonDigital citizenshipSafety.K+65+Going places onlineGoing Places OnlineIn 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.
67
LessonDigital citizenshipSafety.K+65+Your digital footprintYour Digital FootprintIn 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.”
68
LessonDigital citizenshipSafety3+60+Digital citizenshipDigital CitizenshipIn 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.
69
LessonsCodingAlgorithms, debugging, conditionals.K+VariesGetting started with code 1https://itunes.apple.com/us/book/get-started-with-code-1/id1226776727?mt=11In this interactive book developed by Apple, there are several unplugged lessons related to algorithms, debugging, and conditionals.
70
LessonsCodingAlgorithms, debugging, conditionals3+VariesGetting started with code 2https://itunes.apple.com/us/book/get-started-with-code-2/id1226776857?mt=11In this interactive book developed by Apple, there are several unplugged lessons related to algorithms, debugging, and conditionals.
71
LessonCodingMathematics4+NAUCL ScratchMaths CurriculumUCL ScratchMaths Curriculum | IOE - Faculty of Education and SocietyScratchMaths 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.
72
ResourceComputer scienceComputing systems, data and analysis, networks and the internet, and impacts of computingK-5NAK-5 CS: NOT Just Coding
https://sites.google.com/view/k5csnotjustcoding/home?authuser=0
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
73
ResourceCodingAlgorithmsNANAHow do computer games work?What are computer games? - BBC BitesizeA short video on how computer gams work (access may be geographic region).
74
ResourceCodingAlgorithmsNANAHow do you program a robot?How do you program a robot? - BBC BitesizeA short video on programming robots (access may be geographic region).
75
ResourceCodingAlgorithmsNANAHow to explain algorithms to kidsHow to Explain Algorithms to Kids - Tynker BlogA short article on how to explain algorithms to kids.
76
ResourceCodingAlgorithmsNANAWhat is an algorithm?What is an algorithm? - BBC BitesizeA short video on algorithms (access may be geographic region).
77
ResourceCodingAlgorithmsNANAWhat is coding?What is a computer program? - BBC BitesizeA short video explaining coding (access may be geographic region).
78
ResourceCodingDebuggingNANAWhat are computer bugs?http://www.bbc.co.uk/guides/ztgjq6fA short video on computer bugs (access may be geographic region).
79
ResourceCodingDemonstrationNANAComputer Science Class Clipshttp://www.bbc.co.uk/education/topics/z3tbwmn/resources/1Short videos demonstrating computer science classes.
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100