Coding Resources


Ages: Best with grades 2 and up. For middle/high school, useful to quickly demonstrate core concepts in a visual, concrete way before transitioning to other object-oriented languages like Java and Python.

Ideal for:

  • Creative, open-ended exploration and project design; there are a few tutorials, but the point is to learn by doing
  • Beginner-friendly, drag and drop, block-based interface eliminates syntax errors and other common obstacles to learning how to program

For first-time students, we usually recommend following one of the step-by-step tutorials accessible through “Tips” in the editor menu.

Resources: (main sequence, 20 hours with first corresponding to Hour of Code)

Ages: Best with grades 1 and up, with distinct content available for different age groups.

Ideal for:

  • Learning basic programming logic by completing puzzle-like challenges for each level
  • Linear and self-contained course progression, though you can jump around a bit and create and share your own projects using the Blockly language (similar to Scratch)


  • Plenty of official resources, including offline classroom activities:
  • Constantly growing, so check the site

KhanAcademy (Intro to JS and others, but some only for advanced coders)

Ages: Best with grades 5 and up.

Ideal for:

  • A slightly more traditional course that covers material slowly but in more depth than most websites
  • Students who have the attention span, self-discipline, and effective learning habits to make the most out of the interspersed videos, programming exercises, and peer-evaluated challenges
  • Students who are patient and don’t need as much immediate gratification; given the learning curve for JavaScript and the intro course’s focus on animation, it will take at least 15 hours to get to the point of understanding how to make a simple game vs. alternatives like Scratch


Ages: Best with grades 6 and up. Features automatic code completion/suggestions like a standard IDE, but typing proficiency is very helpful.

Ideal for:

  • Familiarizing beginners with basic object-oriented programming
  • Supplemental practice that feels like playing a game

Other useful resources

Tools and other

Local organizations

For middle school and older students

  • Snap! (extended re-implementation of Scratch suitable for high school CS):
  • Trinket (online Python-related tutorials and IDE):
  • Greenfoot (Java IDE for graphical games and simulations):