As computers become a ubiquitous part of society, programming becomes an ever-more important skill. The rise in computing has led to a rise in demand for coders- in fact, computing jobs are the #1 source of new wages in the US. With this in mind, many parents and teachers are looking for ways to introduce students to coding at a young age. The good news is that there are ample resources that teach coding for elementary students. Whether looking for self-directed courses or structured, teacher-led curricula, one can choose from a range of options, including free courses for gauging your students’ interests!

Start coding for elementary students

When first starting coding, it is critical to choose an appropriate programming language. For elementary-aged kids, text-based coding languages are often difficult to understand due to their strict syntax. Typically, students are best served by starting with block-based coding languages like Scratch.

These languages enable students to focus on fundamental concepts, such as variables, loops, and events, without simultaneously learning the complexities of a modern coding language. This video has some great suggestions for choosing an appropriate language based on your student’s interests.

How to download and get started with ScratchJr

ScratchJr is a fantastic block-coding resource for students in kindergarten through second grade. Follow these steps below to get a quick start with ScratchJr:

1. Go to the App Store (iOS) or Google Play Store (Android) and download the ScratchJr app.

2. Open the app, then click on the plus icon to start a new project.

3. Once in the project, characters and scenes can be added via the plus symbol in the left menu.

4. To make a character move, first click the yellow button and drag a Green Flag icon into the white bottom bar. Then, click the blue arrow icon and drag motion blocks into the  white bottom bar.

5. To see the animation play, click the green flag on the top edge of the screen

Join an award-winning live online class led by an expert to learn how to code with ScratchJr:

How to sign up and get started with Scratch

For students in grades two and up, Scratch coding is a great starting point. Follow these steps below to get a quick start with Scratch, or check out this article for a more detailed explanation.

  1. Open the Scratch website in your web browser and click the “Join Scratch” button at the top of the website.
  2. Enter a username and password into the prompt (remind kids not to use their real name!), then birthday, gender, etc. as necessary. Be sure to verify your email address after creating your account by clicking the link Scratch sends to your inbox.
  3. Now that your account has been created, revisit the main website and click the “Create” button in the top left corner. The creation screen will open up.

To make the sprite move, click and drag and drag a yellow “When green flag clicked” block from the Events section on the left side bar. Then, go to the blue motion blocks and drag a blue “move 10 steps” block onto the yellow block.

To see the code in action, click the green flag on the top-left side of the screen, above the cat. The cat will move a few steps. This is one the simplest examples of Scratch coding, and there’s so much more that can be done with this tool!

Join an award-winning live online class led by an expert to learn how to code with Scratch:

Top introduction coding programs and websites for elementary students

Online programs offer a low-risk entry point for introducing elementary students to fundamental coding concepts.

1. Create & Learn

Create & Learn has taught coding to over 60,000 students world-wide, in subjects ranging from Python to Web Design to Minecraft coding and much more! Part of what makes their courses so effective is that students are taught the curriculum via Zoom by a real teacher, which enables students to ask questions and receive feedback on their work. For parents interested in starting their kids with coding, check out their free classes to find one that works for your child. Teachers, try booking some free virtual coding classes for your students (groups of 10+) - any time of the year! Start by picking the activities you're interested in here, and contact Create & Learn, who will get in touch to set up the live Zoom sessions.

  • Pros: Quality instructors and curricula, wide range of offerings, free intro courses to test content
  • Cons: Some courses don’t have a free intro

2. Code.org

Code.org is a non-profit organization which strives to bring computer science education to every student’s core education. They are also the creators of the Hour of Code program, which is a great way for teachers and parents to quickly introduce students to a coding concept in one sitting! In addition, they have created various courses for teaching computer science principles, each targeting a different age range. Their “Pre-Reader Express” is a self-directed course ideal for students aged 4-8, while their Course C through Course E curricula target the 6-12 age range. These courses introduce students to the ideas of sequencing, loops, and events using various games and simple block coding.

  • Pros: 100% free, widely-taught and supported
  • Cons: Courses are only 1 hour (not much progression), no instructor or feedback

3. Khan Academy

Khan Academy has a long track record of providing free educational resources in a wide range of subjects. Their computer science curriculum focuses on the key components of web design. It allows students to learn HTML, CSS, and JavaScript, which are some of the most commonly used languages in web design. Additionally, students can get an introduction into SQL databases and also explore the jQuery library. The curriculum is self-paced, and includes written tutorials, video tutorials, and challenges for practicing concepts. This course is best geared toward middle school and older students, and is better suited for those who have some prior coding experience.

  • Pros: 100% free, includes hands-on exercises as well as lecture videos and notes
  • Cons: No block-based coding, solely web-design focused

Best elementary school coding curriculum

As with most subjects, having a structured curriculum can help keep students on track with steady progress. Create & Learn offers curricula across the K-12 age range, broken down by age group. The best computer science curriculum for students in grades K-2 should start with block coding in the ScratchJr course, then progress to the ScratchJr and NASA STEM clubs. This age range is a great place to get foundational ideas of coding down, as well as building general problem-solving skills.

