Courses

Current course schedule

Summer 2020

EECS 5101 Advanced Data Structures
The course discusses advanced data structures: heaps, balanced binary search trees, hashing tables, red--black trees, B--trees and their variants, structures for disjoint sets, binomial heaps, Fibonacci heaps, finger trees, persistent data structures, etc. When feasible, a mathematical analysis of these structures will be presented, with an emphasis on average case analysis and amortized analysis. If time permits, some lower bound techniques may be discussed, as well as NP-completeness proof techniques and approximation algorithms.

Instructor Day Start time Duration Location Group
Eric Ruppert TR 11:30 90 TBD 1

Fall 2020

EECS 5115 Computational Complexity
Study of time and space and other computational resources required for efficient solution of classes of computational problems, including P and NP, PSPACE. Proof techniques including diagonalization, simulation, reduction and completeness. Models of computation, nondeterminism, randomness. Intractability. Prerequisite: LE/EECS 3101 3.0 or equivalent..

Instructor Day Start time Duration Location Group
Eric Ruppert TR 11:30 90 Online 1

EECS 5323 Computer Vision
This course introduces the basic concepts in computer vision. Primarily a survey of current computational methods, we 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 consider some issues in "high-level" vision by examining current high-level vision systems.

Instructor Day Start time Duration Location Group
James Elder MW 11:30 90 Online 2
MW 16:00 180 (Lab) Online

EECS 5327 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.

Instructor Day Start time Duration Location Group
Ruth Urner TR 10:00 90 Online 2

EECS 5351 Human-Computer Interaction
This course introduces the concepts and technologu 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.

Instructor Day Start time Duration Location Group
Scott MacKenzie TR 14:30 90 Online 2

EECS 5414 Information Networks Information networks are effective representations of pairwise relationships between objects. Examples include technological networks (e.g., the Web), social networks (e.g., Facebook), biological networks (e.g., protein-to-protein interactions), and more. Analysis of information networks is an emerging discipline of immense importance. This course provides students with theoretical knowledge and practical experience of the field by covering models and algorithms of information networks.

Instructor Day Start time Duration Location Group
Manos Papagelis T 17:30 180 Online 3

EECS 5501 Computer Architecture
This course presents the core concepts of computer architecture and design ideas embodied in many machines and emphasizes a quantitative approach to cost/performance tradeoffs. This course concentratres on uniprocessor systems. A few machines are studies to illustrate how these concepts are implemented; how various tradeoffs that exit among design choices are treated; and how good designs make efficient use of technology. Future trends in computer architecture are also discussed.

Instructor Day Start time Duration Location Group
Sebastian Magierowski MW 10:00 90 Online 3

EECS 6127 Machine Learning Theory
This course takes a foundational perspective on machine learning and covers some of its underlying mathematical principles. Topics range from well-established results in learning theory to current research challenges. We start with introducing a formal framework, and then introduce and analyze learning methods, such as Nearest Neighbors, Boosting, SVMs and Neural Networks. Finally, students present and discuss recent research papers.

Instructor Day Start time Duration Location Group
Ruth Urner TR 13:00 90 Online 1

EECS 6327 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.

Instructor Day Start time Duration Location Group
Hui Jiang MW 13:00 90 Online 2

EECS 6329 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.

Instructor Day Start time Duration Location Group
Scott MacKenzie TR 11:30 90 Online 2

ECS 6412 Data Mining

This course introduces fundamental concepts of data mining. It presents various data mining technologies, algorithms and applications. Topics include association rule mining, classification models, sequential pattern mining and clustering.

Instructor Day Start time Duration Location Group
Aijun An MW 10:00 90 Online 3

EECS 6421 Advanced Database Systems
This course provides an introduction to, and an in-depth study on, several new developments in database systems and intelligent information systems. Topics include: internet databases, data warehousing and OLAP, object-relational, object-oriented, and deductive databases.

Instructor Day Start time Duration Location Group
Jarek Gryz
MW 14:30 90 Online 3

EECS 6444 Mining Software Engineering Data
Software engineering data (such as source code repositories, execution logs, performance counters, developer mailing lists and bug databases) contains a wealth of information about a project's status and history. Applying data mining techniques on such data, researchers can gain empirically based understanding of software development practices, and practitioners can better manage, maintain and evolve complex software projects.

Instructor Day Start time Duration Location Group
Song Wang
TR 10:00 90 Online 3

PHIL 5340 Ethics and Societal Implications of Artificial Intelligence - for AI specialization students
This course is intended for students with professional interest in the social and ethical implications of AI. Topics include theoretical issues (could AI ever have moral rights?), practical issues (algorithmic bias, labour automation, data privacy), and professional issues (tech industry social responsibility).

Instructor Day Start time Duration Location Group
TBD
F 8:30 180 Online N/A

