# data[].attributes.body
LightBot is a puzzle game that teaches you programming logic as you play! Learn how to sequence instructions, write procedures, and utilize loops.
Lightbot Tutorial
Lightbot App

# data[].attributes.attachment_link.description
Program Lightbot to light up all of the blue squares!

# data[].attributes.attachment_link.readable_text
Hour of Code

This year, we're taking Hour of Code to new heights by offering coding opportunities that encompass both artificial intelligence (AI) and non-AI components.

Want to keep learning? Go beyond an hour

Teachers: Host an hour or read the How-To Guide

# data[].attributes.attachment_link.description
Use computer science to explore and learn about AI!

# data[].attributes.body
The problem of plastic filling our oceans continues to worsen. Luckily, you can make your voice heard with code through the Plastic Pollution PSA. JavaScript

# data[].attributes.attachment_link.description
The best way to learn to code for teens (and teens at heart)

# data[].attributes.body
In this course you'll use the programming language Python to classify animals based on their characteristics. Programmers hould be familiar with variables, print and input.

# data[].attributes.attachment_link.readable_text
Jump to main content.

Or pick one of our other fun activities. Suitable for Grades 3-12.

Virtual Pet (Python micro:bit)

Get started with the BBC micro:bit. Use the Python programming language to make a pet that you can feed and play with! No micro:bit required.

Start coding now!

Virtual Pet (Blockly micro:bit)

Get started with the BBC micro:bit. Use friendly blocks to make a virtual pet that you can feed and play with! No micro:bit required.

Start coding now!

Teach an Hour of Code today!

Track student progress

Register your students for free accounts so you can track ther progress on our state-of-the-art teacher dashboard. Get quick updates at a glance, or drill down to see submissions.

Teacher notes included

Teacher notes are embedded in the tutorials providing a relevant guide right where it's needed. We also provide lesson plans with fun unplugged activities!

Want more for your Hour of Code?

# data[].attributes.attachment_link.title
Hour of Code: Build your own animal classifier! on Grok Academy

# data[].attributes.attachment_link.description
Hour of Code: Build your own animal classifier! on Grok Academy

# data[].attributes.body
In this activity, you will build code to play the tunes given in the puzzles. After you complete all the levels, click on Create to code your own tune and then package it as an Android app.

# data[].attributes.attachment_link.readable_text
If you are a newcomer to computer programming, then you absolutely should start with this course. By writing programs for an autonomous robot named Karel, you will learn all important concepts of procedural programming including loops, conditions, variables, functions, and recursion. But even more importantly, this course will teach you how to think correctly and use computer programming to solve problems.

Start now!

# data[].attributes.body
AlgoBot is a puzzle game that is set during recycling mission that goes horribly wrong. Players command AlgoBot, a service droid, and use a visual programming language to help him contain the crisis.

# data[].attributes.body
Coding projects in Scratch, HTML & CSS, Python, and Blender. Program using a laptop/desktop, Raspberry Pi, Sense Hat, Sonic Pi, and Micro:Bit.

# data[].attributes.body
If you know how to read you can learn how to code

Online coding tutorials with easy-to-follow instructions and immediate feedback. Includes web development (html/CSS & JavaScript), programming and computer science (Python, Ruby & CMD Line), and data science (Python & SQL) courses.

# data[].attributes.attachment_link.description
Learn the technical skills to get the job you want. Join over 50 million people choosing Codecademy to start a new career (or advance in their current one).

# data[].attributes.attachment_link.readable_text
Explore the world of computer science with engaging videos, self-paced tutorials, programming activities, and more!

Get Started with Hour of Code

Learn the fundamentals of computer science with free Hour of Code activities, featuring drag-and-drop coding blocks. There are hundreds of hour-long options to choose from!

Get Started with Hour of Code

Learn the fundamentals of computer science with free Hour of Code activities, featuring drag-and-drop coding blocks. There are hundreds of hour-long options to choose from!

Explore Hour of Code activities

Continue Learning at Your Own Pace

Create drawings, games, and more in these two excellent options for students getting started on their own learning the basics of computer science.

Ages 5-7

Pre-Reader Express Course

Learn computer science at your own pace! Learn to create computer programs, develop problem-solving skills, and work through fun challenges! Make games and creative projects to share with friends, family, and teachers.

