Nov. 13, 2013
Raspberry Pi ‘sweetens’ learning for computer science students
A little Raspberry Pi is ‘sweetening’ the learning experience for University of Calgary computer science students.
The students are using Raspberry Pis – inexpensive, credit card-sized computers – in an innovative way in a new laboratory that provides hands-on learning in writing “embedded” software programs and operating systems.
“This gives students exposure to state-of-the-art industry practices on how to develop program code for embedded systems and for the hardware-software interface in general,” says Jalal Kawash, senior instructor in the Department of Computer Science, Faculty of Science. “The setup that we have here, that’s exactly what the industry does.” Kawash is pictured above.
Kawash and his computer science colleagues aren’t aware of another post-secondary institution using the tiny but powerful Raspberry Pi computer in this new way.
Other universities are using the UK-made Raspberry Pi, which costs about $50 for a kit including the power supply, memory storage card and other components.
However, they are using it like any other computer, and “this doesn’t expose many of the interesting features of the device as we are doing in our course and laboratory,” Kawash says.
In the University of Calgary’s new 22-station computer lab, the students plug their Raspberry Pis into a setup designed by a computer science team that includes Kawash, colleague Leonard Manzara, a senior instructor and undergraduate advisor, and PhD student Andrew Kuipers.
The custom setup includes a host computer, a high-definition screen, a “breakout board” that allows students to safely access the input-output pins in their Raspberry Pis, a “JTag” device for debugging programs, and a Super Nintendo video game controller.
With this lab setup, which cost about $30,000, students don’t have to go through a computer’s protective operating system, such as Windows and Linux, to write program code that controls the hardware directly.
“Operating systems control the hardware and don’t allow us to run programs that do the same,” Kawash explains. “We need to move the operating system aside so that students learn how to write programs that access and control hardware.”
For example, students are required to develop an interactive video game, by writing program to the Super Nintendo controller hardware.
The first group of students to use the new lab in the second-year, 300-level Computing Machinery II course started this September.
Prior to that, students learned about writing programs for the hardware-software interface using old desktop computers and the aging Windows 98 operating system.
The Raspberry Pi, in comparison, is “state of the art technology” with a high-performance microprocessor with “ARM” architecture of the kind found in the iPad and iPod, smart phones such as Android, iPhone and Blackberry, and other mobile devices.
Computer science student Tristan Schorn says that the new lab is “modern and relevant” for learning about mobile programming. “Our programs for this class are accessing the Raspberry Pi hardware directly. I’m finding this useful for learning how the hardware actually works,” Schorn says.