Computer Science Fundamentals - Accelerated

Computer Science Fundamentals Acccelerated is a 20 hour course designed for 10-18 year old students. It can be taught once a week in an after school club, integrated as a unit in a longer technology class, or used as an intro in a computer science class. Students learn to create computer programs that will help them learn to collaborate with others, develop problem-solving skills, and persist through difficult tasks. They will study programming concepts, computational thinking, digital citizenship, and develop interactive games or stories they can share.

The course teaches the foundational concepts of programming using drag and drop blocks rather than a programming language such as JavaScript or Python. Blocks are an easier way to get started and many top Universities today begin their classes with block based programming.

The Accelerated Course combines the concepts taught in our elementary school courses in an accelerated fashion designed for older students.

All lessons align to all relevant computer science standards, as well as to the ISTE standards. They additionally reinforce concepts and skills taught in other subject areas by integrating national Math, English Language Arts, and Science standards. Read more about our curriculum philosophy.

New to Teaching Computer Science?

No worries! Most of our teachers have never taught computer science before.

Try one of our courses yourself to learn ahead of your students. Sign up as a teacher to see the lesson plans, join the teacher forums, and get access to all the resources you need.

We also offer free, online, self-paced professional development for teachers.

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.

Teaching Guide

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 tools.
    • 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
  • Sign in as a teacher to see the daily lesson plans and set up your classroom on the teacher dashboard
  • 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

During the lessons

Inspire your students: Introduce computer science and make it exciting, creative and for everyone. Show your students the film, “What Most Schools Don’t Teach”: it features Microsoft founder Bill Gates, Facebook founder Mark Zuckerberg, and Black Eyed Peas founder 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. Need help or support? We're here to help you any time - just email

Get started 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.