Winter 2021

EECS 5324 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.

Instructor Day Start time Duration Location Group
Michael Jenkin WF 10:00 90 SC 222 2
R 9:30 (section 1)
11:30 (section 2)
120 (Lab) LAS 1004

EECS 5326 Artificial Intelligence
This course will be an in-depth treatment of one or more specific topics within the field of Artificial Intelligence.

Instructor Day Start time Duration Location Group
Yves Lesperance TR 10:00 90 LSB 107 2

EECS 5327 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.

Instructor Day Start time Duration Location Group
Hui Jiang TR 13:00 90 MC 111 2

EECS 5431 Mobile Communication
This course provides an overview of the latest technology, developments and trends in wireless mobile communications, and addresses the impact of wireless transmission and user mobility on the design and management of wireless mobile systems.

Instructor Day Start time Duration Location Group
Ping Wang W 14:30 180 BRG 211 3
F 11:30 120 (Lab) LAS 1002/1004

EECS 5443 Mobile User Interfaces
This course teaches the design and implementation of user interfaces for touchscreen phones and tablet computers. Students develop user interfaces that include touch, multi-touch, vibration, device motion, position, and orientation, environment sensing, and video and audio capture. Lab exercises emphasise these topics in a practical manner.

Instructor Day Start time Duration Location Group
Scott MacKenzie TR 14:30 90 PSE 321 3
R 17:30 120 (Lab) LAS 1002/1004

EECS 5612 Digital Very Large Scale Integration
A course on modern aspects of VLSI CMOS chips. Key elements of complex digital system design are presented including design automation, nanoscale MOS fundamentals, CMOS combinational and sequential logic design, datapath and control system design, memories, testing, packaging, I/O, scalability, reliability, and IC design economics.

Instructor Day Start time Duration Location Group
Sebastian Magierowski TR 13:00 90 TBD N/A
T 14:30 180 (Lab) BRG 334

EECS 5614 Electro-Optics
This course builds on the foundations of electromagnetic theory and wave propagation to teach fundamentals of optical propagation in solids and light-matter interaction. Topics include light propagation in crystals & optical fibers, polarization, semiconductors, light generation & detection, lasing, optical modulation and nonlinear optics. Three-hour weekly lab.

Instructor Day Start time Duration Location Group
Simone Pisana TR 10:00 90 ACW 307 N/A
M 16:00 180 (Lab) BRG 321

EECS 5640 Medical Imaging Techniques: Principles and Applications
This course introduces principles of medical imaging, focusing on major imaging modalities including ultrasound, X-ray radiography, computed tomography, magnetic resonance imaging, and nuclear medicine imaging. The course covers the physics and engineering aspects of how various imaging signals are acquired and processed in order to form medically useful images. The course also covers essentials of medical image analysis.

Instructor Day Start time Duration Location Group
Ali Sadeghi-Naini TR 11:30 90 MC 216 N/A
F 16:30 180 (Lab) BRG 334

EECS 6127 Machine Learning Theory
This course takes a foundational perspective on machine learning and covers some of its underlying mathematical principles. Topics range from well-established results in learning theory to current research challenges. We start with introducing a formal framework, and then introduce and analyze learning methods, such as Nearest Neighbors, Boosting, SVMs and Neural Networks. Finally, students present and discuss recent research papers.

Instructor Day Start time Duration Location Group
TBD MW 10:00 90 SC 203 1

EECS 6221 Statistical Signal Processing Theory
This course introduces theory and algorithms of stochastic signals and their applications to the real world. Discrete random variables, random vectors and stochastic processes are reviewed followed by signal processing methods used for detection, estimation and optimal filtering.

Instructor Day Start time Duration Location Group
Hina Tabassum MW 11:30 90 SC 203 1

EECS 6322 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.

Instructor Day Start time Duration Location Group
Marcus Brubaker MW 13:00 90 ACE 012 2

EECS 6323 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: EECS5323 3.0 Introduction to Computer Vision.

Instructor Day Start time Duration Location Group
John Tsotsos MW 11:30 90 SC 219 2

EECS 6414 Data Analytics and Visualization

Data analytics and visualization is an emerging discipline of immense importance to any data-driven organization. This is a project-focused course that provides students with knowledge on tools for data mining and visualization and practical experience working with data mining and machine learning algorithms for analysis of very large amounts of data. It also focuses on methods and models for efficient communication of data results through data visualization.

Instructor Day Start time Duration Location Group
Manos Papagelis T 16:00 180 HNE 206 3

EECS 6446 Analytical Performance Modeling and Design of Computing Systems

In distributed systems, one can choose from a variety of load balancing policies, a wide range of migration policies, capacity provisioning schemes, power management policies, etc. Ideally, one would like to have answers to these questions before investing the time and money to build a system. This course introduces students to stochastic and queuing modeling to answer the above questions.