Ages 7-11

Express Course

Learn computer science at your own pace! Learn to create computer programs, develop problem-solving skills, and work through fun challenges! Make games and creative projects to share with friends, family, and teachers.

Make Your Own Animations and Games

Ages 7+

Sprite Lab

Time to get creative! Use block-based coding to make something silly, sweet, or outer-spacey in Sprite Lab. The only limit is your imagination!

Try Sprite Lab

Additional Resources

There are so many ways to further explore computer science! Browse our video library, or learn more about exciting careers in the computer science field.

Discover our Video Library

Learn the basics of computer science through short 5-10 minute videos on topics like artificial intelligence, the Internet, how computers work, how not to get hacked, blockchain, careers, and more!

View video library

Go Further with CS Journeys

Take the next step on your computer science journey. Explore careers, mentorship opportunities, online courses, scholarships, internships and more!

Explore CS Journeys

Computer Science in the Classroom

These courses should be led by a teacher! If you'd like to see them taught at your school, ask a parent or guardian to work with a teacher to bring them to your class.

grades K-5

Computer Science Fundamentals

Free set of elementary curricula that introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world.

grades 3-5

Computer Science Connections

Make connections between computer science (CS) and other subjects like math, language arts, science, and social studies.

# data[].attributes.attachment_link.title
Computer Science Curriculum for Grades K-5

# data[].attributes.attachment_link.description
Explore the world of computer science with engaging videos, self-paced tutorials, programming activities, and more! Learn the fundamentals of computer science with free Hour of Code activities, featuring drag-and-drop coding blocks. There are hundreds of hour-long options to choose from! Learn the fundamentals of computer science with free Hour of Code activities, featuring drag-and-drop coding blocks.

# data[].attributes.attachment_link.description
The best way to learn to code for teens (and teens at heart)

# data[].attributes.body
Thimble is an online code editor that makes it easy to create and publish your own web pages while learning HTML, CSS & JavaScript.

# data[].attributes.body
Ready to take it to the next level? Keep on Dancing with this list of project ideas.

# data[].attributes.body
Learn to code (JavaScript or Python) by playing a multi-player, live game.

# data[].attributes.attachment_link.title
CodeCombat: Learn to Code by Playing a Game

# data[].attributes.attachment_link.description
Learn typed code through a programming game. Learn Python, JavaScript, and HTML as you solve puzzles and learn to make your own coding games and websites.

# data[].attributes.body
Learn how to use the JavaScript language and the ProcessingJS library to create fun drawings and animations.

# data[].attributes.attachment_link.title
Intro to JS: Drawing & Animation | Khan Academy

# data[].attributes.attachment_link.description
Have you ever wondered what it takes to make drawings come to life? Well, we have to speak to our computer in a special language. In this unit, we will learn how to use the programming language JavaScript and Processing JavaScript to make our own drawings and animation.

# data[].attributes.body
These links are accessible for free:
Tynker Play Dashboard
Beethoven's Birthday Bash
MLK Timeline
A paid account is required to access Tynker's full list of apps & courses.

# data[].attributes.attachment_link.readable_text
What is Hour of Code™

Hour of Code™ is a global movement to introduce people of all ages to computer programming in a fun way. Tynker's Hour of Code™ games and activities can be taught during the December event, or year-round.

Your class will love Hour of Code with Tynker

Getting Started with Hour of Code games Is Quick and Easy!
Sign up today

Create your FREE account

Add students to your classroom

Tynker's Hour of Code activities

50+ fun coding activities to keep your students engaged, motivated, and rewarded as they learn programming the fun way!

No programming puzzle games experience is required of teachers or students!

Learn to program connected devices.

Teacher Resources

Frequently Asked Questions

# data[].attributes.attachment_link.title
Hour of Code | Coding Puzzles, AI and Games | Tynker

# data[].attributes.attachment_link.description
Learn to code by playing fun coding game, puzzles & projects like Minecraft, Hot Wheels, Monster High, and many in Hour of Code activities. Tynker makes learning to code fun!

# data[].attributes.body
Once you've taken Intro to JS, go here to learn techniques to help you make multi-scene programs, 3d graphics, button menus, and scored games.

# data[].attributes.attachment_link.readable_text
If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

