Coding: Where do I start? What comes next?

If you're new to this, stuck in a coding rut, or need a different challenge, this guide can help you find a new idea! It's like a choose-your-own adventure story - look for the category that sounds like you, then choose an option that grabs your eye.

I've got a robot or other hardware...now what?

How fun! Click on the tool you've got, and go nuts.

 

 
Tablet + Blue-Bot
Tablet + Blue-Bot

If you have an iPad or Android tablet, download the app to try with our friendly robot!

OzoBlockly
OzoBlockly

Ozobot can do more than follow a path on paper - it can be coded with blocks!

Explore MicroBit!
Explore MicroBit!

Tiny computer featuring a grid of lights and sensors, and can be programmed in a web browser!

Circuit Playground
Circuit Playground

Ten lights times a dozen sensors equals magic! Jump in and play with electronics.

Jewelbots: wearable fun!
Jewelbots: wearable fun!

Program a codable friendship bracelet to light up, buzz, and more!

NeoPixels light it up!
NeoPixels light it up!

Program a strip or ring of LEDs with Arduino!

Build a computer!
Build a computer!

This link: setting up a RaspberryPi. Next link: what to do with it!

More RaspberryPi fun!
More RaspberryPi fun!

Learn how to navigate Linux, then code some flashing lights!

Create Android apps!
Create Android apps!

Android phone or tablet? Writing apps is easier than you think!

I'm new to coding and I'm not a good reader yet.

Here are some of our favorite low-reading interactive tutorials!

 

 
Lost Fuzzballs
Lost Fuzzballs

Help the Fuzzballs roll home - no reading! (Ask Eileen to add your name.)

Code in Space
Code in Space

Solve puzzles set in space (no reading!)

Mystery Monsters
Mystery Monsters

Create monsters and more on Mystery Island!

 

I'm new to coding, and I'm a good reader, but I don't want to type.

These tutorials all use drag-and-drop blocks instead of typing - they're a great way to get started!

 

 
Flappy game
Flappy game

Create your own version of the classic game!

Fun with Droids
Fun with Droids

Build your own Star Wars-themed game!

Explore Minecraft
Explore Minecraft

Help Steve or Alex navigate the world, or program characters and animals (two versions - try either!)

Animate your name!
Animate your name!

Give each letter its own special effect!

Make it fly!
Make it fly!

Program a character to fly using Scratch!

Wayfind with Moana
Wayfind with Moana

Code Moana to explore, dance, catch fish, and more!

I've done some Scratch, and now I want to try something else with blocks!

Lots of other languages use blocks - try one of these!

 
Gamefroot: Advanced Games
Gamefroot: Advanced Games

Ready to make bigger games than you could with Scratch? Try this!

Stencyl: Advanced Games
Stencyl: Advanced Games

Another tool for bigger games; still uses blocks. (requires download)

Create worlds with Alice
Create worlds with Alice

Switch between blocks and text to create a 3D world! (requires download)

Codesters
Codesters

Bridge your way from Scratch to Python!

Pencil Code
Pencil Code

Switch back and forth between blocks and text!

AppInventor
AppInventor

Create a downloadable Android app!

Code.org AppLab
Code.org AppLab

Create a web app you can test on an Android or iOS device!

Beetle Blocks
Beetle Blocks

Scratch-like blocks let you code in 3D!

3D Model with BlocksCAD
3D Model with BlocksCAD

Another awesome tool for using code to make 3D objects.

Try Snap!
Try Snap!

Advance your skills with Scratch's more powerful cousin, Snap!

Code with GP Blocks
Code with GP Blocks

Scratch-like language especially good at making image filters and editing sounds.

OzoBlockly
OzoBlockly

Ozobot doesn't JUST follow paths on paper - you can also program it with blocks!

I want to make an app.

Here are several different options for different platforms and levels of coding experience. There are pros and cons to each - if you're not sure which one would work best for you, just ask!

 
Code.org AppLab
Code.org AppLab

Create a web app you can test on an Android or iOS device!

AppInventor
AppInventor

Create a downloadable Android app!

Build iOS apps in browser
Build iOS apps in browser

Thunkable makes blocks-based, in-browser iOS apps possible! Try it!

Building your first Android App
Building your first Android App

Official tutorial from Android - recommended for coders with some experience.

Your First Android App
Your First Android App

Another option for getting started with Android - assumes no knowledge.

Android Development Videos
Android Development Videos

