Coding drives everything from the apps on your phone to mobile, online and multiplayer games, animation, and even your family's car! If you want to program a robot, design a game, or create an app you need to either learn how to code or use a tool that does the coding for you. So where to start?

Scratch - A great place to start, build/publish/share/remix games and animations (drag and drop)
Snap - this more serious version of scratch can control devices and us used in the new AP CS Principles course - Using "blockly", drag-and-drop with javascript underneath
Made with Code - Using "blockly", this girl-oriented site has you code emojis, music, avatars, and more
Code Combat - learn javascript as you play games and solve puzzles!
Coding Options - my page from 2015 suggesting different paths to learn coding

Javascript is a great general-purpose programming language that "lives" in your browser and is a good jumping-off point to learning other languages such as Java (not the same as Javascript), Python, and C++/C#/C. As you can see below, there is a lot of demand for programmers in these languages as well as SQL (databases), PHP, and Ruby.

Finally, different kinds of projects tend to use different languages. Here's a snapshot...
    • C++/C# - robotics (LEGO, VEX)
    • Java - sophisticated language, used on the AP coding exam
    • Python - "easy" language for those that just want to get the job done
    • Unity Gaming Engine - great for 2D and mobile apps (uses Javascript or C#)
    • Unreal Gaming Engine - for 3D, online and multiplayer games (uses C++ and blueprint)

Here is a list of other sites and coding resources. These aren't really organized, but you might just find the resource that "fits" you.