CS Fundamentals Unplugged

CS Fundamentals Unplugged

We've compiled a list of all of our unplugged lessons for you to use in your classroom. Now you can teach the fundamentals of computer science, whether you have computers in your classroom or not! Try using these lessons as a stand alone course or as complementary lessons for any computer science course.

Ages 4+, English only


Each of these activities can either be used alone or with other computer science lessons on related concepts.

Course A-F Curriculum Book (v2) | Course A-F Supply List | Course 1-4 Curriculum Book | Course 1-4 Answer Keys

Concept Lesson Curriculum Video Additional Resources
Algorithms

Happy Maps

Course A : Lesson 5
Course 1 : Lesson 1
(age 4+)


The bridge from algorithms to programming can be a short one if students understand the difference between planning out a sequence and encoding that sequence into the appropriate language. This activity will help students gain experience reading and writing in shorthand code.

Lesson Plan | Teacher Video
https://youtu.be/hrnhiKAQ1_k
Algorithms

My Robotic Friends

Course B : Lesson 6
Pre-Express Course : Lesson 6
(age 6+)


Using a predefined symbol key, your students will figure out how to guide one another to accomplish specific tasks without using any verbal commands. This segment teaches students the connection between symbols and actions, the difference between an algorithm and a program, and the valuable skill of debugging.

Lesson Plan | Teacher Video
Algorithms

Move It, Move It

Course 1 : Lesson 2
(age 6+)


This 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. Once they understand the language, they will begin to "program" one another by giving multiple instructions in advance.

Lesson Plan | Teacher Video
https://youtu.be/VGi2bnRFqzM
Algorithms

Real Life Algorithms: Plant a Seed

Course A : Lesson 3
Course B : Lesson 3
Pre-Express Course : Lesson 3
Course 1 : Lesson 6
(age 6+)


In 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.

Lesson Plan | Teacher Video
https://youtu.be/FHsuEh1kJ18
Algorithms

Graph Paper Programming

Course D : Lesson 1
Express Course : Lesson 1
Course 2 : Lesson 1
(age 8+)


By "programming" one another to draw pictures, students will begin to understand what coding is really about. The class will begin by having students instruct each other to color squares on graph paper in an effort to reproduce an existing picture. If there’s time, the lesson can conclude with images that the students create themselves.

Lesson Plan | Teacher Video
https://youtu.be/Y_paSrH2ffw See Lesson in Action
Algorithms

Real-Life Algorithms: Paper Planes

Course C : Lesson 4
Course 2 : Lesson 2
(age 8+)


In this lesson, students will relate the concept of algorithms back to everyday activities. After discussing algorithms, students will make paper airplanes using an algorithm. The goal here is to start building the skills to translate real world situations to online scenarios and vice versa.

Lesson Plan | Teacher Video
https://youtu.be/AWqo8Gxtrjs See Lesson in Action
Algorithms

Dice Race

Course E : Lesson 1
Course 3 : Lesson 10
(age 9+)


In this lesson, students will relate the concept of algorithms back to 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.

Lesson Plan | Teacher Video
https://youtu.be/xaW3PAzHxCU
Algorithms

Tangrams

Course F : Lesson 1
Course 4 : Lesson 1
(age 10+)


This lesson shows us something important about algorithms. As long as you keep an algorithm simple, there are lots of ways to use it. However, if you want to make sure everyone produces the same outcome, then your algorithm needs more detail. Students will learn the difference between a detailed and general algorithm while playing with tangrams.

Lesson Plan | Teacher Video
https://youtu.be/xZlKyTwQZv8
Binary

Binary Bracelets

Course C : Lesson 15
Course 2 : Lesson 14
(age 8+)


Binary is extremely important in the world of computers. The majority of computers today store all sorts of information in binary form. This lesson helps demonstrate how it is possible to take something from real life and translate it into a series of ons and offs.

Lesson Plan | Teacher Video
https://youtu.be/3S2YfoO4_CM See Lesson in Action
Binary

Binary Images

Course D : Lesson 16
Course 4 : Lesson 17
(age 10+)


Though many people think of binary as strictly zeros and ones, students will be introduced to the idea 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.

Lesson Plan | Teacher Video
https://youtu.be/dzHlZV53VfY
Computational Thinking

Computational Thinking

Course 3 : Lesson 1
(age 10+)


For 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.

