Teach our K-8 Intro to Computer Science

K-8 Intro to Computer Science is a free course that aims to demystify computer science and show K-8 students that it’s fun, collaborative, and creative. The course is designed to motivate students and educators to continue learning computer science to improve real world relationships, connections, and life.

Educators will foster an environment of communal learning that emphasizes risk-taking. This course will teach students about computer science, computational thinking, and programming. It will also teach that success does not come on the first try, just like the world's most difficult problems aren't solved on the first try. Challenge is good when it is supported by plans and tools that lead to success. This course will help students persevere in solving problems.

The content of this course is appropriate for kindergartners through 8th graders and beyond, but teachers must adjust the lessons and their pacing appropriately to the needs of their students. K-2 teachers will want to emphasize the unplugged lessons, which are the teacher-led activities that don't require the use of a computer.

This course was developed in accordance with our educational philosophy.

How to get started

Here’s how to get started:

  • Register as a teacher on studio.code.org.
  • Sign up your students by using one of these two options:
    • Option A: Log-in to your teacher account, and create a section with the option of "picture" or "word" for "secret type." Then, add students to the section and print out log-in cards for them all. For students to log-in to these accounts, they'll go to the unique web page listed at the bottom of your section page. Bookmark this web page on all student computers. Please see this video for a more in depth explanation. Students do NOT need an email address for this sign-up option.
    • Option B: Create a section for your classroom and choose "secret type" of "none." On the first day of class, tell all students to visit the http://code.org/join and enter the section-code of the section you created. Then each student will sign up by creating a password. Students MUST have an email address for this sign-up option.
  • What if one of my students already has an account at Code.org? Have that student sign into their Code.org account and navigate to the webpage http://code.org/join. At that page, they'll be able to enter your section code.
  • Help your students complete the 20-hour course, consisting of both online tutorials and offline, teacher-facilitated lessons. No experience, and only minimal prep time is needed to teach this course, and we will provide online professional development assistance for free. The program is flexible: add it into your instructional time, host an after school club, or ask students to complete it at home.

Info sessions for Educators

We want computer science to be accessible for both students and teachers. Code.org has hosted online info sessions for educators using our K-8 Intro to Computer Science course via online video conference. Listed below are the links to videos for each session and the topics covered in each session:

  • Session 1
    • What is Computer Science (CS)?
    • Walk-though of Unplugged lessons
      • Pedagogy of teaching CS and Computational Thinking
      • Explanations of CS concepts covered
  • Session 2
    • How to use Blockly (online puzzles)
    • Run through accelerated set of Blockly puzzles
    • Debugging--Fixing the mistakes in your code
  • Session 3
    • Logistics of online account set-up and teacher dashboard
    • Problem-solving for teachers--where to find answers when you’re stuck
    • Strategies to help your students work through tough spots

Professional development for educators will be available to teachers in select partner districts. Learn how your district can partner with Code.org.

Key Concepts Taught by this Course

  • What is computer science?
  • What is a computer scientist?
  • Being a responsible computer scientist
  • Applications of computer science
  • Basic understanding of binary
  • How to debug
  • How the Internet works
  • Programming concepts
    • Sequencing
    • Loops
    • Conditionals
    • Functions
    • Functions with parameters
    • Variables
  • Computational Thinking
    • Decomposition
    • Patterns
    • Abstraction
    • Algorithms

What's in this Course?

We take a blended learning approach to teaching computer science, which means that students learn from a mix of online, self-guided activities (listed in bold) and unplugged activities, which are traditional teacher-led activities that use no computer at all (listed in italics)

  1. Introduction to Computer Science
  2. Maze (Hour of Code Activity)
  3. Computational Thinking
  4. Graph Paper Programming
  5. Artist 1
  6. Algorithms
  7. Artist 2
  8. Functions
  9. Farmer 1
  10. Conditionals
  11. Artist 3
  12. Song-writing
  13. Farmer 2
  14. Abstraction
  15. Artist 4
  16. Relay Programming
  17. Farmer 3
  18. The Internet
  19. Artist 5
  20. Wrap-up

Our online activities use Blockly, a visual programming language, where you drag and drop blocks together to write code. Try out activities and download lesson plans at studio.code.org

Guide to Teaching the K-8 Intro to Computer Science Course

