Computing, complexity and the human factor
An interdisciplinary team studies the interplay of technology and human behaviour
Rapid growth in computing technologies challenges our ability to visualize and navigate large bodies of information. But Dr. Margaret-Anne Storey (computer science) and her team in UVic's computer-human interaction and software engineering lab (CHISEL) are developing tools to help.
Computer programs have become increasingly complex, and even everyday word processors commonly require millions of lines of code to provide instructions for how a program accomplishes its tasks. As users of these programs, we can be dazed by the range and complexity of their features. And the challenge is even greater for those who create these programs—software engineers who design their structure and programmers who write the code.
Faced with tasks of such astounding complexity, humans must rely on thinking aids to help them understand and mentally "map" the intricate conceptual relationships among large masses of information.
As director of CHISEL, Storey leads an interdisciplinary team of researchers and graduate students developing software solutions to help people manipulate large bodies of information and solve complex tasks.
At the heart of their success is an approach that stresses the importance of human factors as well as the technology. "We're trying to understand the interplay of technology, human behaviour, cognitive ability and social structure," says Storey. "This enables us to design and improve technologies that will increase the efﬁciency with which people can access, process and manipulate information."
Among the current projects, PhD student Ian Bull is working on the development of tools to provide programmers with visual representations of the structure of a program linked to textual views of its code. Another study by PhD student Mechthild Maczewski focuses on how youth are affected socially and psychologically by the culture of technological connectedness fostered by the Internet, cell phones and other technologies.
The team is also working on GILD (Groupware-enabled Integrated Learning and Development), a tool to aid in teaching and learning Java, a programming language. In developing GILD, Storey addresses the challenge of teaching students how to program and combines the two aspects of her work that she enjoys the most. "I'm here because I love research, and I love to teach. GILD allows me to do both."
One obstacle to students and instructors when programming courses is the lack of integration of material from lectures, textbooks, overheads, drawing
and Web-based tools, in addition to the speciﬁc tools and methods of Java programming. "These resources," says Storey, "are scattered and difﬁcult to update, share, and interconnect with other relevant information."
GILD reduces this complexity, allowing both parties to interact with course material and assignments, support material and each other without having to switch between resources.
"The power of GILD is its ability to smooth the progress of programming and help students and teachers more easily identify potential problem areas," says Storey."Information management of any kind is a human activity done by people for the beneﬁt of other people."
By placing an emphasis on the human factor—the sociology and psychology of human-computer
interactions—Storey hopes to continue providing solutions that help us meet the technological challenges and complexities of the future.
This article was written by Melissa Doyle, a biochemistry student, as a participant in the UVic SPARK program (Students Promoting Awareness of Research Knowledge), supported by the vice president academic and the vice president research.