| Courses | Theory of Computing and Scientific Computing | Artificial Intelligence and Interactive Systems | Systems: Software and Hardware | Electrical Engineering | Special Topics Courses | Miscellaneous Courses |
EECS5311 3.0 Logic Programming This course discusses core concepts and recent advances in the area of logic programming. Topics include logical foundations of logic programming systems, PROLOG as a logic programming system, constraints and dependencies, the closed-world assumption, and the problem of sound negation. Other topics will include sequential versus parallel implementations, the problem of non-logical control primitives, optimizing backtracking, and applications to knowledge-based programming.
EECS5323 3.0 Computer Vision This course will introduce the basic concepts in Computer Vision. Primarily a survey of current computational methods, we will begin by examining methods for measuring visual data (image based operators, edge detection, feature extraction), and low-level processes for feature aggregation (optic flow, segmentation, correspondence). Finally, we will consider some issues in "high-level" vision systems.
EECS5324 3.0 An Introduction to Robotics This course will introduce concepts in Robotics. The course will begin with a study of the mechanics of manipulators and robot platforms. Trajectory and course planning, environmental layout and sensing will be discussed. Finally, high-level concerns will be introduced. The need for real-time response and dynamic-scene analysis will be covered, and recent developments in robotics systems from an Artificial Intelligence viewpoint will be discussed.
EECS5325 3.0 Signals & Systems An introduction to the mathematical background in signals and systems required for computer vision and robotics; signal and image processing: sampling, discrete Fourier transform, filtering; linear system theory; Kalman filtering; feedback.
EECS5326 3.0 Topics in Artificial Intelligence This course will be an in-depth treatment of one or more specific topics within the field of Artificial Intelligence.
EECS5327 3.0 Introduction to Machine Learning and Pattern Recognition Machine learning is the study of algorithms that learn how to perform a task from prior experience. This course introduces the student to machine learning concepts and techniques applied to pattern recognition problem in a diversity of application areas.
EECS5331 3.0 Advanced Topics in 3D Computer Graphics This course discusses advanced 3D computer graphics algorithms. Topics may include direct programming of graphics hardware via pixel and vertex shaders, real-time rendering, global illumination algorithms, advanced texture mapping and anti-aliasing, data visualization, etc. Real-time image generation (rendering) techniques and direct programming of graphics hardware via pixel and vertex shaders are technology that is increasingly
used in computer games. Furthermore, these are also often used for computationally intensive applications as graphics hardware has far surpassed the raw computational power of traditional CPU’s. Advanced texture mapping and anti-aliasing algorithms are used to create better quality images, that show less digital artefacts. Global illumination algorithms are used to generate images that are indistinguishable from real photos. Such images are used in the film industry, architecture, games, and lighting design.
EECS5351A 3.0 Human-Computer Interaction This course introduces the concepts and technology necessary to design, manage and implement interactive software. Students work in small groups and learn how to design user interfaces, how to realize them and how to evaluate the end result. Both design and evaluation are emphasized.
EECS5391 3.0 Simulation and Animation for Computer Games This course covers the basic principles and practices related to motion synthesis and motion control for animated objects, such as those that appear in films and computer games.
EECS6322 3.0 Neural Networks and Deep Learning This course covers the theory and practice of deep learning and neural networks. Topics covered include training methods and loss functions, automatic differentiation and backpropagation, network architectures for different learning problems, validation, model selection and software tools. Prerequisites: EECS 5327 or EECS 6327 or permission of instructor.
EECS6323 3.0 Advanced Topics in Computer Vision An advanced topics course in computer vision which covers selected topics in greater depth. Topics covered will vary from year to year depending on the interests of the class and instructor. Possible topics include: stereo vision, visual motion, computer audition, fast image processing algorithms, vision based mobile robots and active vision sensors, and object recognition. Prerequisites: CSE5323 3.0 Introduction to Computer Vision
EECS6324 3.0 From Control to Actuators A "robot building course", this course will follow the issues involved in building a robot or robotic system from control to actuators. This includes microcomputer control, actuator design, high-level software models, and sensor inputs. Prerequisites: CSE5324 3.0 Introduction to Robotics, previous experience in electronics would be an asset.
EECS6325 3.0 Mobile Robot Motion Planning The focus of this course is on robot motion planning in known and unknown environments. Both theoretical (computational-geometric) models, as well as practical case studies will be covered in the course.
EECS6326 3.0 Principles of Human Perception and Performance in Human-Computer Interaction This course considers the role of human perception in human-computer interaction particularly computer generated graphics/sound and immersive virtual reality. Fundamental findings from sensory physiology and perceptual psychophysics are presented in the context of interface and display design.
EECS6327 3.0 Probabilistic Models and Machine Learning Intelligent systems must make effective judgements in the face of uncertainty. This requires probabilistic models to represent complex relationships between random variables (learning) as well as algorithms that produce good estimates and decisions based on these models (inference). This course explores both probabilistic learning and inference, in a range of application areas.
EECS6328 3.0 Speech and Language Processing Introducing the latest technologies in speech and language processing, including speech recognition and understanding, key-word spotting, spoken language processing, speaker identification and verification, statistical machine translation, information retrieval, and other interesting topics. Prerequisites: CSE4451 3.0 or CSE4401 3.0.
EECS6329 3.0 Empirical Research Methods for Human-Computer Interaction This course examines advanced concepts and technologies for Human-Computer Interaction. Students will learn about advanced input and output devices (e.g., for mobile computing and/or Virtual Reality), about advanced design methods, how to implement effective interfaces, and how to perform rapid, effective iterative user tests.
EECS6330 3.0 Critical Technical Practise: Computer Accessibility and Assistive Technology This course examines issues of technological design in computer accessibility and computational forms of assistive technology (hardware and/or software). Students learn to critically reflect on the hidden assumptions, ideologies and values underlying the design of these technologies, and to analyse and to design them.
EECS6331 3.0 Advanced Image Synthesis This course concentrates on raster algorithms for image synthesis. Some of the topics may include visible surface algorithms, modelling, shading, global illumination, anti-aliasing, and texture mapping. Prerequisites: CSE5331 3.0 Introduction to Computer Graphics.
EECS6332 3.0 Statistical Visual Motion Analysis A seminar course that examines statistical approaches to visual motion analysis, including 3-D structure and motion estimation, optical flow, segmentation and tracking using tools like Maximum Likelihood Estimation, Maximum A Posteriori, Least Squares and Expectation Maximization.
EECS6333 3.0 Multiple View Image Understanding This course considers how multiple images of a scene, as captured by multiple stationary cameras, single moving cameras or their combination, can be used to recover information about the viewed scene (e.g., three-dimensional layout, camera and/or scene movement). Theoretical and practical issues of calibration, correspondence/matching and interpretation will be considered. Prerequisite: CSE5323 3.0 Introduction to Computer Vision or permission of the instructor.
EECS6334 3.0 Image Sensor Technology The design of practical vision systems requires an understanding of the sensors that generate the images and their characteristics and limitations. Single-chip cameras are now challenging existing camera technologies for applications where high integration, cost-effectiveness and/or on-chip signal processing are important. This course introduces the design of electronic camera systems, including CCDs, single-chip cameras and sensors for non-visible wavelengths. The topics covered will range from the general operating principles to the complete system performance. Prerequisite: CSE5323 3.0 Introduction to Computer Vision (recommended) or permission of the instructor.
EECS6335 3.0 Topics in Virtual Reality This course considers how to present to a user a compelling illusion of being in an alternate (virtual) reality. It considers how humans perceive visual, audio, haptic and other perceptual inputs, and how technology can be used to stimulate these sense appropriately to simulate some virtual environment. Prerequisite: CSE4471 3.0 Introduction to Virtual Reality or equivalent is recommended.
EECS6336 3.0 Computer Supported Collaborative Work This course examines advanced concepts and technologies in computer systems that support collabortive work. Students will learn how people collaborate, computer supported collaborative work, technologies for collaborative systems, user interfaces and evaluation techniques targeted at collaboration. Selected collaborative technologies will be covered in depth. These may include shared display groupware, video conferencing, telepresence systems, chat or e-mails systems.Prerequisite: None.
EECS6339 3.0 Introduction to Computational Linguistics Introduction to Computational Linguistics explores computational techniques for understanding, translating and producing natural language, and investigates the structure and meaning of sentences and connected discourse. Some applications are discussed, e.g., question answering, machine translation, text classification, information extraction and so on.
EECS6340 3.0 Embodied Intelligence This course is intended as a follow-on from a first course on Artificial Intelligence. Whereas such first courses focus on the important foundations of AI, such a Knowledge Representation or Reasoning, this course will examine how these separate foundational elements can be integrated into real systems. This will be accomplished by detailing some general overall concepts that form the basis of intelligent systems in the real world, and then presenting a number of in-depth cases studies of a variety of systems from several applications domains. The embodiment of intelligence may be in a physical system (such as a robot) or a software system (such as in game-playing) but in both cases, the goal is to interact with, and solve a problem in, the real world.
EECS6341 3.0 Computational Photography This course covers the area of "computational photography" which refers to a broad group of imaging and processing techniques that enhance or extend the capabilities of digital photography to produce new photographs that could not have been taken by a traditional camera. Computational photography methods are changing the way we capture, process, and interact with photographs.
EECS6351 3.0: Dynamic Systems A modern approach to the analysis and engineering applications of linear and nonlinear systems. Modeling and linearization of multi-input-- multi-output dynamic physical systems. State-variable and transfer function matrices. Emphasis on linear and matrix algebra. Numerical matrix algebra and computational issues in solving systems of linear algebraic equations, singular value decomposition, eigenvalue-eigenvector and least-squares problems. Analytical and numerical solutions of systems of differential and difference equations. Structural properties of linear dynamic physical systems, including controllability, observability and stability. Canonical realizations, linear state-variable feedback controller and asymptotic observer design. Design and computer applications to electronic circuits, control engineering, dynamics and signal processing.
EECS6352 3.0: Digital Signal Processing This course addresses the mathematics, applications and implementation of the digital signal processing algorithms widely used in areas such as multimedia telecommunications and speech and image processing. Topics include discrete-time signals and systems, discrete-time Fourier transforms and Z-transforms, discrete Fourier transforms and fast Fourier transforms, digital filter design and implementation, and multi-rate signal processing. The course will include introductory discussions of 2-dimensional signal processing, linear prediction, adaptive filtering, and selected application areas.
EECS6354 3.0 Digital Image Processing: Theory and Algorithms Fundamental image processing theories and algorithms. Signal representation using transforms, wavelets and frames is overviewed. Signal reconstruction methods using total variation, sparse coding and low-rank prior, based on convex optimization, are discussed. Applications include image compression, restoration and enhancement.
Prior background in digital signal processing (EECS 4452 or equivalent) and numerical linear algebra is strongly recommended.