Learning Our Way is an occasional series that explores creativity and innovation happening in CofC’s classrooms – whether in person or virtually.
Professors at the College of Charleston are always looking for new ways to engage students. It turns out, one way to generate interest in computer coding – according to computer science professor and department chair Bill Manaris – is through music.
For several years, Manaris has introduced students in his Computers, Art and Music (CITA 180) course to programming by having them create and perform musical compositions using their computers.
“Learning how to make music and learning how to program a computer, actually use the same parts of the brain,” Manaris tells his class. “I love that parallel, and it’s really why I teach this class.”
Manaris sets an initial goal for students to learn how to code so that their computers generate a specific sound. They subsequently learn to expand that process to produce more complex compositions. For some students, that presents an opportunity to augment their musical abilities. For others, it’s a chance to learn the basics about music and hone their coding skills. And for some, it’s a chance to start from scratch with both. The one thing that all these students experience, says Manaris, is a new appreciation for how powerful and capable computers truly are.
Nick Moore, a rising senior computing in the arts (CITA) major from Annapolis, Maryland, came into the class with experience using Python (the main programming language used in this course). But despite his familiarity with coding, Moore says the class was nonetheless “very eye-opening.”
“We actually made musical pieces by using Python,” Moore says. “That’s something I didn’t know was possible. For me, this course really broadened my understanding of how powerful programming is. I play the piano and the guitar, but I didn’t know music-making like this was possible.”
For the class’ first assignment, Moore says students had to code a basic melody of their favorite song. He chose the Beatles’ “Hey Jude.”
“My piece was very generic,” he says, “but I got to see how a coding sequence works. For the second assignment, we had to write code that incorporated multiple instruments in a piece. So, I chose “Blinding Lights” by the Weekend because it was really popular at the time. And for the next project, we got to experiment and create a composition of our own.”
For the final project, students were charged with creating a musical user interface. Moore used his burgeoning coding skills to develop a music controller – an interactive display that incorporates a piano keyboard, a set of drum pads and buttons for selecting pre-set melodies.
“Professor Manaris gave us complete freedom regarding what we could create and that’s one of the real advantages of this class,” says Moore. “You learn a skill and then you’re encouraged to experiment with it, so you have the opportunity to refine that skill. Doing my final project confirmed for me that I know how to do this sort of work and that was pretty empowering.”
Meg Krawczyk, another student in the class, concurs. As a computer science and CITA double major graduating this spring, she has ample experience in coding. Yet her knowledge of music was limited. Prior to taking this course, she didn’t read music at all.
“My concentration in CITA has been visual, so up until this point, I’ve focused on more traditional painting and drawing, but this course taught me to read and compose music,” she says. “It really opened my eyes to what a computer can do. Despite being in my final semester, I still learned quite a bit of new material, and that was exciting.”
After graduating, Krawczyk will start work as an implementation consultant with software firm Fast Enterprises. One day, she’d like to work in the gaming industry or the animation industry.
“And if that happens,” she says, “what I’ve learned in this class – creative problem solving with music – is a skillset that I can apply there.”
That comment makes Manaris smile.
“For so many of us,” he explains, “our lives are driven by computing devices, and by the people who program those devices. Society is divided into those who program these machines and those who use these machines. In essence, the programmers control the behavior of the users. So, by teaching students how to program – regardless of their major – we’re teaching them a skill that will empower them for the rest of their professional lives.
“This class, and the CITA major as a whole, prepare creative people to enter a technologically-driven society and become technological creators,” says Manaris, noting that the National Science Foundation has invested more than $700,000 in grant monies in CITA since the College started the major in 2010. “We’ve discovered that by offering CITA courses, we can attract a new population of students to the world of computers – students who wouldn’t otherwise take an interest in this kind of science. When students work in CITA, they develop a new outlook – a way to merge the creative with the computational – and that bodes well for our world.”