After getting through the basics, kids in grades 2-4 have many more options in their curriculum. They can keep the coding progress rolling by working through the Scratch Ninja course, which will eventually work into more advanced concepts with block coding. Alternatively, they could try Beginner Roblox Game Coding or Minecraft Modding Quest for some variety. For students interested in more engineering-focused courses, they can check out Junior Robotics or Lights & Beats with Micro:Bit. These courses also apply for students in grades 4-6; however, students with prior experience, or those who are progressing quickly, may want to try text-based coding in the Python for AI course.

Best coding and computer science classes for elementary students

1. Scratch Ninja/Scratch Jr

For students who’ve never coded before, Scratch is a fantastic starting point. Students will utilize a block-coding language to create custom games and animations. The course is broken into four units, each composed of four fifty-five minute classes. Expert instructors will guide students through the fundamentals of programming, including variables, loops, conditional logic, events, and more. If your student wants to try it out with no commitment, there is a free intro course available for Scratch Ninja. Students in kindergarten through first grade should likely try Scratch Junior; older students should go with Scratch Ninja.

2. Minecraft Modding Quest

For all the gamers out there, Minecraft Modding Quest is a great way to combine creative skills with STEM education. This course, featured by Minecraft Education, utilizes Minecraft: Education Edition to help kids learn important coding concepts. Kids will start by coding agents to solve puzzles, then advance to code that can break and build blocks, spawn animals, and more! The course is structured into three units of four fifty-five minute classes, all of which are led by friendly instructors.

3. Junior Robotics

Vex VR takes the widely-popular Vex robotics system and puts it into a digital world, where students use block-code to help a robot move around and interact with its environment. This is a great opportunity for students to combine their interests in robotics and coding! Plus, the Vex VR tool is free to use.

4. Junior Hackers

Internet safety skills grow more important by the day, for people of all ages. Start building your students’ cyber savviness early, with instruction on creating safe passwords, avoiding viruses, and protecting private information. Once they learn internet safety, they can then learn the basics of encryption and binary numbers, which are foundational computing concepts.

5. Smart Devices: Arduino for Kids

For students interested in electronics and hardware, the Arduino course is a great choice. Students will be working with an Arduino simulator to learn about circuits and how they can apply to different sensors, lights, and more. Kids who like to work with their hands also have the option of purchasing a physical Arduino Starter Kit if they feel so inclined. Plus, the course includes a progression from block-based coding to the text-based language Python! It’s a fun way to show students how different STEM fields relate to each other in real-life applications.

6. Beginner Roblox Game Coding

Many kids have played Roblox at some point in their lives, but did you know that your child can become a Roblox game creator? This course introduces students to text-based coding using the language Luau, allowing them to make their own obbies, avalanche games, and more! This course is more advanced, and it is expected that students will have prior experience with block-based coding languages (up to Scratch 4 of the Create & Learn curriculum).

7. Modern Web Design with Wix

Wix is an industry-standard tool for web design, but because of its user-friendly WYSIWYG  (what you see is what you get) editor, it’s a great tool for students to learn. By building websites inspired by student’s personal passions, kids will learn how to use templates, structure site maps, choose color schemes, and more. This course is an excellent choice for students with interests in visual art and graphic design. Although there are no required prerequisites, it is recommended that students have some prior coding background (Scratch Ninja) and some design experience (Canva for Kids).

8. Mobile Coding for Apps and Games

Kids interact with mobile apps every day, so why not let them learn to make their own app? Students will use the block-based coding system Thunkable to build their UI, interact with phone sensors, use the camera, and more. Students will even get to interact with cloud technologies such as Google Firebase as they advance! This course has a prerequisite of completing at least Scratch 2. Mobile devices are not required for creating the apps; however, students may want a phone to test the app on a real device.

How to teach elementary students coding

When teaching young students, it’s important to keep the content fun and engaging, so here are a few tried-and-true tips for getting elementary students excited to code!

  • Keep them engaged by helping them learn how to make things they want to make, such as easy games to code and Code.org games
  • Kids love to share their creations with their peers. Take advantage of Scratch’s Explore section to let kids share their games with each other. Plus, students can learn from each other by checking out each other’s code via the “Remix” button.
  • The more students can relate to a subject area, the more likely they are to be interested in it. With tools like Scratch, kids have the ability to customize their sprites (characters) however they want. Have them make a game/animation with their favorite movie characters, or make a game that’s inspired by a game they already enjoy playing!
  • Be mindful of the pacing with larger groups of students. A good idea for keeping all students engaged is to have a few extra challenge tasks ready for advanced students. That way, you’ll have more time to help the kids who fall behind.

Get started with coding for elementary students

Whether you’re a parent or teacher, elementary is a great time to introduce kids to coding. You can utilize resources such as Khan Academy and Code.org to give kids a taste of programming; however, the best way for kids to build their skills is with a structured curriculum like that provided by Create & Learn. For teachers who want to incorporate a coding introduction into their lesson plans, check out Code.org’s recommended curriculum or try one of Create & Learn’s free introductory coding courses.

Written by Create & Learn instructor Dominic Occhietti. Dominic is a graduate of Michigan State University, where he studied music performance and computer science. He thoroughly enjoys teaching, whether that be coding classes, French horn lessons, or even downhill skiing lessons!