Chapter 3. Structured Sandbox

These sites, which are typically geared towards beginners learning a language or tool, provide a guided introduction using a live code sandbox. For example, you’re asked to declare a variable of a certain type, compute a certain value, or perform some task on a data structure (like reverse an array). Typically, these steps are executed using some sort of testing suite to confirm that the user performed the task.

Examples include:

Codecademy

Codecademy offers tutorials in JavaScript, Python and Ruby. The tutorials are very tightly structured into small chunks, each with an associated action (like defining a string). The author uses their custom CMS to create both the narrative material as well as the "unit tests" that describe the correct answer. While the classes have generated a lot of buzz and garnered many signups, they have a high incompletion rate.

Code School (Rails for Zombies, Try Objective-C, etc.)

CodeSchool, like codecademy, provides guided tours through various languages. Unlike CodeSchool, each course or class is individually branded. For example, the jQuery class has an Airline/adventure feel, while the Objective-C class has a retro videogame theme.

CodeSchools jQuery Class. Note the traditional layout.
Figure 3-1. CodeSchools jQuery Class. Note the traditional layout.
CodeSchool’s Objective-C class. Note the
Figure 3-2. CodeSchool’s Objective-C class. Note the

Try Redis

Try Redis! walks you through the redis database. The interface is purely text based, making it feel a bilt like an old text adventure game, like Zork.