K-5 Coding Skills Roadmap for Elementary STEM

Developing coding skills from an early age is essential for preparing students for future STEM careers and fostering critical thinking abilities. This roadmap outlines the progression of coding skills from Kindergarten through Grade 5, creating a foundation that grows in complexity and application as students advance through elementary education.

K-2nd Grade: Foundation

JavaScript and python basics, complex STEM integration, functions



Conditionals, variables, nested loops, real-world connections

Events, nested loops, interactive stories, conditionals


Algorithms, patterns, loops


Grade 3: Algorithmic Thinking

Block-based coding, sequencing, debugging, loops, algorithms

Grade 4: Intermediate Concepts
Grade 5: Text-Based Coding

Grade-Level Progression

Grades K-2: Foundations with Block-Based Coding

Students begin recognizing computers as tools for problem-solving while developing understanding of sequence and order of steps in coding. They explore direction commands, simple loops, and cause-effect relationships.

Core Concepts and learning progression

  • Coding: Introduce the basic idea that coding is how we tell computers what to do, like giving instructions. Use simple block-based coding tools like ScratchJr.

  • Sequencing: Focus on teaching kids how to put steps in order to make things work correctly, like giving a robot simple step-by-step directions (e.g., move forward, turn left).

  • Algorithms: Start talking about algorithms as clear instructions for solving problems. Keep it simple, like writing steps to brush your teeth or draw a picture.

  • Debugging: Introduce debugging as finding and fixing mistakes in your code. Make it fun by finding “bugs” in pre-written code and fixing them.

  • Loops: Instructions that repeat or doing something over and over again. Telling a robot to jump 5 times—those jumps are in a loop! Loops make code more efficient by avoiding repetition.

  • Nested Loops: Making a loop inside another loop. Let’s say your robot needs to do this: Clap 2 times (inner loop)

Do that 3 times in a row (outer loop)

Example lessons and activities:

Code Spark: Donut Detective

3rd G: Algorithmic Thinking and Problem Solving

Third grade marks significant advancement as students combine loops, conditionals, and events in increasingly complex coding tasks. They begin using code to solve real-world problems, such as programming simple robots. Block coding prepares them for eventual transition to text-based coding. Students develop interactive stories and simple games while learning to articulate their coding choices to peers.

Core Concepts and Learning Progression

Events: Teach the concept of events by showing how actions (like pressing a button) can cause something to happen in a game or program.

Example Lessons and activities:

scratch.mit

Code Spark: Master Events in Puppy Problems

Grade 4: Intermediate Coding Concepts

Fourth-graders design, plan, and code original projects including games and digital models. They apply advanced concepts like nested loops, multiple conditions, and introductory variables. As readiness allows, students begin using text-based coding alongside block coding. Safety and digital citizenship becomes much more in-depth.

  • Conditionals: Teach “if-then” logic with simple examples, like “If it’s raining, use an umbrella.” Use coding platforms to introduce conditionals in games (e.g., “If the player touches the edge, the game ends”).

  • Variables: Start talking about variables as places where we store information. Use simple examples, like keeping track of a player’s score in a game.

Example Lessons and activities:

Grade 5: Transition to Text-Based Coding

Fifth-graders write and debug code using both blocks and text coding like Python and JavaScript. They apply computational thinking to larger, multi-step STEM projects; and students practice decomposition by breaking down problems to build a program or solution.

  • Functions: Introduce functions as reusable sets of instructions. Show how functions can make coding easier by organizing repeated tasks (e.g., creating a function to make a character jump).

  • Advanced Variables: Expand on variables by explaining how they can change during a program, like keeping track of points, lives, or time in a game.

Example Lessons and activities:

Continuous K-5 Practices

Inquiry & Collaboration

Throughout all grade levels, activities promote inquiry-based learning, collaborative problem-solving, and effective communication of ideas and solutions. Students learn to work together on coding challenges, mirroring real-world development environments.

Standards Alignment

Learning targets align with Computer Science Teachers Association (CSTA) and International Society for Technology in Education (ISTE) computational standards to ensure comprehensive coverage of essential computing concepts.

Scaffolded Learning

Lessons progress from guided practice with substantial teacher support to independent creation as students build confidence and competence. This gradual release of responsibility helps students develop autonomy in their coding practice.

Real-World Connections

Coding activities consistently connect to real-world applications and cross-curricular STEM content, helping students understand the relevance and power of computational thinking beyond the computer science classroom.

This roadmap guides K-5 students from foundational concepts like sequencing and simple logic in kindergarten toward integrated STEM and beginner text-based coding by the end of 5th grade. The pathway emphasizes active problem-solving, real-world applications, and continuous reinforcement through both collaborative and independent projects, preparing students for deeper computer science learning in later grades.