How to address violence in the news with your students.

Learn more
Common Sense


Best Coding Tools for High School Students

Coding is an invaluable literacy applicable to virtually any future career or field of study. These high school-level tools will help students build this essential 21st-century literacy by learning how code works and how to write code themselves. Once they're up to snuff, coding will give your students a new way to demonstrate knowledge and express themselves. And teachers, take note: There are tools here for those brand new to code as well as those looking for more of a challenge, so make sure to pick and choose to give every student a window into the world of programming.

If you're looking to begin coding lessons in your classroom, check out our Teaching Strategies for how to Get Started with Coding in Your Classroom.

Continue reading

Top Picks


PrintPrint | Save as PDF

Block- and Text-Based Code

Common Sense Selection

Popular games, big names get kids and teachers pumped to program

Bottom line: A thoughtfully planned, produced, and curated set of free resources bound to get kids hooked on learning to code.

Code for Life

Comprehensive coding platform has impressive resources for teachers

Bottom line: This learn-to-code program has the breadth and depth required to meet the needs of almost any teacher.

Microsoft MakeCode

Bring code to life with circuits, robots, Minecraft, and more

Bottom line: Once you purchase the hardware, MakeCode opens doors to an incredible diversity of coding applications.

Common Sense Selection

CoSpaces Edu

Impressive AR/VR creation tool with lots of lesson plans and possibilities.

Bottom line: With a little learning up-front, this tool is a great choice for creative collaboration and projects.

Machine Learning for Kids

Authentic AI-powered projects make kids' creations feel like magic

Bottom line: It takes a topic that would be difficult to teach in any practical way and makes it accessible for the classroom.


Code games or fun displays with mini piece of hardware

Bottom line: This versatile tool for learning how to program with blocks or text is a nice fit for STEM classes and clubs.

Block-Based Code


Full-featured tool makes teaching with Scratch easier than ever

Bottom line: Here you'll find resources for teaching with Scratch and a complete management tool to support student learning.


Creative sandbox opens the door to coding in any subject area

Bottom line: Scratch draws students of all types into coding and lays a foundation for future learning.

SAM Labs

Kids use block code and wireless blocks to program, design, and create

Bottom line: With some perseverance, it's a great fit for PBL and STEAM, helping students learn programming skills and engineering concepts through invention.


Robotics kit makes design possibilities virtually limitless

Bottom line: For schools with healthy budgets, KOOV helps kids design and code interactive robots with blocks, sensors, and imagination.

Kai's Clan

Innovative STEAM package takes robot coding to the next level

Bottom line: A nearly perfect spin on STEAM coding that combines a bunch of technologies into one, and effectively fuses the real and virtual worlds.

Human Resource Machine EDU

Challenging puzzles will grab the imagination of any coding enthusiast

Bottom line: For teachers with some coding background, this is a great game-based tool for learning to code.


Challenging game helps kids learn to think like programmers

Bottom line: Cargo-Bot is a simple concept that packs a challenging punch and teaches valuable programming skills.


Modify Minecraft with this fun, applied use of coding

Bottom line: For students who already know and love Minecraft, this is a valuable way to hook students into coding.

Algo Bot

Simple coding game a fun intro to algorithms

Bottom line: This coding game is a fun and helpful introduction to basic algorithm development, but other resources will be needed for more depth.

Great, free mobile app creation site has solid teacher resources

Bottom line: A fantastic and complete introduction to programming concepts and app creation.

Lightbot : Programming Puzzles

Simple design, but challenging fun for budding programmers

Bottom line: Challenging programming game best for motivated learners.

The Pack - NYSCI

Deceptively gentle coding game really packs a problem-solving punch

Bottom line: This gorgeous, immersive programming game encourages novel solutions.


Build a working iOS or Android app, even without coding experience

Bottom line: Fun, practical way to get kids programming, though teachers will need a clear plan to support them in the process.

7 Billion Humans

Amusing puzzler challenges kids, teaches programming principles

Bottom line: This high-quality puzzle game is a fun way for students to learn effective and efficient programming skills.


Great interface, flexible publishing options make game-making a snap

Bottom line: This engaging platform will empower budding game designers, but the price tag could be a deal-breaker for tight school budgets.

Text-Based Code


Dungeon-crawling adventure where code is king

Bottom line: While not everyone loves fighting ogres, CodeCombat offers a classroom-ready platform and an authentic learning experience.


Puzzler's use of real code fills niche in crowded learn-to-code genre

Bottom line: A great intro to coding that, with solid teacher support, gets students using real programming languages.

Swift Playgrounds

Brilliantly designed iOS coding app great for newbies or pros

Bottom line: If you have iPads or Macs, this is an inspired choice for learning how to create and tweak code.

Unity Learn

Complete game creation curriculum gives students real-world experience

Bottom line: It's a slick, fun, and effective way to get students building games right away, with plenty of room for depth.


Teach a vast number of CS concepts with quality, depth, and choice

Bottom line: Zulama will help any middle or high school implement a comprehensive computer science program.

Code Avengers

Challenging puzzles teach with real code; best for more advanced kids

Bottom line: A superb programming tutor, well worth the effort to keep students going.


Computer science curriculum offers great feedback, fun challenges

Bottom line: Effective tools and clear lessons teach real programming, but you'll have to spend some cash to help kids master it.

Construct 3

Ideal 2D game builder supports students to create, innovate

Bottom line: Limitless game options, reasonable cost, and extensive support make this programming environment perfect for an educational setting.

Grasshopper: Learn to Code

First-class free app for learning to code with JavaScript

Bottom line: This app will no doubt help individual, motivated learners see how coding works using real programming language.

Hack 'n' Slash

Zelda-inspired puzzler lets players peek behind the code curtain

Bottom line: A great intro to variables and how algorithms work, this game would shine as a supplement to a larger unit on programming.


Excellent text-based coding site a great way to learn real-world skills

Bottom line: For both introductory and higher skill levels, it teaches the breadth and depth of skills for programming careers.


Well-thought-out coding platform for real game programming

Bottom line: Codea is a professional tool that has enough help features that kids can learn programming hands-on.


Popular game development platform has classroom potential, pitfalls

Bottom line: Creating games for an authentic audience encourages coding and design skills, but real risks require extra caution.


No games, just clear tasks for learning to code in Swift

Bottom line: Like an interactive textbook, TapCoding wastes no time to get older students programming.


Cool coding tool tuned to teen girls' passions aids creativity

Bottom line: Learn-to-code programs for youths often too narrowly define what can be done with code; Vidcode expands the options, helping girls see code's value in culture and express themselves.


Fun, self-paced web development and coding lessons offer high value

Bottom line: A solid learning solution for self-starting students who want to grasp the wide array of programming topics.

Get tips for using these tools in the classroom

See related resources