Visualizing Inside Computers

karen-reid-small

Computers are seemingly used by everyone and almost everywhere. And yet, while the digital divide is growing progressively smaller, and there seems to be a rise in computer literacy, it’s still largely undeniable that most people (even the most technological savvy individuals) do not understand what really goes on inside a computer.

 Visualization, the process of representing abstract ideas as images, may be used as an aid to help understand the complexities of the computer, which is what University of Toronto Computer Science Professors Andrew Petersen, Angela Demke Brown, and Karen Reid attempted to do for undergraduate computer science students.

 Funded as an ITCDF project, Visualization Tools for Operating System Internals, had the goal of providing a visual picture of what was occurring inside a computer system, and helping students understand the control flow of a computer program through a simulator.img161

 A simulator meant that code could be inserted in between emulated instructions to allow for visualization.

At the outset, Brown developed a proof of concept for the project, writing a simple version of the simulator, but with the intention of turning the simulator into a tool that students in a third-year operating systems course could use in the classroom

She also had in mind that the simulator could be used by instructors during lectures to demonstrate what was occurring as a computer program was executing.

It then fell to a handful of undergraduate students, who were tasked with bringing the simulator to its next stage of evolution.  The ITCDF grant was used to pay the students that were involved in the project, and the students made significant progress.

However, while the project was promising, complications emerged during the project and the simulator was never fully developed to completion. The first reason for this was due to issues associated with software.

“You had to be able to install some software and you had to know exactly how to put all the pieces together to be able to run the visualization toolkit,” said Reid. “The average student wasn’t entirely capable [of doing this].”

Due to issues regarding resources, the software was at a state that could not be used by the average student. Weaker students had trouble in distinguishing between the right pieces of software, in some cases.

Another reason for the halt in progress of the project was the heavy workload for the professors, whom largely had other academic obligations to fulfil, and ultimately a shift in academic interests. For instance, at the time Reid was working on MarkUs, a web application used by the Department of Computer Science for submission of and grading student assignments.

As a result, the use of simulator was largely limited to demonstrations.

Yet, although the project has not been expanded upon since it began, Reid is still somewhat optimistic that a similar visualization tool to aid computer science students will emerge.

“It definitely influenced how we are teaching in the course,” said Reid. She added, “we’re still on the lookout for tools that will allow us to help students understand this stuff a little better … there isn’t much out and it’s pretty tough to find.”