Computational creativity can seem—at first—like an oxymoron. Computer science is often associated with dark rooms and daunting technology while creativity connotes vivid color, energy and novelty. In the case of Assistant Professor of Computer Science Sarah Harmon’s new Computational Creativity course, however, this dichotomy could not be further from the truth.
“We consider what it means for a computational system to be creative, how the field of computational creativity intersects with society and how human creativity can be augmented by computational means,” Harmon said.
One of the class’s recent projects, which culminated in an exhibition and fundraiser for the Midcoast Hunger Prevention Program over Family Weekend, required students to create a system that allowed computers to generate and evaluate cookie recipes. Each group of four students was able to run the system five times and choose which computer-generated recipe they wanted to make. While some groups went the traditional route, opting for chocolate chip cookies with marshmallows, pretzels and caramel, others were more adventurous with their flavor choices, electing flavors such as the spicy baharat cookie.
“We wanted the program to simulate how a human would make a cookie in their own kitchen,” said Emme McCabe ’20. “Maybe you have a basic recipe in your mind, you know how to make the dough, and then you’re just going to look around the pantry and think ‘oh, I have some chocolate chips here, what goes well with it?’”
Due to the vague nature of the assignment, groups had different techniques for approaching the Cookie Project. Dustin Hines ’19 and his group designed a program that used the wealth of information available in existing cookie recipes.
“We created a function that measured how good a cookie is by looking at some things like commonality of ingredient pairings throughout a large set of recipes, flavor matchings and diversity of ingredient categories,” Hines said.
This assignment forced students to reconsider the typical uses for computational projects by emphasizing the creative aspect of the course. By creating a project with real world impact and visibility, the class opened a space for the community to see the tangible—even edible—effects of computer science.
The class has also led some students to consider whether computers may be better than people at accomplishing certain tasks. In the context of the Cookie Project, many groups used weighted probability to determine the optimal cookie recipe.
“It’s a little bit smarter than what a human can actually do, because when you’re in your kitchen, you don’t have all those numbers in your head. You’re just thinking, ‘oh, that should taste good,’ so maybe the computer is a little better than humans in that sense,” McCabe said.
The course is also different from other computer science courses in that it’s largely centered on group work. This type of collaboration not only prepares students for work in the computer science and engineering fields, but it can also improve the quality of work produced.
“I think every computer science major has sat for hours staring at their program thinking, ‘why does this not work?’ If you’re either not allowed to look it up on the internet or you don’t have access to the TAs at that time, that’s just the most annoying thing,” McCabe said. “When you’re in a group, you could have one person that just knows how to fix it, which literally saves hours of time, and your end result is much cooler than what you could have done on your own.”
Harmon hopes to inspire her students to collaborate and think creatively by providing challenges to the typical computer science project. In addition to the Cookie Project, her class allows students to write code for digital gardens, constellation designs and more.
“I strongly believe my creative challenge as a teacher is to constantly find new ways to inspire intellectual curiosity and discovery,” Harmon said. “That’s why my learning assessments aren’t always on paper. Sometimes they’re on paper plates.”