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.

Explore courses
Video thumbnail

Free, and fun, elementary courses for each grade

  • Six courses, one for each elementary grade
  • Equitable introductory CS courses
  • Use the same course for all students in the same grade, regardless of their experience
  • All courses make suitable entry points for students
Explore courses

Curricula at a glance

  • Grades: K-5

  • Level: Beginner

  • Duration: Month or Quarter

  • Devices: Laptop, Chromebook, Tablet

  • Topics: Programming, Internet, Games and Animation, Art and Design, App Design

  • Programming Tools: Sprite Lab, Play Lab

  • Professional Learning: Facilitator-led Workshops, Self-paced Modules

  • Accessibility: Text-to-speech, Closed captioning, Immersive reader

  • Languages Supported: العربية, Bahasa Indonesia, Català, 简体字, 繁體字, Čeština, Français, Deutsch, हिन्दी, Italiano, 日本語, 한국어, ಕನ್ನಡ, بهاس ملايو, Монгол хэл, Polski, Português (Brasil), Română, Русский, Slovenčina, Filipino, தமிழ், ภาษาไทย, Türkçe, Українська, Español (España), Español (LATAM), اردو, O'zbekcha, Tiếng Việt

I've been teaching the course since the Monday after the workshop. The students and I LOVE it (and so do their classroom teachers!!!)

CS Fundamentals Teacher

Picking the right CS Fundamentals course for your classroom

With the diverse set of options offered for CS Fundamentals, there is a course for all different needs.


How will your students engage with the content?

Courses specifically designed for your elementary classroom

Find the course for the grade you teach. Each course is approximately a month long.

Kindergarten

Course A

Program using commands like loops and events. Teach students to collaborate with others, investigate different problem-solving techniques, persist in the face of challenging tasks, and learn about internet safety.

Grade 1

Course B

Through unplugged activities and a variety of puzzles, students will learn the basics of programming, collaboration techniques, investigation and critical thinking skills, persistence in the face of difficulty, and internet safety.

Grade 2

Course C

Create programs with sequencing, loops, and events. Investigate problem-solving techniques and develop strategies for building positive communities both online and offline. Create interactive games that students can share.

Grade 3

Course D

Review of the concepts found in earlier courses, including loops and events. Afterward, students will develop their understanding of algorithms, nested loops, while loops, conditionals, and more.

Grade 4

Course E

Make fun, interactive projects that reinforce learning about online safety. Engage in more complex coding such as nested loops, functions, and conditionals.

Grade 5

Course F

Look at how users make choices in the apps they use. Make a variety of Sprite Lab apps that also offer choices for the user. Learn more advanced concepts, including variables and “for” loops.


Self-paced elementary curriculums

Teachers play a critical role in student learning by teaching our unplugged activities and leading whole class discussions, however, we recognize that CS Fundamentals isn't always taught in a traditional classroom setting. We provide two self-paced express courses alongside Courses A-F. These express courses are designed for situations where teachers allow each student to work at their own pace independently.

Grades: K-1

Pre-Reader Express

Learn the basics of drag-and-drop block coding by solving puzzles and creating animated scenes. Make art and simple games to share with friends, family, and teachers.

Grades: 2-5

Express

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.


No devices? We have you covered

Go ahead, cut the cord (for a while)!

CS education does not always need to be in front of a screen and device access shouldn't be a barrier to learning computer science concepts.

Explore unplugged lessons

Resources that support you every step of the way

Sign up for a Code.org account to get access to materials that will help you teach computer science with confidence. Code.org has extensive resources designed to support educators, even those without prior CS teaching experience.

Lesson Plans

Get step-by-step guidance, learning objectives, and assessment strategies for effective teaching.

Helpful resources include slide decks, activity guides, rubrics, and more — all organized in one place. Each lesson plan is accompanied by tips for classroom implementation, differentiation ideas, and extension activities to cater to students of all abilities.

Explore example lesson plan
Introducing How AI Works

Instructional Videos

Watch easy-to-understand overviews of computer science and programming concepts.

Code.org video series are designed specifically to support your classroom and are engaging and fun to watch.

Explore all videos

Slide Decks

We offer educators an organized, visually engaging, and pedagogically sound framework to deliver computer science lessons.

Code.org slide decks provide step-by-step instructions, examples, and interactive activities that align with curricular objectives.

Explore example slide deck

Assessments

Our curricula includes a comprehensive system of formative and summative assessment resources.

These include rubrics, checklists, mini-projects, end-of-chapter projects, student-facing rubrics, sample projects, and post-project tests — all designed to support teachers in measuring student growth, providing feedback, and evaluating student understanding.

