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!!!)
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
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
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
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 progressLesson 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
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!
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:
- Course A Standards
- Course B Standards
- Course C Standards
- Course D Standards
- Course E Standards
- Course F Standards
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.

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.