Courses

Current course schedule

Fall 2021

EECS 5111 Automata, Computability and Complexity
This course is intended to give students a detailed understanding of the basic concepts of abstract machine structure, information flow, computability, and complexity. The emphasis will be on appreciating the significance of these ideas and the formal techniques used to establish their properties. Topics chosen for study include: models of finite and infinite automata, the limits to computation, and the measurement of the intrinsic difficulty of computational problems.

Instructor Day Start time Duration Location Group
George Tourlakis MW 8:30 90 Online 1

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

Instructor Day Start time Duration Location Group
Richard Wildes MW 11:30 90 Online 2
M 16:00 120 (Lab1)
R 12:00 120 (Lab2)

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
Marcus Brubaker TR 10:00 90 Online 2

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

Instructor Day Start time Duration Location Group
Scott MacKenzie TR 13:00 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 M 18:00 180 Online 3

EECS 5443 Mobile User Interfaces (tentative)
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
TBD MW 10:00 90 Online 3
R 14:30 120 (Lab1)
W 14:30 120 (Lab2)

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 concentrates 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 5611 Analog Integrated Circuit Design
This course presents analog circuit principles for the analysis and design of high-performance circuits in modern technologies. Its techniques enable the realization of wide-band amplifiers, low-noise amplifiers, operational amplifiers, and feedback amplifiers. Advanced computer simulation, and physical layout are presented. Integrated with the undergraduate course LE/EECS 4611 3.00.

Instructor Day Start time Duration Location Group
Amir Sodagar MW 13:00 90 Online N/A
W 14:30 180 (Lab)

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 MW 13:00 90 Online 1

EECS 6222 Coding and Information Theory
This course introduces students to fundamentals of information theory, as well as methods for achieving information-theoretic results using source codes and channel codes. Students will learn Shannon's source coding and channel coding theorems, as well as the mathematical machinery required to prove these and other information theoretic results. Students will also be exposed to source coding techniques, as well as channel coding techniques for state-of-the-art systems. Advanced topics such as multiterminal (Slepian-Wolf) source coding and rateless codes will also be covered, time permitting.

Instructor Day Start time Duration Location Group
Andrew Eckford TR 16:00 90 This course or a portion of this course will meet in person - Location TBD 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 TR 13:00 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 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
Jack Jiang TR 11:30 90 Online 3

EECS 6606 Low Power ASIC Design
This course introduces several important concepts and techniques in low power ASIC design. It covers VSLI design methodology, ASIC design flow, low power digital circuit design principles, timing closure in ASIC, power analysis, and power optimization. Student will have the opportunities to perform circuit design tasks using the state-of-the-art EDA tools. The concepts are enhanced through readings and projects.

Instructor Day Start time Duration Location Group
Peter Lian W 16:00 180 Online 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 This course or a portion of this course will meet in person - Location TBD N/A

Winter 2022

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 TR 8:30 90 In person - Location TBD 2
R 10:00 120 (Lab1)
F 9:30 120 (Lab2)

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 In person - Location TBD 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
Ruth Urner TR 13:00 90 In person - Location TBD 2

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

Instructor Day Start time Duration Location Group
Petros Faloutsos TR 17:30 120 In person - Location TBD 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
U.T. Nguyen R 14:30 180 In person - Location TBD 3
F 11:30 120 (Lab)

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 In person - Location TBD 3
R 17:30 120 (Lab1)
F 15:30 120 (Lab2)

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 In person - Location TBD N/A

EECS 6127 Machine Learning Theory (tentative)
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 In person - Location TBD 1

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

Instructor Day Start time Duration Location Group
Gene Cheung MW 13:00 90 In person - Location TBD 1

EECS 63XX Privacy in Sociotechnical Systems (tentative)
Course description forthcoming.

Instructor Day Start time Duration Location Group
Yan Shvartzshnaider MW 14:30 90 In person - Location TBD 2

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
Kosta Derpanis TR 16:00 90 In person - Location TBD 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 In person - Location TBD 2

EECS 6324 / PSYC 6225 Computational Models of Visual Perception
This course introduces the student to state-of-the-art computational models for human visual processing, and the tools required to advance the state of the art.

Instructor Day Start time Duration Location Group
James Elder W 14:30 180 In person - Location TBD 2

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

Instructor Day Start time Duration Location Group
Melanie Baljko TR 11:30 90 In person - Location TBD 2

EECS 64XX Software Requirement Engineering
Course description forthcoming.

Instructor Day Start time Duration Location Group
Maleknaz Nayebi MW 16:00 90 In person - Location TBD 3

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
Jarek Gryz TR 11:30 90 In person - Location TBD 3

EECS 6802 Implantable Biomedical Microsystems
This course provides an introduction to implantable biomedical microsystems, their design, and applications. Engineering design, implementation, and test of a wide variety of biomedical implants is discussed. This includes system-level and architectural design, circuit design (analog and mixed-signal, generic/application-specific), wireless interfacing (power and bidirectional data telemetry), hardware-embedded biological signal processing, design & implementation of non-circuit modules such as microelectrode arrays.

Instructor Day Start time Duration Location Group
Amir Sodagar MW 10:00 90 In person - Location TBD N/A

EECS 6808 Engineering Optimization
This course introduces classical and modern optimization techniques to solve engineering analysis and design problems. Students will learn how to formulate single- and multi-variable engineering problems as optimization problems and how to solve such problems using appropriate optimization techniques. The details of specific techniques required to solve the formulated problems will be discussed from theory and application points of view.

Instructor Day Start time Duration Location Group
Ali Sadeghi-Naini TR 17:30 90 In person - Location TBD 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 In person - Location TBD -

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.

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.