Students Author Programming Guide Featuring Comics

August 6, 2013

The doodle on the back of Eric Peterson’s Fun­da­men­tals of Com­puter Sci­ence exam was a “pretty epic affair,” he recalled. The char­acter was doing a power slide while playing an elec­tric guitar; flames shot through the ground around him. A few days later his pro­fessor, David Van Horn, asked Peterson if he was the one respon­sible for the drawing.

“To be honest, I was wor­ried,” Peterson said. “I thought North­eastern was secretly super serious when it came doo­dling, 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 assis­tant pro­fessor in the Col­lege of Com­puter and Infor­ma­tion Sci­ence, along with com­puter sci­ence pro­fessor Matthias Felleisen and med­ical soft­ware devel­oper Conrad Barski, wanted to foster the cre­ation of a com­puter pro­gram­ming guide written “by freshmen, for freshmen.” The book they envi­sioned would teach readers Racket, a lan­guage devel­oped by Felleisen more than a decade earlier.

In addi­tion to Peterson, Felleisen and Van Horn appealed to stu­dents across the Fun­da­men­tals classes and con­vinced another seven to join them. What they ulti­mately cre­ated isn’t just a pro­gram­ming guide; in fact, it’s more of an inter­ac­tive journey.

The book opens with Chad. He’s a curly-​​haired col­lege freshman who’s a bit lost at sea, not sure what he wants to do with his life. We are intro­duced to him through the first of sev­eral comic strips, drawn by Peterson and fellow stu­dent Feng-​​Yun Mimi Lin. “[Chad’s] good friends, Matt and Dave, sug­gested that he should check out pro­gram­ming,” says the comic narrator.

Chad goes online and down­loads “DrRacket,” the pro­gram devel­op­ment envi­ron­ment for the lan­guage. He tum­bles into another dimen­sion, trapped behind the bars of inex­pe­ri­ence. DrRacket becomes a character—Chad’s evil nemesis, trap­ping him in this other world. “The only way you can escape is by using your mind to defeat my traps and puz­zles,” DrRacket tells Chad. “Your life now depends on your thinking and cre­ativity.” (The same could be said about the book-​​writing process for the students.)

The reader jour­neys through the “Realm of Racket” along­side 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 chal­lenges. With each of the reader’s suc­cesses, Chad over­comes another of DrRacket’s obsta­cles in the comic.

This par­allel journey embodies how many of the stu­dents involved in the project feel about pro­gram­ming: “I found that my way of thinking and rea­soning about prob­lems in life fell directly in line with solving prob­lems in pro­gram­ming,” said co-​​author Scott Lin­deman, who, along with For­rest Bice, Spencer Flo­rence, and Ryan Plessner helped code the games devel­oped for the book.

It was that love of problem solving that com­pelled most of the stu­dents to join the team, even the artists and designers: “Design, to me, is very log­ical,” said Nicole Nuss­baum, one of the layout designers. “It’s about locating prob­lems and taking steps to apply the most effec­tive solutions.”

The project, funded by a gen­erous gift from North­eastern alumnus Brian Wen­zinger, took three years to com­plete and required many long, some­times tearful, hours of writing, editing, and reading, said co-​​author Rose DeMaio. But all along the way, “Matt and Dave” were there to sup­port the stu­dents: “They are extra­or­di­nary in their field,” DeMaio said. “But even more impor­tant to a stu­dent like me, they bring pas­sion to the projects they take on.”

By the end of the book, Chad, once trapped in the realm of Racket, dis­covers that it actu­ally opens up new pos­si­bil­i­ties for him: “You’re free to explore and dis­cover!” DrRacket tells him. “Maybe you’ll even find untrodden ter­ri­tory and make it your own.”

This is pre­cisely what Peterson loves about pro­gram­ming: “What’s so exciting is how empow­ering 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 pro­gram­ming that makes it so attractive.”

After the book-​​writing journey was com­plete, Lin, one of the artists, returned to her home in South Africa where she dis­cov­ered 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 gig­gling to myself when I read it: the 13-​​year-​​old Mimi would have been chuffed to know that her goal had materialized.”