To log in and use all the features of Khan Academy, please enable JavaScript in your browser.

About this unit

Once you've taken Intro to JS, go here to learn techniques to help you make multi-scene programs, 3d graphics, button menus, and scored games.

# data[].attributes.attachment_link.title
Advanced JS: Games & Visualizations | Khan Academy

# data[].attributes.attachment_link.description
Once you've taken Intro to JS, go here to learn techniques to help you make multi-scene programs, 3d graphics, button menus, and scored games.

# data[].attributes.attachment_link.description
Join Moana and Maui in an adventure game while learning all about loops, conditionals and the fundamentals of code. It is your Hour of Code!

# data[].attributes.body
Click Create to open the editor. Click on the Tutorials button at the top to get step-by-step directions for completing a Scratch project.

# data[].attributes.attachment_link.description
Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations.

# data[].attributes.body
Coding Adventure
Game Builder
Dodo Does Math
Trivia Chatbot
Moon Lander
Can't get enough CodeMonkey? Sign up for a free trial (link below).

# data[].attributes.attachment_link.title
Coding for Kids | Game-Based Programming | CodeMonkey

# data[].attributes.attachment_link.description
CodeMonkey is a leading coding for kids program. Through its award-winning courses, millions of students learn how to code in real programming languages.

# data[].attributes.body
Once you've taken Intro to JS, you can go through this course to learn how to combine JS, ProcessingJS, and mathematical concepts to simulate nature in your programs.

# data[].attributes.attachment_link.title
Oops. Something went wrong. Please try again. | Khan Academy

# data[].attributes.attachment_link.description
Cookies are small files placed on your device that collect information when you use Khan Academy. Strictly necessary cookies are used to make our site work and are required. Other types of cookies are used to improve your experience, to analyze how Khan Academy is used, and to market our service. You can allow these other cookies by checking the boxes below. You can learn more in our cookie policy

# data[].attributes.body
Angry Birds
Artist
Frozen
Star Wars

# data[].attributes.body
Full List of Hands-on Tutorials

# data[].attributes.attachment_link.description
Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations.

# data[].attributes.body
Developed to help teenage girls maintain a love of science and technology. Focused on girls, but open to everyone.

# data[].attributes.attachment_link.title
Computer Science & Digital Skills for Educators - Grow with Google

# data[].attributes.attachment_link.description
Help students explore, advance, and succeed in computer science and digital skills with Grow with Google resources for teachers and educators.

# data[].attributes.body
Learn how to use HTML and CSS to make webpages. HTML is the markup language that you surround content with, to tell browsers about headings, lists, tables, etc. CSS is the stylesheet language that you style the page with, to tell browsers to change the color, font, layout, and more.

# data[].attributes.attachment_link.readable_text
If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

To log in and use all the features of Khan Academy, please enable JavaScript in your browser.

About this unit

Learn how to use HTML and CSS to make webpages. HTML is the markup language that you surround content with, to tell browsers about headings, lists, tables, and more. CSS is the stylesheet language that you style the page with, to tell browsers to change the color, font, layout, and more.

# data[].attributes.attachment_link.title
Intro to HTML/CSS: Making webpages | Khan Academy

# data[].attributes.attachment_link.description
Learn how to use HTML and CSS to make webpages. HTML is the markup language that you surround content with, to tell browsers about headings, lists, tables, and more. CSS is the stylesheet language that you style the page with, to tell browsers to change the color, font, layout, and more.

# data[].attributes.attachment_link.description
A collection of computer science movies, coding games, and other learning resources for Computer Science Education Week, Hour of Code, and beyond.

# data[].attributes.body
App Lab is a programming environment where you can make simple apps. Design an app, code in JavaScript with either blocks or text, then share your app in seconds.

# data[].attributes.attachment_link.description
‘Create your own Google logo’ is part of the ‘Create your own Google logo’: ‘Create your own Google logo’ lesson from CS First, one of the many Google initiatives focused on computer science education.

# data[].attributes.body
We'll explain how to draw circles with code (JavaScript and ProcessingJS), and then you'll get to try it yourself in a challenge.

