As a little girl, Erica Sandbothe loved making things -- by sewing, drawing, weaving, painting, and whittling, she realized she could fashion just about anything. What she didn’t realize, however, was that computer science and programming were creative fields where she could further expand her love of building things. In her new novel, Codecrafter, Sandbothe constructs a fantasy world to introduce programming possibilities to young readers. Programming is sorcery, and code makes spells. The novel focuses on Tagglinde, a young daughter of a lord, and her entry into the world of sorcery through learning programming, and using her knowledge of programming to defeat her mortal enemy.
The imaginative world of the novel is enchanting, and will delight both adult and younger readers. Sandbothe breathes three-dimensional life into the work of programming. To cast a spell, Tagglinde has to write code she then feeds to a Chree, a farm animal somewhere between a horse and a cow. The Chree compiles her code for her. If she makes a mistake with her code, the Chree will unceremoniously deposit her spell in a mess on the ground. If the code processes successfully, the Chree blow her a spell in the form of a shiny silver bubble, which she then uses to execute her code. One of the most charming moments of the novel takes place when Tagglinde successfully compiles and executes her first spell: she activates the bubble and sees first a burst of light, then “Hello World” appearing in faint golden letters in the air--the classic first lines of code that are taught to beginners. The novel’s main programming language is a combination of C and C++, but there are gestures towards other languages as well in terms of the different “lang-monsters”, or code-compilers in the form of animals (Piythons for Python, Yavalings for Javascript, Ruubies for Ruby) that are bred at Tagglinde’s school.
The elegant way that Sandbothe brings together the worlds fantasy and magic with coding made the novel a very pleasant read. Its goals of getting young girls interested in STEM fields are similar to GoldieBlox and The Spinning Machine, a toy aimed at engaging younger girls in science and engineering. Using GoldieBlox, children learn to build a simple spinning machine by reading a story. Debbie Sterling, the creator of GoldieBlox, came up with the idea for the toy through research showing that narrative is one of the critical ways in which boys’ and girls’ toys diverge. Through the use of an engaging story, both Codecrafter and GoldieBlox introduce children to the creative potential of mechanical and computational forms of building.
CodeCrafter is aimed at middle-school children and preteens, and Sandbothe is now working on ways teachers can use CodeCrafter in the classroom. This is a critical component of the CodeCrafter project that’s currently missing for me. I would have loved to see exercises linking parts of the narrative to coding exercises that would allow readers to learn and practice the code and the concepts in the novel. In the future, I can imagine an innovative instructor linking Codecrafter to a series of curated exercises on CodeAcademy, or possible later iterations of the novel being linked to coding exercises which might unlock different possibilities in the story. In its current form, Codecrafter is ultimately still well-worth a read. It is an excellent gift idea for a young person you would like to introduce to coding, or a novice adult programmer.
Have you read Codecrafter or played with GoldieBlox and the Spinning Machine? What did you think? Alternately, do you have experience with similar books or kits for programming beginners? Please share in the comments!