Coding Resources


Scratch

scratch.mit.edu

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:


Code.org

studio.code.org/
studio.code.org/s/1 (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)

Resources:

  • Plenty of official resources, including offline classroom activities: http://code.org/educate
  • Constantly growing, so check the site

KhanAcademy

khanacademy.org/computing/computer-programming (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

CodeCombat

codecombat.com

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): snap.berkeley.edu
  • Trinket (online Python-related tutorials and IDE): trinket.io
  • Greenfoot (Java IDE for graphical games and simulations): greenfoot.org