COURSES OVERVIEW

Undergraduate Courses:

COMP 371  Computer Graphics
Introduction to computer graphics and graphics hardware. Introduction to graphics API and graphics systems architecture. Mathematics of 2D and 3D transformations, and 2D and 3D viewing. Colour and basic rendering algorithms. Visual realism and visibility. Illumination and shading, global illumination techniques, and textures. Introduction to curves and surfaces, and 3D object modelling. Introduction to computer animation. Project. Lectures: three hours per week. Laboratory: two hours per week.
COMP 376   Introduction to Game Development 
Introduction to design and implementation aspects of computer gaming: basic game design, storytelling and narratives, and game genres. Virtual environments, 2D and 3D game engines, and game development tools. Character development, gameplay strategies, level design in games, and user interfaces. Architecture of game consoles, analog and digital controllers, and the incorporation of graphics, sound, and music in game implementations. Project. Lectures: three hours per week. Laboratory: two hours per week.
COMP 476  Advanced Game Development
Introduction to advanced aspects of computer games. Game engine design. Artificial Intelligence (AI): non‑player character movement, coordinated movement, pathfinding, world representations; decision making; tactical AI, strategic AI, learning in games. Physics‑based techniques: collision detection and response. Networked gaming: multi‑player games, networking and distributed game design, mobile gaming. Improving realism: cut scenes, 3D sound. Project. Lectures: three hours per week. Laboratory: two hours per week.
COMP 6711 Computational Geometry
Efficient algorithms and data structures to solve geometric problems. Problems discussed include convex hulls, line intersections, polygon triangulation, point location, range searching, Voronoi diagrams, Delaunay triangulations, interval trees and segment trees, arrangements, robot motion planning, binary space partitions, quadtrees, and visitility. Algorithmic methods include plane sweep, incremental insertion, randomization, divide and conquer. Emphasis will be given to computation and complexity, with applications in computer graphics, computer aided design, geographic information systems, networks, mesh generation, databases, and robot motion planning. A project.
COMP 477 Animation for Computer Games
Introduction to the algorithms, data structures, and techniques used in modelling and rendering dynamic scenes. Topics include principles of traditional animation, production pipeline, animation hardware and software, orientation representation and interpolation, modelling physical and articulated objects, forward and inverse kinematics, motion control and capture, key‑frame, procedural, and behavioural animation, camera animation, scripting system, and free‑form deformation. Project. Lectures: three hours per week. Laboratory: two hours per week.

Graduate Courses:

COMP 6311  Animation for Computer Games
Introduction to the algorithms, data structures, and techniques used in modelling and rendering dynamic scenes. Topics include principles of traditional animation, production pipeline, animation hardware and software, orientation representation and interpolation, modelling physical and articulated objects, forward and inverse kinematics, motion control and capture, key‑frame, procedural, and behavioural animation, camera animation, scripting system, and free‑form deformation. Project. Lectures: three hours per week. Laboratory: two hours per week.

COMP 691F  Digital Geometry & Modeling

In the last decade, digital geometry became a ubiquitous data type used in a variety of fields from computer games and special effects to medical imaging, engineering and architecture. COMP 691F is a graduate graphics course that focuses on digital geometric processing and modeling.

The course provides a practical understanding and familiarity with the fundamental data structures and algorithms of digital geometric processing as well as the latest research in the field. This course is a critical asset for programmers and software engineers particularly for careers in the gaming industry, medical, engineering, architecture to name a few. This course will also provide a solid basis for performing research in these fields. This is a project-oriented course that will allow the student to use the latest graphics tools and libraries and apply them, as part of a course project, to his/her own geometric flavored research problem.

The course will be offered Tu,Th 1:15PM – 2:30PM in H562. Pizza and refreshments will be provided in the first class.

COMP 6761  Advanced 3D Graphics for Game Programming 
Fundamental algorithms, techniques, and software engineering principles for 3D graphics. Introduction to real-time graphics application architecture; review of basic 3D concepts of modeling, viewing, and rendering. 3D graphics functions, pipeline, and performance. Hierarchical 3D graphics. Algorithms for occlusion culling, collision detection, photorealism, shadows, and textures. Current trends and state-of-the-art graphics and physics algorithms. Laboratory: Two hours per week.