Research Areas

Computing Science covers a very wide range of topics. These research areas are very broad categories aimed at pointing you in a general direction according to your interests. Because of the interdisciplinary nature of CS, many of our research groups will fall under more than one research area.

Advanced Man-Machine Interfaces

Advanced man-machine interfaces research investigates interactions between humans and machines in natural and artificial environments.

Virtualized reality

Research Profile: Virtualized Reality
Step into the Viz Room at the U of A, and you are transported out of this world. Considering how fun it can be, it is easy to assume that virtual reality is strictly a fantasy world for playing games. While this is a perfectly valid use, it is far from the only one. Virtual reality can be used for virtually anything.


Algorithmics research identifies problems, categorizes the problem according to its complexity and searches for an efficient algorithm.

Artificial Intelligence

Artificial intelligence research involves both basic and applied research, leading to the development of computational theories of intelligence.

Natural language processingResearch Profile: Computational Linguistics / Natural Language Processing
Our capacity to change language, and to understand the changes made by others, has resulted in thousands of distinct languages developing over the course of human history. And now most of these languages are dying.


Bioinformatics research involves the application of computing science techniques to solve problems in biological and medical science.

HIV ResearchResearch Profile: HIV Research
Scientists would do better at keeping up with HIV if they had a way to identify and analyze strains quickly and accurately. The U of A bioinformatics research group uses computing science to tackle problems like this one, related to biology and medical science.

Communication Networks

Communication networks research focuses on data communication.

Research Profile: Cluster-Based Routers
But in just a decade, the Internet has upgraded from tortoise to hare. It’s much faster and far more capable of handling immense volumes of data and complex tasks like video on demand and immersive multi-player games. But there’s still room to improve.

Computer Games

Computer games research produces high-performance, real-time programs for strategic game-playing.

ScriptEase Research Profile: ScriptEase
ScriptEase enables non-programmers to quickly write and program a new NWN adventure by selecting and altering four types of patterns: encounter patterns, behaviour patterns, plot patterns, and dialogue patterns.

Computer Graphics

Computer graphics research ranges from investigation of algorithm complexity to the design and implementation of systems for algorithms.

Camera array Research Profile: The U of A's Camera Array
Roving-camera shots from The Matrix, the 1999 hit movie, were created with the help of a camera array, a system of cameras used to simultaneously capture a scene from different angles. The next revolutionary technique could come from the U of A, says Herb Yang, professor of computing science.

Computer Vision and Multimedia Communications

Computer vision and multimedia communications research includes 3D multimedia representations for efficient online visualization.

Online education Research Profile: Online Multimedia Education
The multimedia aspect of the team’s work is a key one. “Our lab is multimedia, so we make use of video, audio, image, animation, and 3D objects,” says Cheng. “Any media that can help the students to improve their performance, we try to incorporate.”

Database Systems

Database systems research includes the organization and storage of data, information retrieval, and data management.

Wireless sensors Research Profile: Wireless Sensors
Data about where and when things occur is called spatio-temporal data. In addition to the cell phone, another plentiful producer of spatio-temporal data is the wireless sensor. In the next decade or so, it’s likely that our daily lives will be enmeshed by wireless sensor networks.

Machine Learning

Machine learning provides tools and technologies for finding significant patterns in data. It is most appropriate in information processing situations where training data (such as a database of case studies) is available and it is difficult (or not cost effective) to "engineer in" the solution.

Graduate students may also be interested in a graduate specialization in Statistical Machine Learning (a joint program with Mathematics and Statistical Sciences).

Brain Tumour Analysis ProjectResearch Profile: Brain Tumour Analysis Project
The BTAP team has created a computer program that can detect brain tumours all by itself, without the help of humans. The program, which is called an automated segmentation program (ASP), is based on a learning algorithm that has learned how to find tumours.

Reinforcement Learning

Reinforcement learning research looks to remove some of the limitations on its widespread application and develop a model of intelligence that could approach human abilities.


Robotics research involves collective robotics, visual robot navigation, visual servoing,predictive display for tele-robots and mobile manipulation.

Robot navigation Research Profile: Robot Navigation
Knowing where you are might seem ridiculously obvious, but for a robot, it isn’t so straightforward. Robots don’t have our inherent ability to instantaneously analyze our surroundings and know where we are in the context of these surroundings. In order to localize itself (to know where it is), a robot needs a map of sorts.

Software Engineering

Software engineering research investigates tools, methods, theories and techniques to support the development of software.

Blogs and wikis Research Profile: Blogs and Wikis
Researchers are interested in how web-based software can serve the online crowd better. So, they’re developing smarter systems for organizing the unwieldy webs that wikis and blogs can become when they grow large.

Software Systems

Software systems research designs and develops transparent and efficient software systems.

The Trellis ProjectResearch Profile: The Trellis Project
Grid computing is a contemporary approach for linking computers together to share computing power, data, and access to networks. The goal is for the computers to function together so seamlessly that you could consider them a virtual supercomputer.