Lesson Plan | Teacher Video
https://youtu.be/TlAaklrolA0 See Lesson in Action
Computational Thinking

Computational Thinking with Monsters

Accelerated Course : Lesson 3
(age 10+)


With 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). The entire task must be decomposed, then teams will analyze all monsters in the catalog for patterns, abstract similar details from the monsters, then use that information to create an algorithm (directions) for another team to draw a certain monster. Teams will then switch algorithms with another group and draw the monster based on what that algorithm indicates. Is the drawing what the original team intended?

Lesson Plan
https://youtu.be/injJWiSA0pw
Conditionals

Conditionals with Cards

Course D : Lesson 10
Express Course : Lesson 15
Course 2 : Lesson 12
(age 9+)


This lesson demonstrates how conditionals can be used to tailor a program to specific information. We don’t always have all of the information we need when writing a program. Sometimes you will want to do something different in one situation than in another, even if you don't know what situation will be true when your code runs. That is where conditionals come in. Conditionals allow a computer to make a decision, based on the information that is true any time your code is run.

Lesson Plan | Teacher Video
https://youtu.be/UymN4lTL50s See Lesson in Action
Crowdsourcing

Crowdsourcing

Course E : Lesson 17
Course 3 : Lesson 19
(age 8+)


In computer science, we face some big, daunting problems. Challenges such as finding large prime numbers or sequencing DNA are almost impossible to do as an individual. Adding the power of others makes these tasks manageable. This lesson will show your students how helpful teamwork can be in the industry of computer science.

Lesson Plan | Teacher Video
https://youtu.be/IqZMnfxqEfY
CT - Abstraction

Mad Glibs

Course 4 : Lesson 5
(age 9+)


Abstraction 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. Those abstracted stories become templates for fun and crazy new ones.

Lesson Plan | Teacher Video
https://youtu.be/TctGRrUdkcc
Debugging

Relay Programming

Course D : Lesson 7
Express Course : Lesson 3
Course 2 : Lesson 9
(age 8+)


This 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 write a program one instruction at a time.

Lesson Plan | Teacher Video
https://youtu.be/l5MKkXbzOsk
Events

The Big Event

Course A : Lesson 11
Course B : Lesson 12
Course C : Lesson 13
Express Course : 11
Pre-Express Course : Lesson 12
Course 1 : Lesson 15
(age 5+)


Events 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.

Lesson Plan | Teacher Video
https://youtu.be/u0WV9shCoak
Functions

Functional Suncatchers

Course 3 : Lesson 4
(age 8+)


In 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. The final program will be geared toward the entire class, whatever their type of string, beads, and charms. To effectively allow for this, students will need to “abstract out” the details of their specific materials and create vague terms for an individual’s supplies. This use of generic placeholders is a wonderful introduction to variables.

Lesson Plan | Teacher Video
https://youtu.be/d1MdyeXy0v0 See Lesson in Action
Functions

Songwriting

Course E : Lesson 6
Course 3 : Lesson 9
(age 8+)


One 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 can be such a helpful practice.

Lesson Plan | Teacher Video
https://youtu.be/5iDCKkI6y2Y See Lesson in Action
Functions

Songwriting with Parameters

Course F : Lesson 12
Course 4 : Lesson 13
(age 8+)


One 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, and how they can use those structures even when chunks of code are slightly different.

Lesson Plan | Teacher Video
https://youtu.be/28ujn3adHBA See Lesson in Action
Internet

Internet

Course E : Lesson 16
Course 3 : Lesson 18
(age 8+)


Even though many people use the internet daily, not very many know how it works. In this lesson, students will pretend to flow through the internet, all the while learning about connections, URLs, IP Addresses, and the DNS.

Lesson Plan | Teacher Video
https://youtu.be/mFOUbqYv1Sc
Loops

Happy Loops

Course A: Lesson 8
(age 4+)


Loops are a very helpful and powerful tool in programming. To understand how helpful loops can be, students will need to be driven to want an easier way to solve mundane problems.

Lesson Plan
Loops

My Loopy Robotic Friends

Course B : Lesson 9
Pre-Express Course : Lesson 9
Express Course : Lesson 5
(age 6+)


Here, students learn the simplicity and utility of loops by “programming” their friends using the language from "My Robotic Friends." Once loops are introduced, students will find that they can build bigger structures faster.

Lesson Plan
Loops

Getting Loopy

Course C : Lesson 7
Course 1 : Lesson 12
(age 5+)


