Elementary School

Our Computer Science Fundamentals courses have about 15 lessons that may be implemented as one unit or over the course of a semester. Students 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.

If you like teaching CS Fundamentals, invite other teachers by sharing this handout.

Our curriculum aligns to the newly revised 2017 CSTA standards and is available at no cost for anyone, anywhere to teach. For more information about our goals and approach to our courses, please see our curriculum values and our professional learning values.

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 high-quality, 1-day workshops at no cost to you or your school. Join other teachers in your area for a hands-on intro to computer science, pedagogy, teacher dashboard, and strategies for teaching “unplugged” classroom activities.


Selecting the right course for your class

For students new to computer science, each course begins with a grade-appropriate entry point and structured ramp-up of concepts. The progression of Courses A-F builds upon each other to ensure continuing students stay interested and learn new things. This allows you to use the same course at any grade level for all students, regardless of their experience. If you’re looking for a more comprehensive course, the Express Course combines the best of Courses A-F into a single condensed course (with a simpler option for pre-readers). You can download version 2 of the curriculum guide for Courses A-F here.

If you've been teaching Courses 1-4 and want to know how to transition to teaching Courses A-F, check out our Transition Guide.

Courses A-F

Course A

Recommended for Kindergarten (Supports pre-readers)

Teaches basic programming concepts such as loops and events. Lessons also teach students to collaborate with others meaningfully, investigate different problem-solving techniques, persist in the face of difficult tasks, and learn about internet safety. At the end of this course, students create their very own custom game or story they can share.

Course B

Recommended for 1st grade (Supports pre-readers)

Closely parallels Course A, but provides more complex unplugged activities and more variety in puzzles. Covers the basics of programming, collaboration techniques, investigation and critical thinking skills, persistence in the face of difficulty, and internet safety. At the end of this course, students create their very own custom game they can share.

Course C

Recommended for 2nd grade

Students will create programs with loops, events, and conditionals. They will translate their initials into binary, investigate different problem-solving techniques, and discuss how to respond to cyberbullying. By the end of the course, students will create interactive games that they can share.

Course D

Recommended for 3rd grade

Students develop their understanding of algorithms, nested loops, while loops, conditionals, and events. Beyond coding, students learn about digital citizenship.

Course E

Recommended for 4th grade

Students will practice coding with algorithms, loops, conditionals, and events before they are introduced to functions. In the second part of the course, students design and create a capstone project they can share.

Course F

Recommended for 5th grade

Students create programs with different kinds of loops, events, functions, and conditionals. They will also investigate different problem-solving techniques and discuss societal impacts of computing and the internet. In the second part of this course students design and create a capstone project they can share.

Express Course

CS Fundamentals Express combines the best of Courses A-F into a single condensed course (with a simpler option for pre-readers). We recommend Courses A-F for most classrooms, but if your school only offers one computer science course or you want to have your students work through multiple courses in a single year, the Express course is a better choice. By removing the ramp up between years, the express course provides a smoother path and doesn’t repeat concepts for students. This is also our recommended option for students studying computer science on their own, outside of a classroom.

International CS Fundamentals: Courses 1-4 and Accelerated

We are working on translating Courses A-F and the Express Course to languages beyond English. In the meantime, we recommend using Courses 1-4 and the Accelerated Course. These courses cover the same basic concepts and have already been translated into 25+ languages.


Looking for unplugged activities?

If you don't have computers in your classroom, these unplugged lessons can either be used alone or with other computer science lessons on related concepts.

Examples of student creations

In this puzzle, the student created a honeycomb pattern.

This student created a game with multiple levels in which you play against different characters. Game on!

This student created a Flappy Bird game.


Recommended courses from 3rd parties

Organization Curriculum Professional Development
Code Monkey Over 300 story modes & skill mode challenges. Can be taught full year, 1/2 year, or quarterly. $10/student Free online course, $250/webinar, $3500/onsite PD
Code Red Education 150 lessons over 7 modules, $3500/site Online PD included with site fee
Project Lead The Way 6 10-hour computer science modules, $750/school Face-to-face and online, $700 for school-level lead teacher
ScratchEd A 6-unit intro to Scratch, FREE In-person educator meet-ups and online MOOC, FREE
Tynker Free tools, tutorials, and a 6-hr introductory lesson plan. 200+ lessons with assessments: $399/class, $2,000/school 2-day PD, $2000/day + travel