

Alice
Alice focuses on teaching programming principles and computational thinking skills through an intuitive learning environment. Teens employ what Alice calls “block-based” programming to build animations, form interactive narratives, and program simple games. As teens explore Alice’s environment, they become familiar with “object-oriented programming,” a fluency that will help them learn languages like C++ and C#.

Scratch
Scratch, supported by MIT, is a coding tool and community in one. Teens who use the app can program interactive games, stories, and animations. They can then submit their creations to the online community to talk through challenges, receive feedback, and find teammates.

Stencyl
Stencyl employs a drag-and-drop programming tool, meaning teens can create and publish games without getting lost in a coding language. As they progress, they can turn on the app’s coding abilities in order to work with actual programming languages.

Tynker
Tynker may be the most robust tool on this list. It starts with “visual blocks,” a bit like Alice or Stencyl, before moving into coding languages. Teens can use the tool for a variety of projects, such as building apps, modifying Minecraft, or coding drones.