Explore an assessment lesson

Programming Tools

Code.org's integrated development environments (IDEs) cater to students of all skill levels.

We offer a versatile and user-friendly platform that supports a variety of programming paradigms. This enables learners to seamlessly transition from block-based coding to text-based languages, and fosters creativity and innovation.

Try out programming tools
Lesson Plans

Lesson Plans

Get step-by-step guidance, learning objectives, and assessment strategies for effective teaching.

Helpful resources include slide decks, activity guides, rubrics, and more — all organized in one place. Each lesson plan is accompanied by tips for classroom implementation, differentiation ideas, and extension activities to cater to students of all abilities.

Explore example lesson plan
Videos
Introducing How AI Works

Instructional Videos

Watch easy-to-understand overviews of computer science and programming concepts.

Code.org video series are designed specifically to support your classroom and are engaging and fun to watch.

Explore all videos
Slides

Slide Decks

We offer educators an organized, visually engaging, and pedagogically sound framework to deliver computer science lessons.

Code.org slide decks provide step-by-step instructions, examples, and interactive activities that align with curricular objectives.

Explore example slide deck
Assessments

Assessments

Our curricula includes a comprehensive system of formative and summative assessment resources.

These include rubrics, checklists, mini-projects, end-of-chapter projects, student-facing rubrics, sample projects, and post-project tests — all designed to support teachers in measuring student growth, providing feedback, and evaluating student understanding.

Explore an assessment lesson
Programming Tools

Programming Tools

Code.org's integrated development environments (IDEs) cater to students of all skill levels.

We offer a versatile and user-friendly platform that supports a variety of programming paradigms. This enables learners to seamlessly transition from block-based coding to text-based languages, and fosters creativity and innovation.

Try out programming tools

Professional learning that meets your needs

Get the support you need as you prepare to teach. Teachers love it, with over 90% ranking it the best professional development ever!

Facilitator-led Workshops

Join local teachers for inspiring and hands-on support to implement computer science in your classroom. Our Regional Partners offer high-quality, one-day Code.org workshops for individual teachers or for schoolwide PD. Sign up for a professional development workshop near you!

Self-Paced Online Modules

Through reading, viewing videos, completing interactive puzzles, and reflecting on your learning, you will develop your own understanding while preparing to teach computer science in your classroom.


Frequently asked questions

Is CS Fundamentals mapped to standards?

CS Fundamentals was written using both the K-12 Framework for Computer Science and the CSTA standards as guidance. Currently, every lesson in CS Fundamentals contains mappings to the relevant CSTA standards. The summary of all CSTA mappings for each course can be found at:

A Google Sheets version of the standards can be found at CSF Standards.

How can I bring CS Fundamentals to my whole school?

The leading K-12 CS curriculum in the United States, our elementary program has been proven effective in major urban school districts like Dallas, as well as small rural districts in Iowa. There is no need to hire specialists to teach CS. Our program is uniquely designed to support teachers new to CS while offering the flexibility to evolve lessons to fit student needs. Share this brochure with your school and district administrators, or suggest they take a look at our administrators page specially designed to answer administrators' most common questions.

How much does it cost to teach CS Fundamentals?

Our curriculum and platform are available at no cost for anyone, anywhere, to teach!

How/Where can I get professional development for CS Fundamentals?

New to teaching computer science? No worries! Most of our teachers have never taught computer science before. Join local teachers for inspiring and hands-on support to implement computer science in your classroom. Our Regional Partners offer high-quality, one-day Code.org workshops for individual teachers or for schoolwide PD. Sign up for a professional development workshop near you!

Join over 100,000 teachers who have participated in our workshops. The majority of our workshop attendees say, 'It's the best professional development I've ever attended.' In fact, 90% of attendees would recommend our program to other teachers!

What is the recommended timing for teaching CS Fundamentals?

Each CSF course includes 13-17 lessons designed for 45-minute periods. We recommend all students move from lesson to lesson at a pace set by the teacher. There are many teacher-led project levels designed to be experienced in unison while the skill-building lessons can be completed by students at their own pace.

What materials do I need for CS Fundamentals?

Many lessons have handouts that guide students through activities. These resources can be printed or assigned digitally. Some lessons call for typical classroom supplies and manipulatives. Visit the CSF Syllabus to learn more.

Support and questions

Still have questions? Reach out to us! We are here to help.

Our support team is here to answer any questions you may have about starting teaching with Code.org. You can also ask other teachers about their experience on our teacher forums.

Contact Code.org support Explore teacher forums