# data[].attributes.attachment_link.readable_text
- [Voiceover] Heyyaz! I'm Pamela, from the Khan Academy team. So you're here for Hour of Code, right? That's awesome! I can still remember my first hour of coding, when I was a little kid, and now I'm on my 10,000th hour of coding, and it's still really, really fun. There are tons of ways to learn to code, and there's so many things you can do with code, like making games, if you like PAC-MAN, or Angry Birds, or Minecraft, or, if you like Science, you can use programming to visualize the way the Universe works and help other people understand it better. If you like Medicine, you could help doctors understand what's going inside the human body, because it's really crazy. You could make robots, like self-driving cars. You could analyze data. You could make websites like Khan Academy. There's so much you can do. Here, on Khan Academy, you'll spend your Hour of Code learning to make computer-generated drawings. We can't cover that much in so little time, but we hope you're excited by your first taste of code and wanna go deeper. Here's what you'll do in the next hour. First, you'll watch these interactive talk-throughs. They're kind of like videos, where we write code and we talk while we're writing it, and you can see the result of the code on the right side, and you can pause it, just like a video. But, even better than a video, you can actually edit the code that we've written and see what happens when you change it, and then you can turn it back on when you wanna keep going. Now, remember, there's audio, so make sure you have speakers or headphones on when you're watching these. Next, you'll do a coding challenge. This is how you practice what you just learned, and earn points for completing it, going through each of the steps until you get them done. Try to get through each challenge to the end, but, if you don't, and you're getting frustrated, don't worry, just keep going to the next talk-through. Finally, at the end, you'll do a more free form creative project, where there's no right answer and the point is just to have fun while using what you've learned. And, hey, if this takes you longer than an hour, that's totally okay with us. Here, at Khan Academy, we believe that everybody should learn at their own pace. We'll always be here for you to keep learning, no matter how long it takes. Ready to get started?! Let's have a Coding Party! Woo-hoo!

# data[].attributes.attachment_link.title
Welcome to our Hour of Code™! (video) | Khan Academy

# data[].attributes.attachment_link.description
Learn for free about math, art, computer programming, economics, physics, chemistry, biology, medicine, finance, history, and more. Khan Academy is a nonprofit with the mission of providing a free, world-class education for anyone, anywhere.

# data[].attributes.body
Pixar in a Box is a behind-the-scenes look at how Pixar artists do their jobs. You will be able to animate bouncing balls, build a swarm of robots, and make virtual fireworks explode.

# data[].attributes.attachment_link.readable_text
If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

To log in and use all the features of Khan Academy, please enable JavaScript in your browser.

Pixar in a Box is a behind-the-scenes look at how Pixar artists do their jobs. You will be able to animate bouncing balls, build a swarm of robots, and make virtual fireworks explode. The subjects you learn in school - math, science, computer science, and humanities - are used every day to create amazing movies at Pixar. This collaboration between Pixar Animation Studios and Khan Academy is sponsored by Disney. If you have questions or ideas, email us at piab@khanacademy.org.

Introduction: Pixar's filmmaking pipeline

This video will give you an overview of Pixar's filmmaking pipeline and prepare you to dive deeper into the STEAM topics that follow in the Pixar in a Box curriculum.

Start here!

Introduction: Pixar's filmmaking pipeline

This video will give you an overview of Pixar's filmmaking pipeline and prepare you to dive deeper into the STEAM topics that follow in the Pixar in a Box curriculum.

Start here!

# data[].attributes.attachment_link.title
Pixar in a Box | Computing | Khan Academy

# data[].attributes.attachment_link.description
If you're seeing this message, it means we're having trouble loading external resources on our website. If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked. To log in and use all the features of Khan Academy, please enable JavaScript in your browser.

# data[].attributes.body
Game Lab is a programming environment where you can make simple animations and games with objects and characters that interact with each other. Design an animation or game, code with blocks or JavaScript to make it work, then share your app in seconds.

# data[].attributes.headline
Creative Computing Student Workbook for Scratch

# data[].attributes.subject
Creative Computing Student Workbook for Scratch

# data[].attributes.body
Use code to create a holiday greeting card.

# data[].attributes.attachment_link.readable_text
Here's an example of the holiday card you'll be creating today!

Press the space bar to make the snowflake fly around!

Click the Sprite to see a greeting!

Click Submit and Next to start building your own card.

