If you see a pinball machine on a college campus, you might expect to be somewhere near a break room or hangout space. But at Endicott, it means you’re in Professor Michael Ocean’s classroom. Students in CSC 280 Computer Architecture explore where electrical engineering and computer science meet in this regularly-offered course that covers basic electronics components, how these components are organized, and how software controls complex hardware. Perhaps the most exciting aspect of the class is the opportunity to gain hands-on experience working with pinball machines.
“While there is a necessary lecture-style element to this class to understand the concepts, the students really benefit from the hands-on experimentation and lab work,” says Ocean, who holds a Ph.D. in computer science from Boston University and has worked as a research scientist and software engineer. “The final pinball project is extremely hands-on.”
He says during this final project, students learn the “correct operation of the machine,” which requires understanding how physical mechanisms work, and writing software to create a fun user experience. “The experience of writing and running programs that control imperfect or unreliable physical hardware gives [students] the essential, challenging, and at times frustrating experience of writing code to control real-world systems.”
Computer science major Marissa Patti ’22 agrees that the final pinball project was one of the course’s highlights. “It was really fun to program your own version of pinball with custom light sequences, sounds, and game modes,” Patti recalls. Tom and Jerry, Shrek, and Seinfeld are just some of the themes Ocean has seen from students over the years.
Although Ocean’s class is required for Ryan Kelley ’22 and his fellow computer science majors, he recommends it to any curious learner. “It can be quite technical in the way of vocabulary and topics discussed, but the course provides a lot of hands-on experience that most computer science courses don’t,” Kelley explains. “Professor Ocean’s ability to incorporate so many hands-on projects into his lessons made the class very interesting and much more informative than what a strictly lecture-based class could have ever been.”
“Professor Ocean’s ability to incorporate so many hands-on projects into his lessons made the class very interesting and much more informative than what a strictly lecture-based class could have ever been.” —Ryan Kelley ’22
Computer science major Jamyang Tamang ’22 notes that the final project was a standout aspect of this “tough” but “highly rewarding” course, but it wasn’t his biggest takeaway. “Honestly, I would say that persistence is the best thing I got out of this class,” he says. “I was on the verge of giving up a lot, but the projects were so cool and personalized that I found the reason not to give up.” He adds that Ocean is “a phenomenal teacher.”
A culmination of Ocean’s technical training, professional expertise, and enduring passion for pinball, the course provides a uniquely invaluable learning experience.
“When I started collecting pinball machines, I was immediately taken by the ingenuity of their mechanical design and complexity. It’s an enormously clever ‘hidden world’ and, as an educator, I always want to share these secrets with as many people as possible,” Ocean explains.
“Every pinball machine is a highly complex physical computing device: a network of sensors and actuators embedded into a small environment that senses changes and physically responds to those changes,” he continues. “Pinball provides a perfect ‘fun’ environment to learn, and the lessons students learn translate directly to the programming of any other physical/feedback control systems—from sensor networks to robotics.”
“Pinball provides a perfect ‘fun’ environment to learn, and the lessons students learn translate directly to the programming of any other physical/feedback control system.” — Professor Michael Ocean
To learn more about this course and Endicott’s computer science major curriculum, visit endicott.edu.