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 |
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. |
|||
Algorithms |
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. |
|||
Algorithms |
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. |
|||
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. |
|||
Algorithms |
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. |
|||
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. |
|||
Algorithms |
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. |
|||
Algorithms |
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. |
|||
Binary |
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. |
|||
Binary |
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. |
|||
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. |
|||
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? |
|||
Conditionals |
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. |
|||
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. |
|||
CT – Abstraction |
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. |
|||
Debugging |
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. |
|||
Events |
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. |
|||
Functions |
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. |
|||
Functions |
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. |
|||
Functions |
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. |
|||
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. |
|||
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. |
|||
Loops |
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. |
|||
Loops |
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. |
|||
Loops – For Loops |
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. |
|||
Persistence |
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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. |
|||
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. |