See the undergraduate calendar for the name of the instructor and the exact times and locations of each course.
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.
314 (3) Computer Graphics
314 is the first course in computer graphics at UBC, and is the prerequisite for 424 and 426. Topics include the 3D graphics pipeline, transformations, projections, shading, hidden surface removal, and texture mapping. The coursework includes both mathematical written assignments and significant programming projects.
424 (3) Geometric Modelling
424 is an advanced undergraduate computer graphics course introducing students to the foundations of geometric modeling. The topics covered in the course include: 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; and practical applications of different modeling techniques.
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.
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 (3) Computer Graphics: Modeling
524 is a graduate level course on geometric modeling focusing on modern geometry representations, and in particular polygonal meshes. The course teaches data structures and algorithms for creating, manipulating, editing and analyzing digital (discrete) geometry models.
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.
533D (2-6) 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.
This course is for all CS students, not just those thinking about an HCI career. For our discipline to make computing technology that truly supports people, all involved must understand the challenges involved and why it's so important. This intense but rewarding team project course will stretch your skills and creativity in new directions. 344 satisfies the graduate PhD breadth requirement.
Beginning in 2010W1, a graduate version CPSC 544 is crosslisted with 344. 544 consists of 344 plus a 6 hr/term graduate seminar which gives a research perspective on emerging trends in the field. 544 should be taken by any graduate student wishing to do HCI-related research, as well as those who simply want to develop a better understanding of how to design usable and useful computing technology. A comprehensive CS background is not necessary to take 544. 544 meets the Computer Science Breadth requirement, and is required by the MAGIC HCI Specialization (for MSc students only).
This course builds directly on the design process learned in 344 and is typically taken by students looking for more in depth HCI knowledge. It covers underlying models of human-computer interaction, theory of and advanced methods for design and evaluation, and research frontiers. Similar to 344, there is a team project that allows students to work hands on through the material they've been taught.
532E (2-6) Visual Display Design
This course discusses (i) how knowledge of vision science can be applied to the design of advanced visual displays, and (ii) how knowledge of visual design can form the basis of investigations in vision science. Some applications to computer graphics (e.g., rendering and animation) are also discussed.
This project-based introduction to the creation of physical and multimodal human-computer interfaces is for students from CS, engineering and psychology. We cover the foundations of multimodal perception and attention, and human-system communication through the sense of touch via control of haptic and multimodal devices. Projects frequently result in publishable papers.
Topics in Human-Computer Interaction: Universal Usability, CSCW, and Personalization (Personalization) is being offered for the first time in 2010, Winter Term 2. It will be very similar in content and structure to past offerings of 544 (now crosslisted with 344), but somewhat more advanced. This should be taken by graduate students who have taken at least one HCI course before.
533C (2-6) Information Visualization
Computer-based visualization systems provide visual representations of datasets intended to help people carry out some task more effectively. This graduate course is an introduction to the process, principles and techniques of designing and evaluating such systems. This interdisciplinary course is designed to be accessible to students outside of computer science. Previous coursework in human-computer interaction, computer graphics, or cognitive psychology is helpful but not required.
EECE544 (3) Medical Imaging
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.
533P (3) Sensorimotor Computation
Provides a self-contained introduction to computational models of how the central nervous system, muscles, and sensors work together to produce human movement. The course describes the physiology of sensorimotor systems and develops computational models of such systems, with applications to computer animation and robotic
590 (3) 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.
- The EECE Image Processing Lab offers several courses in digital signal processing
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.