Instructor Day Start time Duration Location Group
Hamzeh Khazaei W 14:30 180 BC 228 3

EECS 6602 Printed Electronics
Printed electronics is a novel microfabrication technology that promises to fabricate low-cost microelectronics on large-area, flexible substrates such as plastic or paper. Potential applications include RFID tags, bendable displays or wearable sensors. Students learn the fundamentals and recent developments in the field. Topics covered include printable materials, printing physics, various printing methods and printed devices. Prerequisite: EECS 3610 or equivalent.

Instructor Day Start time Duration Location Group
Gerd Grau TR 16:00 90 SC 219 N/A

EECS 6613 Advanced Analog Integrated Circuit Design
This course presents principles of advanced analog and mixed-signal integrated circuits and discusses hand analysis, simulation, and characterization techniques for them. It includes subjects such as metal-oxide-semiconductor (MOS) transistor models for analog design, principles of random electronic noise, low-noise amplifier design, amplifiers stability and settling time, comparators, offset cancellation, wide-swing current references, bandgap reference, sampling circuits, and analog scaling.

Instructor Day Start time Duration Location Group
Hossein Kassiri MW 14:30 90 Online N/A

EECS 6701 High Frequency Power Electric Converters
This course discusses the fundamentals of loss-less switching techniques in high frequency power converters: zero-voltage switching and zero-current switching. The course then focuses on various resonant converter topologies and soft-switching converters with auxiliary storage elements. The course then discusses various control techniques used in high frequency power converters. Special emphasis is placed on the design techniques using practical examples.

Instructor Day Start time Duration Location Group
John Lam
TR 14:30 90 Online N/A

EECS 6706 High Voltage Engineering
This course covers the fundamentals of high-voltage engineering and the associated phenomena. The methods for generation and measurements of high voltage ac, dc, and impulse voltages are presented. The high-voltage electromagnetic fields and the impacts on the insulation system design are also described. The practical tests for insulation performance evaluation and some applications of high-voltage engineering are discussed.

Instructor Day Start time Duration Location Group
Afshin Rezaei-Zare R 10:00 180 SC 219 N/A

PHIL 5340 Ethics and Societal Implications of Artificial Intelligence - for AI specialization students
This course is intended for students with professional interest in the social and ethical implications of AI. Topics include theoretical issues (could AI ever have moral rights?), practical issues (algorithmic bias, labour automation, data privacy), and professional issues (tech industry social responsibility).

Instructor Day Start time Duration Location Group
TBD R 14:30 180 ACW 307 -

Listing of all EECS graduate courses

TyPE Name
Group 1 Theory of Computing & Scientific Computing
Group 2 Artificial Intelligence & Interactive Systems
Group 3 Systems: Hardware & Software
- Electrical Engineering
- Special Topics Courses
- Miscellaneous Courses

Directed Reading Course

A directed reading course is suited for students with special interests. Students will select areas of study in consultation with their supervisor. These areas should not significantly overlap with material covered in courses currently offered at York University and undergraduate or graduate courses taken by the student either at York University or elsewhere. Directed reading courses require a completed directed reading form. Students should return the completed form to the graduate program assistant by the 10th day from the start of the term. A printout of an email confirming approval can be used in lieu of a signature on the form.

Research Project Course

The Electrical and Computer Engineering research project course (EECS 6400) spans two terms. This course provides an introduction to research methods and methodology in Electrical and Computer Engineering. Under the direction of the Electrical and Computer Engineering research project committee, students engage in supervised research under one or two members of the graduate program. The topic of the project must be distinct from any assignments in any of the other courses and must also be distinct from the thesis. The research project course requires a completed project proposal form, which needs to be approved by the supervisor(s) and the chair of Electrical and Computer Engineering research project committee. Completed forms should be returned to the graduate program assistant. A printout of an email confirming approval can be used in lieu of a signature on the form.

Course Selection

Students are required to complete the course selection form in consultation with their supervisor. Completed forms should be returned to the graduate program assistant.

Courses in Another Graduate Program

Students may request to take courses offered by other graduate programs at York University. Such a course requires a completed request form, which needs to be approved by the course instructor, the graduate program director of the program offering the course and the graduate program director. Completed forms should be returned to the graduate program assistant. A printout of an email confirming approval can be used in lieu of a signature on the form.

Courses at Another Ontario University

Students may request to take a course offered at another university in Ontario. Students are required to complete the Ontario visiting graduate student application form. Completed forms should be returned to the graduate program assistant. Only if all the conditions listed on the second page of the form are satisfied, will the graduate program director approve the request. More information can be found at the website of the Faculty of Graduate Studies.