Before you begin teaching

Tell parents what their kids are learning: Print and send home this flyer (Word doc).

Schedule a time that works best: You can teach the course as a month-long computer science unit, or one day per week throughout a semester.

Lesson time is flexible. Running out of time? Students can finish online lessons for homework. Offline lessons are 1 hour but built with adjustments for adding or subtracting 15 minutes.

Prep for the course:

  • Test the online learning platform and videos at studio.code.org.
    • Make sure the online learning system works on student computers
    • Watch instructional videos to test that they play correctly.
      • If a video doesn't work for you, you can use the "Show Notes" tab to read instructions instead of watching the video. Or download the videos here. You can also download each video directly by clicking on the green "download" button in the video pop-up windows at studio.code.org.
  • Create accounts for students using one of these options:
    • Option A: Create a section for your classroom on the “Add Section” page, and once you click "Create Section" you'll be able to see the section-code. Tell all students in that section to visit the “Join” page and enter the section-code. Then each student will sign up by creating a username and password. Students do NOT need an email address for this sign-up option.
    • Option B: Students can create their own account at the “Student sign up” page. Once students are signed in, they can enter a teacher’s email address or section-code (see instructions above on creating a section-code). Students MUST have an email address for this sign-up option.
  • Provide headphones for your class, or ask students to bring their own. This way, students can watch videos and hear the sound effects from their own games
    • Note: online activities may be completed without sound on computers
  • The Code.org tutorials only work on an internet connection. But if you need offline support, you can download the original Blockly tutorials using this ZIP file, and then run them locally from a file server or even from a USB drive. These do not include any tutorial videos, and require a modern browser.

During the lessons

Inspire your students: Introduce computer science and make it exciting, creative and for everyone. Show your students the Code.org film, “What Most Schools Don’t Teach”: it features Microsoft founder Bill Gates, Facebook founder Mark Zuckerberg, and Black Eyed Peas founder will.i.am and NBA star Chris Bosh talking about the importance of programming.

Have students work in pairs: Make use of pair programming. Students can help each other, and by relying less on the teacher, they can actually retain more knowledge. Pair programming allows students to see that computer science is social and collaborative. In addition, it allows you to teach the course even if you don’t have enough computers for every student.

The three rules of pair programming in a school setting:

  • The driver controls the mouse and keyboard.
  • The navigator makes suggestions, points out errors, and asks questions.
  • Students should switch roles at least two times a session.

Engage all students: Your classroom likely has a wide range of skill and confidence levels. Use the flexibility of this course to engage every student. Ask students who finish tutorials early to partner with groups who are still working.

Problem solving: "Ask 3, then me." Encourage students to explore solutions and think through problems before asking questions. Teachers, if you can’t figure out a problem, use it as a good learning lesson for the class: technology doesn’t always work out the way we want. Together, we’re a community of learners.

When your students come across technical difficulties,

  1. Tell students, “Ask 3, then me.” Ask 3 partners and classmates, then the teacher.
  2. Encourage students and offer positive reinforcement: “You do better than you think you do, so keep trying.”
  3. It’s okay to respond, “I don’t know. Let’s figure this out together.” Learning to program is like learning a new language; you won’t be fluent right away.
  4. If your students encounter a technical error and can’t continue on, skip to the next “unplugged” tutorial in the course.
  5. Check the 20-hour course forums to ask questions and see FAQs.

After the course

If Intro to computer science was a success, plan to teach our next courses that will debut in fall 2014, which will be separated for specific grade-levels: K-2nd, 3rd-5th, 6th-8th.

Price: 100% FREE

Code.org is a 501c3 public non-profit, so we produce all our tutorials as free services for the greater good of spreading computer science education. Are you ready to try? Give it a whirl, it's free.


Ask on our Forums.


Tell us your ideas here.

Copyright notice

Angry Birds are © 2009 – 2014 Rovio Entertainment Ltd. Rovio, Angry Birds, Bad Piggies and all related properties, titles, logos and characters are trademarks of Rovio Entertainment Ltd. All Rights Reserved. Plants vs. Zombies are © 2014 Electronic Arts Inc. Plants vs. Zombies and PopCap are trademarks of Electronic Arts Inc. All Rights Reserved.