If learning from videos rather than written tutorials is your style, check out Android Development for Absolute Beginners!

Udacity iOS/Swift Intro
Udacity iOS/Swift Intro

Create your first iOS app with a free course!

App Development with Swift
App Development with Swift

Long and intense course through Apple Education. Not for the faint of heart.

Create VR apps
Create VR apps

Use Unity plus Android studio to create a simple virtual environment - no experience needed!

I don't want to create my own project - I want to hack someone else's!

Try one of these, or ask about hacking the Python games on one of our Raspberry Pi computers!

 
Hack Flappy Bird
Hack Flappy Bird

Use Scratch to make this classic game less frustrating!

Hacking Websites
Hacking Websites

Look at websites and edit their HTML code!

Hacking Mario
Hacking Mario

Use Javascript to edit the code that runs Super Mario!

I want to try a typing language with a quick tutorial.

Here's an eclectic assortment of tutorials for coding with your keyboard. Feel free to choose one either by picking a language you're curious about, or choosing the project you find most interesting - it's hard to go wrong!

 
Create 3D Worlds
Create 3D Worlds

Use Javascript to create space ship simulations!

JavaScript Art
JavaScript Art

Get a taste of JavaScript by coding colors and drawings!

Code a character
Code a character

Use HTML/CSS/Javascript to create an avatar!

Build a Chatbot
Build a Chatbot

Use Python to program a conversation!

Holiday Cards
Holiday Cards

Try Python by building a card to send to friends!

Cryptography
Cryptography

Learn how to encode and decode secret messages in Python!

Digital postcard
Digital postcard

Use HTML and CSS to create a postcard to share!

Make a web page
Make a web page

Try HTML and CSS to build a website!

Intro to Databases
Intro to Databases

Get a taste of how we keep track of data with SQL!

I want to stick with a typing language for a while.

Here's an assortment of online classes and extended programs for coding with your keyboard - if you've tried a quick tutorial and are ready to dive into a language in more depth, try one of these! (Note that for most of these, you'll need to create an account to save your progress).

 
CodeCombat
CodeCombat

Dig into Javascript, Python, Lua, or Coffeescript by fighting battles!

Codecademy
Codecademy

Interactive Java, Ruby, Python, Github, and web courses!

Free Code Camp
Free Code Camp

Learn front and back end development of web apps through interactive tutorials.

Flatiron School
Flatiron School

Learn Javascript and Ruby on Rails with interactive tutorials!

Invent with Python
Invent with Python

Make games, automate life, or hack stuff with a free e-book!

Make music!
Make music!

Learn to live code beats and tunes with Sonic Pi! (requires download)

I need some puzzles to solve!

Whether you're looking for a challenge in a language you already know, or you need a way to learn a new language, solving puzzles can be a great way to go! Here are some puzzles you can tackle in any language.

 
Codecademy Weekly Challenge
Codecademy Weekly Challenge

Try some technical interview challenges: easy, medium, and hard difficulties!

Project Euler
Project Euler

Compete against your friends with challenges you can solve in any language!

Rosetta Code
Rosetta Code

Help create examples of specific programs in different languages!

CodeFights
CodeFights

Solve puzzles in your choice of languages (less tutorial, more self-taught through research).

I need to edit an image and/or model.

When you're creating your own projects, you need to be able to make assets. Here are some of our favorite free tools!

 
Sumopaint
Sumopaint

Another free, in-browser photo editor.

Pixlr
Pixlr

In-browser image editor - great for removing backgrounds or combining pictures!

Remove Image Backgrounds
Remove Image Backgrounds

Here's a quick and easy tutorial for using Pixlr to turn images into useful characters!

SculptGL
SculptGL

Sculpt 3D models in your web browser!

Blender
Blender

VERY powerful 3D model editor (has to be downloaded)

Pixel Art and Sprites
Pixel Art and Sprites

Piskel is a free, in-browser tool for creating animated sprites and other pixel art.

I want to learn about how computers work, not about coding.

Cool! Here's a video tour of the inside of a computer, and two pencil-and-paper activities that will teach you a computer concept. (Plus, they're fun!)

 
Hiding things in Code
Hiding things in Code

Create secret images or messages with zeroes and ones!

How do computers work?
How do computers work?

This four-minute animated video gives you a guided tour!

Mind Reading Trick
Mind Reading Trick

Use the way computers fix errors to make someone think you can read minds!