The doodle on the back of Eric Peterson’s Fundamentals of Computer Science exam was a “pretty epic affair,” he recalled. The character was doing a power slide while playing an electric guitar; flames shot through the ground around him. A few days later his professor, David Van Horn, asked Peterson if he was the one responsible for the drawing.
“To be honest, I was worried,” Peterson said. “I thought Northeastern was secretly super serious when it came doodling, but instead he explained the Realm of Racket project and asked me if I wanted in.”
At that point, Realm of Racket was just an idea. Van Horn, a research assistant professor in the College of Computer and Information Science, along with computer science professor Matthias Felleisen and medical software developer Conrad Barski, wanted to foster the creation of a computer programming guide written “by freshmen, for freshmen.” The book they envisioned would teach readers Racket, a language developed by Felleisen more than a decade earlier.
In addition to Peterson, Felleisen and Van Horn appealed to students across the Fundamentals classes and convinced another seven to join them. What they ultimately created isn’t just a programming guide; in fact, it’s more of an interactive journey.
The book opens with Chad. He’s a curly-haired college freshman who’s a bit lost at sea, not sure what he wants to do with his life. We are introduced to him through the first of several comic strips, drawn by Peterson and fellow student Feng-Yun Mimi Lin. “[Chad’s] good friends, Matt and Dave, suggested that he should check out programming,” says the comic narrator.
Chad goes online and downloads “DrRacket,” the program development environment for the language. He tumbles into another dimension, trapped behind the bars of inexperience. DrRacket becomes a character—Chad’s evil nemesis, trapping him in this other world. “The only way you can escape is by using your mind to defeat my traps and puzzles,” DrRacket tells Chad. “Your life now depends on your thinking and creativity.” (The same could be said about the book-writing process for the students.)
The reader journeys through the “Realm of Racket” alongside Chad; both learn to code and build simple games along the way. By chapter three, the reader has already coded a guess-the-number game and is moving on to bigger challenges. With each of the reader’s successes, Chad overcomes another of DrRacket’s obstacles in the comic.
This parallel journey embodies how many of the students involved in the project feel about programming: “I found that my way of thinking and reasoning about problems in life fell directly in line with solving problems in programming,” said co-author Scott Lindeman, who, along with Forrest Bice, Spencer Florence, and Ryan Plessner helped code the games developed for the book.
It was that love of problem solving that compelled most of the students to join the team, even the artists and designers: “Design, to me, is very logical,” said Nicole Nussbaum, one of the layout designers. “It’s about locating problems and taking steps to apply the most effective solutions.”
The project, funded by a generous gift from Northeastern alumnus Brian Wenzinger, took three years to complete and required many long, sometimes tearful, hours of writing, editing, and reading, said co-author Rose DeMaio. But all along the way, “Matt and Dave” were there to support the students: “They are extraordinary in their field,” DeMaio said. “But even more important to a student like me, they bring passion to the projects they take on.”
By the end of the book, Chad, once trapped in the realm of Racket, discovers that it actually opens up new possibilities for him: “You’re free to explore and discover!” DrRacket tells him. “Maybe you’ll even find untrodden territory and make it your own.”
This is precisely what Peterson loves about programming: “What’s so exciting is how empowering it is, and that in a lot of ways the only limits are what you can imagine and learn,” he said. “So it’s really the freedom of programming that makes it so attractive.”
After the book-writing journey was complete, Lin, one of the artists, returned to her home in South Africa where she discovered a “bucket list” she wrote at age 13. “One of the items that was listed above ‘go to the moon’ was ‘write a book that teaches people,’” she said. “I started giggling to myself when I read it: the 13-year-old Mimi would have been chuffed to know that her goal had materialized.”