Loops are a handy way to repeat actions a certain number of times. In this lesson, students will dance their way to a better understanding of how to use repeat loops.

Lesson Plan | Teacher Video
https://youtu.be/JoKTqHCni0M
Loops - For Loops

For Loop Fun

Course F : Lesson 9
Course 4 : Lesson 8
(age 9+)


We know that loops allow us to do things over and over again, but now we’re going to learn how to use loops that have extra structures built right in. These new structures will allow students to create code that is more powerful and dynamic.

Lesson Plan | Teacher Video
https://youtu.be/mX857v5B4gE See Lesson in Action
Persistence

Building a Foundation

Course C : Lesson 1
Course 1 : Lesson 9
(age 4+)


New 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 even if it means failing a few times before we succeed. In this lesson, students will be building a structure with common materials. The structure will be tested on its ability to hold a textbook for more than ten seconds. Most students will not get this right the first time, but it's important they push through and keep trying.

Lesson Plan | Teacher Video
https://youtu.be/eZqKqI8AvnA See Lesson in Action
Safety

Common Sense Education: Going Places Online

Course A : Lesson 7
Course 1 : Lesson 17
(age 6+)


In collaboration with Common Sense Education, this lesson helps students learn that many websites ask for information that is private and discusses how to responsibly handle such requests. Students also find out that they can go to exciting places online, but they need to follow certain rules to remain safe.

Lesson Plan | Teacher Video
https://youtu.be/vUO7t92k4Xg
Safety

Common Sense Education: Your Digital Footprint

Course B : Lesson 5
Pre-Express Course : Lesson 5
Course 2 : Lesson 18
(age 6+)


In collaboration with Common Sense Education, 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.” This trail can be big or small, helpful or hurtful, depending on how they manage it.

Lesson Plan | Teacher Video
https://youtu.be/rgbZAWnOWOo
Safety

Common Sense Education: Screen Out The Mean

Course C : Lesson 14
(age 7+)


This lesson helps children to recognize that it is essential to tell a trusted adult if something online makes them feel angry, sad, or scared. Students learn that other people can sometimes act like bullies when they are online. They will explore what cyberbullying means and what they can do when they encounter it. After reading a scenario about mean online behavior, students discuss what cyberbullying is, how it can make people feel, and how to respond. Finally, they use their knowledge to create a simple tip sheet on cyberbullying in their journal.

Lesson Plan
Safety

Common Sense Education: Digital Citizenship

Course D : Lesson 14
Course 3 : Lesson 20
(age 8+)


In collaboration with Common Sense Education, 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. Students will also explore what it means to be responsible and respectful to their offline and online communities as a step toward learning how to be good digital citizens.

Lesson Plan | Teacher Video
https://www.youtube.com/watch?v=S7A2n1c3UiA
Safety

Common Sense Education: Private & Personal Information

Course E : Lesson 4
(age 9+)


Developed by Common Sense Education, this lesson is about the difference between information that is safe to share online and information that is not. As students visit sites that request information about their identities, they learn to adopt a critical inquiry process that empowers them to protect themselves and their families from identity theft. In this lesson, students learn to think critically about the user information that some websites request or require. They learn the difference between private information and personal information, as well as how to distinguish what is safe or unsafe to share online.

Lesson Plan
Safety

Common Sense Education: Power of Words

Course F : Lesson 3
(age 10+)


Students consider that while they are enjoying their favorite websites they may encounter messages from other kids that can make them feel angry, hurt, sad, or fearful. They explore ways to handle cyberbullying and how to respond in the face of upsetting language online. Students discuss all the ways they use technology for communication and explore the similarities and differences between in-person and online communication. Students then brainstorm ways to respond to cyberbullying.

Lesson Plan
https://www.youtube.com/watch?v=8rOnMl26dR8
Variables

Envelope Variables

Course F : Lesson 6
Express Course : Lesson 20
Course 4 : Lesson 4
(age 10+)


Variables are used as placeholders for values such as numbers or words. Variables allow for a lot of freedom in programming. Instead of having to type out a phrase many times or remember an obscure number, computer scientists can use variables to reference them. This lesson helps to explain what variables are and how we can use them in many different ways. The idea of variables isn't an easy concept to grasp, so we recommend allowing plenty of time for discussion at the end of the lesson.

Lesson Plan | Teacher Video
https://youtu.be/DI7DprN4FtE