In this activity from Scratch, students will use coding skills to create their own compositions.
Students solve complex coding puzzles by applying computer programming concepts and enhance STEM learning outcomes as they play a fun coding adventure game. Learn skills such as patterning, sequencing, nested loops, and conditionals, plus critical thinking and problem solving, while leading a personalized dragon to the treasure. This interactive game can be played during a lesson on creating a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs. The estimated time to complete the interactive is 30 minutes. There are more free coding activities at Tynker.
Video games are fun to play, but have you ever wondered how to make one? Carmelo, a grad student in the MIT Media Lab, shows how anyone can start learning how to create video games by talking to machines through programming languages using block-based programming. This video can be played to introduce a lesson on computer programming.
Students are immersed in a multi-level adventure game cleverly designed to introduce computer programming concepts and improve problem-solving skills. To save the motherboard, kids create a custom hero character and fight bugs! Estimated time: 40 min. A teacher guide and answer key is provided. More free coding activities at www.tynker.com/hour-of-code.
In Fashion & Design, students learn how computer science and technology are used in the fashion industry while building fashion-themed programs, like a fashion walk, a stylist tool, and a pattern maker.
Fashion & Design is a complete theme designed to be completed over eight, 45-75 minute, sessions. For each Activity, students will watch a series of videos and create one coding project with opportunities to personalize their work using “Add-Ons”, which are mini-coding challenges that build on top of the core project.
This unit contains eight lessons which culminate in a unit project. Lessons can be completed individually if students have some experience with Scratch.
Be sure to review the Materials tab for the lesson plan, starter guide, and more.
Users will need a Google account to use this resource.
Students use computer science to simulate extreme sports, make their own fitness gadget commercial, and create commentary for a big sporting event.
Sports is a complete theme designed to be completed over eight, 45-75 minute, sessions. For each activity, students will watch a series of videos and create one coding project with opportunities to personalize their work using “Add-Ons,” which are mini-coding challenges that build on top of the core project.
In each of the “Create your own Google logo” activities, students code and design their own versions of the Google logo. These activities introduce students to computer science and the programming language Scratch. These activities are most appropriate for students ages 9-14 and take 15-60 minutes to run.
In Art, students create animations, interactive artwork, photograph filters, and other exciting, artistic projects.
Art is a complete theme designed to be completed over eight, 45-75 minute, sessions. For each Activity, students will watch a series of videos and create one coding project with opportunities to personalize their work using “Add-Ons”, which are mini-coding challenges that build on top of the core project.
An Unusual Discovery is designed to be completed within 45-75 minutes. Students watch a series of videos to create a coding project. Students personalize their project using mini-coding challenges called "add-ons.”
In this activity, students will sequence dialogue to tell a story. They animate interactions between characters, their backdrops, and a surprising object. This activity introduces students to computer science and the programming language Scratch. Students will use different Scratch blocks to create their own unique stories.
By selecting add-on videos that present coding challenges, students will:- Use event blocks (like “when flag clicked”) to trigger a series of code.- Sequence at least 3 “say” blocks between two sprites (characters) to construct a dialogue.- Program a conditional so that the computer can make a decision based on user response.- Produce repeated movements by applying control blocks to their program.
The teacher's resource can be accessed here and a lesson plan is available here.
In this activity, students use code to animate an ocean wave and tell a story that takes place on the high seas. This activity introduces students to computer science and the programming language Scratch. Students will use different Scratch blocks to create their own unique stories.
Adventure on the High Seas is a sample activity designed to be completed within 45-75 minutes. Students will watch a series of videos and create one coding project with opportunities to personalize their work using “Add-Ons,” which are mini-coding challenges that build on top of the core project.
This sample activity is a collaboration between Cartoon Network and CS First. Students will tell a story using the characters from “The Amazing World of Gumball". This activity introduces students to computer science and the programming language Scratch. Students will use different Scratch blocks to create their own unique stories.
Gumball’s Coding Adventure is a simple activity designed to be completed within 45-75 minutes. Students will watch a series of videos and create one coding project with opportunities to personalize their work using “Add-Ons”, which are mini-coding challenges that build on top of the core project.
In Music & Sound, students use the computer to play musical notes, create a music video, and build an interactive music display while learning how programming is used to create music.
Music is a complete theme designed to be completed over eight, 45-75 minute, sessions. For each activity, students will watch a series of videos and create one coding project with opportunities to personalize their work using “Add-Ons,” which are mini-coding challenges that build on top of the core project.
In Game Design, students learn basic video game coding concepts by making different types of games, including racing, platform, launching, and more!
Game Design is a complete theme designed to be completed over eight, 45-75 minute, sessions. For each activity, students will watch a series of videos and create one coding project with opportunities to personalize their work using “Add-Ons”, which are mini-coding challenges that build on top of the core project.
In this set of puzzles, students will begin with an introduction (or review depending on the experience of your class) of Code.org's online workspace. There will be videos pointing out the basic functionality of the workspace including the Run, Reset, and Step buttons. Also discussed in these videos: dragging Blockly blocks, deleting Blockly blocks, and connecting Blockly blocks. Next, students will practice their sequencing and debugging skills in a maze.
Run
Reset
Step
We recognize that every classroom has a spectrum of understanding for every subject. Some students in your class may be computer wizards, while others haven't had much experience at all. In order to create an equal playing (and learning) field, we have developed these ramp-up lessons. This can be used as either an introduction or a review of how to use Code.org and basic computer science concepts.
Students will be able to:- order movement commands as sequential steps in a program.- modify an existing program to solve errors.- break down a long sequence of instructions into the largest repeatable sequence.
Note: You will need to create a free account on code.org before you can view this resource.
Watch student faces light up as they make their own gorgeous designs using a small number of blocks and digital stickers! This lesson builds on the understanding of loops from previous lessons and gives students a chance to be truly creative. This activity is fantastic for producing artifacts for portfolios or parent/teacher conferences.
This series highlights the power of loops with creative and personal designs. Offered as a project-backed sequence, this progression will allow students to build on top of their own work and create amazing artifacts.
Students will be able to:- identify the benefits of using a loop structure instead of manual repetition.- differentiate between commands that need to be repeated in loops and commands that should be used on their own.
In this online activity, students will have the opportunity to push their understanding of loops to a whole new level. Playing with the Bee and Plants vs. Zombies, students will learn how to program a loop to be inside of another loop. They will also be encouraged to figure out how little changes in either loop will affect their program when they click Run.
In this introduction to nested loops, students will go outside of their comfort zone to create more efficient solutions to puzzles. In earlier puzzles, loops pushed students to recognize repetition. Here, students will learn to recognize patterns within repeated patterns to develop these nested loops. This stage starts off by encouraging students to try to solve a puzzle where the code is irritating and complex to write out the long way. After a video introduces nested loops, students are shown an example and asked to predict what will happen when a loop is put inside of another loop. This progression leads to plenty of practice for students to solidify and build on their understanding of looping in programming.
Students will be able to:- break complex tasks into smaller repeatable sections.- recognize large repeated patterns as made from smaller repeated patterns.- identify the benefits of using a loop structure instead of manual repetition.
Now that students know how to layer their loops, they can create so many beautiful things. This lesson will take students through a series of exercises to help them create their own portfolio-ready images using Anna and Elsa's excellent ice-skating skills!
In this series, students will get practice nesting loops while creating images that they will be excited to share. Beginning with a handful of instructions, students will make their own decisions when it comes to creating designs for repetition. They will then spin those around a variety of ways to end up with a work of art that is truly unique.
Students will be able to:- describe when a loop, nested loop, or no loop is needed.- recognize the difference between using a loop and a nested loop.- break apart code into the largest repeatable sequences using both loops and nested loops.
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.
One of the best parts of teaching conditionals is that students already understand the concept from their everyday lives. This lesson merges computer science into the real world by building off of their ability to tell if a condition is true or false. Students will learn to use if statements to declare when a certain command should be run, as well as if / else statements to declare when a command should be run and what do run otherwise. Students may not recognize the word conditionals, but most students will understand the idea of using "if" to make sure that some action only occurs when it is supposed to.
if
if / else
Students will be able to:- define circumstances when certain parts of a program should run and when they shouldn't.- determine whether a conditional is met based on criteria.- traverse a program and predict the outcome, given a set of input.
This lesson introduces students to while loops, until loops, and if / else statements. While loops are loops that continue to repeat commands as long as a condition is true. While loops are used when the programmer doesn't know the exact number of times the commands need to be repeated, but the programmer does know what condition needs to be true in order for the loop to continue looping. Until loops keep going until something specific is true. If / Else statements offer flexibility in programming by running entire sections of code only if something is true, otherwise, it runs something else.
while
until
Until
If / Else
A basic understanding of conditionals is a recommended prerequisite for Course E. We created this introduction to give a review for the students already familiar to conditionals and allow practice for the students that are just learning. If you find that the understanding of conditionals varies widely in your classroom, we recommend a strategic pairing of students when completing this online lesson.
Students will be able to:- define circumstances when certain parts of a program should run and when they shouldn't.- determine whether a conditional is met based on criteria.
Students will begin to understand how functions can be helpful in this fun and interactive Minecraft adventure!
Students will discover the versatility of programming by practicing functions in different environments. Students will recognize reusable patterns and be able to incorporate named blocks to call pre-defined functions.
Students will be able to:- use functions to simplify complex programs.- use pre-determined functions to complete commonly repeated tasks.
In this lesson, students will explore the creation of repetitive designs using variables in the Artist environment. Students will learn how variables can be used to make code easier to write and easier to read, even when the values don't change at runtime. This stage teaches the most basic use for variables, as a constant that reoccurs frequently in a program.
Students will be able to:- assign values to existing variables.- utilize variables in place of repetitive values inside of a program.
This lesson will help illustrate how variables can make programs more powerful by allowing values to change while the code is running. You don't always know what a value is going to be before you begin your program. Sometimes, values change while your code is running. This lesson will illustrate how code with changing values can be helpful.
Students will be able to:- identify areas where they can use variables to modify quantities during runtime.- examine code to find places where variables can be substituted for specific values.
In this lesson, students will explore the creation of repetitive designs using variables in the Artist environment. Students will learn how variables can be used to make code easier to write and easier to read. After guided puzzles, students will end on a free play level to show what they have learned and create their own designs.
Variables are essentially placeholders for values that might be unknown at the time that you run your program or for values that can change during the execution of a program. These are vital to creating dynamic code because they allow your program to change and grow based on any number of potential modifications. This stage reinforces the use of variables, using the most basic capabilities of setting and using them.
Students will be able to:- assign values to existing variables.- utilize variables in place of repetitive values inside of a program.- use variables to change values inside of a loop.
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.
At this point, students have become masters of loops. Today, they will learn about another loop commonly used in programming. The for loop repeats commands a certain number of times but also keeps track of the values it is iterating over. For example, a for loop that begins at 4, ends with 8, and has a step value of 1 will repeat 4 times, but the values 4, 5, 6, and 7 will also be captured for use elsewhere. Using this structure with variables can create some pretty fantastic programs. Today, students will simply be learning the basics of a for loop before diving into programming with them next time!
for
Students will be able to:- determine starting value, stopping value, and stepping value for a `for` loop.- illustrate the counter values hit each time through a for loop during runtime.
Featuring Bee, this lesson focuses on for loops and using an incrementing variable to solve more complicated puzzles. Students will begin by reviewing loops from previous lessons, then they'll walk through an introduction to for loops so they can more effectively solve complicated problems.
Today's concept, for loops, are a very important topic in computer science. Not only are they widely used, but the process of learning for loops enhances the learning of other important concepts (such as variables and parameters). Students will have plenty of practice critically thinking through problems by determining the starting, ending, and stepping values for each for loop. This concept uses plenty of math as well, so feel free to pair it with a math lesson for an even deeper learning experience.
Students will be able to:- determine starting value, stopping value, and stepping value for a `for` loop.- recognize when to use a `for` loop and when to use other loops such as `repeat` and `while` loops.
In this lesson, students continue to practice for loops, but this time with Artist. Students will complete puzzles combining the ideas of variables, loops, and for loops to create complex designs. At the end, they will have a chance to create their own art in a free play level.
Creativity and critical thinking come together beautifully in this lesson. Students will continue their practice with for loops and variables while they create jaw-dropping images. This lesson inspires a creative mind while teaching core concepts to computer science.
Students will be able to:- use `for` loops to change loop several times with different values.- recognize when to use a `for` loop and when to use other loops such as `repeat` and `while` loops.
This lesson features Sprite Lab, a platform where students can create their own alien dance party with interactions between characters and user input. Students will work with events to create game controls.
Students will use events to make characters move around the screen, make noises, and change backgrounds based on user input. This lesson offers a great introduction to events in programming and even gives a chance to show creativity! At the end of the puzzle sequence, students will be presented with the opportunity to share their projects.
Students will be able to:- identify actions that correlate to input events.- create an animated, interactive game using sequence and events.
Here, students will use Sprite Lab to play with sprites and their properties. Students will use events, behaviors, and custom code to create their very own pet giraffe that gets hungry, playful, and even filthy!
Students will use events to make characters move around the screen, change size, and change colors based on user input. This lesson offers a great introduction to events in programming and even gives a chance to show creativity!