Computer Science Fundamentals

Introduce students to core CS concepts through hands-on, engaging lessons designed to spark creativity, critical thinking, and real-world connections.

Engaging elementary CS courses

Teach foundational computer science concepts with fun, grade-appropriate lessons designed for all students.

  • Six comprehensive courses, one for each elementary grade.
  • Equitable, easy-to-teach introductory computer science curriculum.
  • Same course works for all students, regardless of prior experience.
  • Aligned with K–5 CSTA standards to ensure high-quality learning.

Curriculum at a glance

  • Grades: K, 1, 2, 3, 4, 5

  • Level: Beginner

  • Duration: Month, Quarter

  • Devices: Computer, Chromebook, Tablet

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

  • Tools: Sprite Lab, Play Lab

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

  • Accessibility: Immersive reader, Closed captioning, Text to Speech

  • Languages supported: English, Bahasa Indonesian, Hindi, Italian, Portuguese - Brazil, Polish, Spanish - Latam, Spanish - Spain, French, German, Slovak, Turkish

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

Author's title

Pick the right CS Fundamentals course for you

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

Courses specifically designed for your elementary classroom

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

Grades K-1

CS Fundamentals: Course A

In this course, students work with others, investigate problem-solving techniques, and learn to program using commands like loops and events.

Grades 1-2

CS Fundamentals: Course B

Students continue learning programming basics, as well as persistence and critical thinking. At the end of the course, students can create games in Play Lab!

Grades 2-3

CS Fundamentals: Course C

In this course, students create programs with sequencing, loops, and events. They also investigate problem-solving techniques and build interactive games.

Grades 3-4

CS Fundamentals: Course D

This course covers concepts like loops and events from earlier courses, before moving on to algorithms, conditionals, and more.

Grades 4-5

CS Fundamentals: Course E

Get to know the Sprite Lab programming environment in this course! By the end, students will use code to create a game or drawing.

Grades 4-5

CS Fundamentals: Course F

Decisions, decisions! This course teaches students about variables, as they're given greater autonomy and choices while creating an interactive project.


Self-paced elementary curricula

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-3

CS Fundamentals: Pre-reader Express

Let your pre-reader students learn computer science at their own pace! Learn to create computer programs, solve problems, and work through fun challenges.

Grades 3-8

CS Fundamentals: Express Course

Let your students learn computer science at their own pace! Learn to create computer programs, develop problem-solving skills, and work through fun challenges.


No devices? We have you covered!

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.

Grades K-5

CS Fundamentals Unplugged

Learn computer science without computers. Fun hands on activities that teach computational thinking.

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

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

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

Progress

Track your students' progress

Our powerful progress view helps you monitor student work by providing insights into completion status, time spent, and more. Easily track each student's learning journey, quickly assess participation, and give personalized feedback.

Sign up to start tracking progress
Stylized depiction of Code.org student progress view

Preparing to teach this course

K-5 Teachers

Teaching Computer Science Fundamentals

Free self-paced online educator course for getting started with Computer Science Fundamentals!

🖼️ Image placeholder. Please add an "Image" content type or image asset entry in the Content sidebar.

Heading

Paragraph

Heading

Paragraph

🖼️ Image placeholder. Please add an "Image" content type or image asset entry in the Content sidebar.
🖼️ Image placeholder. Please add an "Image" content type or image asset entry in the Content sidebar.

Heading

Paragraph

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.

Teachers sitting and discussing at a Code.org event

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.

Subscribe for updates

Sign up to receive monthly emails about Code.org's Computer Science Fundamentals and get helpful reminders, tips, and updates sent right to your inbox.

You can unsubscribe at any time.

Additional resources

Paragraph

Curriculum Catalog

Comprehensive curriculum offerings for every grade and experience level featuring robust structured and self-paced learning options.

Video Library

Explore our large library of engaging and informative videos to learn about key computer science concepts on a broad range of topics.

Professional Learning

Flexible, high-quality training that helps build confidence and equips teachers to effectively teach computer science with our curriculum.