The information presented here is out of date and is no longer being maintained. Please visit our current website at for the most up-to-date information.

Imager Computer Science UBC


Undergraduate Level

See the undergraduate calendar for the name of the instructor and the exact times and locations of each course.

314 (3) Computer Graphics

Human vision and colour; modelling; geometric transformations; algorithms for 2-D and 3-D graphics; hardware and system architectures; shading and lighting; animation.

344 (3) Introduction to Human Computer Interaction Methods

Basic tools and techniques, teaching a systematic approach to interface design, task analysis, analytic and empirical evaluation methods.

424 (3) Geometric Modelling

Topics: Introduction to curves and surfaces, in particular splines, subdivision surfaces, polygonal meshes. Principles and mathematical foundations for representing complex geometry for computer graphics and numerical simulations. Practical applications of different modeling techniques.

426 (3) Computer Animation

Motion in computer graphics for characters and their environments. Keyframing, inverse kinematics, particle systems, rigid body dynamics, contact and collision, controller-based active motion, motion capture.

444 (3) User Interface Design

User-centered design, analysis, prototyping, and evaluation of interactive systems based on formal models of human behaviour and software development methodology.

Graduate Level

See the graduate calendar for the name of the instructor and the exact times and locations of each course.Some courses may not be offered every year.

514 (3) Advanced Computer Graphics

The course covers a range of advanced rendering topics, including Physics of light (reflection models; radiometry and photometry), ray-tracing and global illumination (Monte Carlo ray-tracing; Radiosity), sampling and reconstruction (sampling theory; regular, random, and quasi-random sampling), sensing for graphics (geometry acquisition; measuring reflection models and illumination), and display devices. If we have time, we might talk about realistic hardware rendering methods.

524 Digital Geometry

Three-dimensional geometric models are the base data for applications in computer graphics, computer aided design, visualization, multimedia, and other related fields. This course will focus on Digital Geometry Processing (DGP), which addresses computerized modeling of discrete (digital) geometry, namely polygonal meshes. Digital geometric models are the representation of choice in computer graphics and many other modeling fields. The course will focus on basic algorithms to edit, create and manipulate digital geometry models.

526 Computer Animation

This course is about motion: how humans, animals, and robots can plan motions and can control them; how artists can go about creating new motions; and how we perceive motions.

532E Perceptual Issues in Visual Interface Design

This course discusses and applies relevant work in perceptual psychology to the design of advanced visual interfaces and information visualization systems. Some applications to computer graphics (e.g., rendering and animation) are also covered. The focus of the course is on design constraints and guidelines rather than implementation. Basic methodology (design and analysis of experiments) is also introduced.

533C Information Visualization

Computer-based information visualization, or "infovis", centers around helping people explore or explain data by designing interactive software that exploits the properties of the human perceptual system. The central design challenge in infovis is designing a cognitively useful spatial mapping of a dataset that is not inherently spatial. There are many possible visual encodings, only a fraction of which are helpful for a given task. It draws on the intellectual history of several traditions, including computer graphics, human-computer interaction, cognitive psychology, semiotics, graphic design, statistical graphics, cartography, and art. The synthesis of relevant ideas from these fields with new methodologies and techniques made possible by interactive computation are critical for helping people keep pace with the torrents of data confronting them. One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed.

533D Animation Physics

This course gives a practical introduction to the use of numerical simulation for animating natural phenomena, such as the motion and interaction of rigid bodies, cloth, smoke, water, etc. The emphasis is on passive, uncontrolled motion (as opposed to human locomotion for example) but artistic control will be mentioned.

543 Physical User Interface Design

This is a graduate-level introduction to the inception, creation and evaluation of physical and multimodal human-computer interfaces, emphasizing control and/or display of virtual environments through the sense of touch. It will begin with lectures, assignments, reading and discussion of current literature, and culminate in a team design or evaluation project of the student's choice. There is a special emphasis on "embedded" applications, i.e. interfaces that don't sit on a desk.

Projects may employ available active-haptic display hardware ("active" means it can generate force) and/or prototyping of passive physical interfaces; they should focus on creative crafting of the interface to suit the application.

The course is designed specifically for students from a variety of disciplines and backgrounds, in particular CS, Engineering and Psychology. Project teams will be mixed among disciplines, and students tend to learn from each other.

544 (2–6) Human-Computer Interaction

Overview of HCI - historical and intellectual perspective; emergence of graphical user interfaces; case studies. The Process of developing interactive systems - design and evaluation; considering work contexts in design; software development environments; development tools. Interacting with computers - vision, graphics design, and visual display; touch, gesture, and marking; speech, language, and audition. Psychology and human factors - human information processing; design ing to fit human capabilities. Research frontiers in HCI - groupware and computer-supported cooperative work; customizable systems and intelligent agents; hypertext and multimedia; virtual reality and cyberspace.

590 Research Methods in Computer Science

An introduction to methods used in computer science research. Topics include techniques and conventions in research methods, evaluation approaches, and presentation of results.

Other graduate courses

EECE 596 Human Interface Technologies

This graduate level course presents important developments in human interface technologies. The course begins with an overview of human sensation, perception, and kinetics. The remainder of the course is divided between a discussion of input technologies and output technologies. First, we consider various developments in input technologies. Various input devices and metaphors are studied along with methods for evaluating how successful they are. Second, developments in output technologies are studied. In addition to the specific technologies for various display techniques, emphasis is placed on the evaluation of the technologies as well as the interactions with various input devices. The course project involves either the creation of a novel input device, a novel output device, a novel interaction technique or the evaluation of a current device.

The course is designed specifically for students from a variety of disciplines and backgrounds, in particular CS, Engineering, Psychology and Education. Project teams are generally mixed among disciplines, and students tend to learn from each other.

EECE571Y: Medical Imaging

To be renamed as EECE546
Physical principles of ultrasound, magnetic resonance, computed tomography and X-ray projection imaging. Methods of feature detection, segmentation, registration and visualization of 2D and 3D images. Applications in diagnostics, therapeutics and interventions.