stage.set_background("winter") sprite = codesters.Sprite("person12") sprite.go_to(-125, -50) #my_sprite.say("I can't wait for the holidays!") frosty = codesters.Sprite("snowman") frosty.go_to(100, -100) snow = codesters.Sprite("snowflake3") snow.go_to(100, 75) greeting = codesters.Text("Happy Holidays!") greeting.go_to(0, 200) greeting.set_color("yellow") def click(sprite): sprite.say("I hope your holidays are great!") sprite.move_up(100) sprite.turn_left(360) sprite.move_down(100) # add other actions... sprite.event_click(click) def space_bar(): snow.set_x_speed(5) snow.set_y_speed(2) stage.event_key("space", space_bar)

# data[].attributes.attachment_link.title
Winter Greetings - Hour of Code | Codesters Curriculum

# data[].attributes.attachment_link.description
Example: Here's an example of the holiday card you'll be creating today! Press the space bar to make the snowflake fly around! Click the Sprite to see a greeting! Click Submit and Next to start building your own card.

# data[].attributes.body
Learn the basics of web development and coding, including HTML, CSS, and JavaScript. Create your own websites, animations and more. 14 day fFree trial available.

# data[].attributes.attachment_link.readable_text
The curriculum is organized into courses where students move at their own pace through scaffolded lessons to learn concepts and apply them creatively. Codemoji includes everything you need to teach programming in a fun, engaging way, including lesson plans, teacher guides, answer keys, and standards alignment.

# data[].attributes.attachment_link.description
The Codemoji learn to code courses for kids are designed to be fun along with teach students real coding skills. Codemoji offers courses for a wide range of skill levels.

# data[].attributes.body
How have humans protected their secret messages through history? What has changed today?

# data[].attributes.attachment_link.readable_text
If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

# data[].attributes.attachment_link.title
Cryptography | Computer science theory | Computing | Khan Academy

# data[].attributes.attachment_link.description
How have humans protected their secret messages through history? What has changed today?

# data[].attributes.body
Work your way from the basic of algorithms through how computers work & Internet 101.

# data[].attributes.attachment_link.readable_text
If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

# data[].attributes.attachment_link.title
Computer science theory | Computing | Khan Academy

# data[].attributes.attachment_link.description
Learn select topics from computer science - algorithms (how we solve common problems in computer science and measure the efficiency of our solutions), cryptography (how we protect secret information), and information theory (how we encode and compress information).

# data[].attributes.body
Try Ruby! (in your browser)
Ruby in 20 Minutes (tutorial)
Codecademy course for Ruby
Learning Ruby: From Zero to Hero
Learn Ruby: 30 Best Ruby Tutorials for Programmers
LaxEdTech's Coding Playlist on Youtube

# data[].attributes.body
Web Lab is a programming environment where you can make simple web pages using HTML and CSS. Design your web pages and share your site in seconds.

# data[].attributes.headline
Creative Computing Curriculum Guide (Scratch 3.0)

# data[].attributes.subject
Creative Computing Curriculum Guide (Scratch 3.0)

# data[].attributes.body
This guide was developed by members of the ScratchEd research team at the Harvard Graduate School of Education: Christan Balch, Michelle Chung, and Karen Brennan.

# data[].attributes.body
Upload (or select) a video, record a fact about the Earth's climate, and edit it with JavaScript.

# data[].attributes.attachment_link.description
The best way to learn to code for teens (and teens at heart)

# data[].attributes.body
Learn programming with short activities that help spark interest in coding, computer science and robotics.

# data[].attributes.body
We've always been communicating.... as we moved from signal fires, to alphabets & electricity the problems remained the same.

# data[].attributes.attachment_link.description
If you’re seeing this message, it means we’re having trouble loading external resources on our website.

# data[].attributes.attachment_link.readable_text
Teaching computer science

Whether at home or in the classroom, MakeCode provides captivating experiences for students to learn computing concepts at their own pace through personally meaningful projects.

Explore some of the lessons, tutorials and curriculum available with MakeCode.

Learn more

# data[].attributes.attachment_link.title
Microsoft MakeCode Computer Science Education

# data[].attributes.attachment_link.description
MakeCode brings computer science to life for all students with fun projects, immediate results, and both block and text editors for learners at different levels.

# data[].attributes.body
Background & cover photo by Artem Sapegin on Unsplash.