Courses

Courses in fall 2018
coursetitleinstructordaystart timeduration  location  group
EECS 5111
Automata, Computability and ComplexityIntroduction to more advanced topics in theoretical foundations of computer science, including the study of formal languages and automata, formal models of computation, and computational complexity measures.
George TourlakisMW14:3090
MC 111McLaughlin College
1
EECS 5323
Computer VisionThis 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.
James ElderMW
M
10:00
16:00
90
120
CC 106Calumet College
LAS 1004Lassonde Building
2, 6
EECS 5351
Human-Computer InteractionThis 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.
Scott MacKenzieTR11:3090
CC 106Calumet College
2, 6
EECS 5501
Computer ArchitectureThis 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.
Mokthar AboelazeTR10:0090
HNE 031Health, Nursing and Environmental Studies Building
3, 4
EECS 6325
Mobile Robot Motion PlanningThe 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.
Michael JenkinMT8:3090
SC 223Stong College
2, 6
EECS 6330
Critical Technical Practise: Computer Accessibility and Assistive TechnologyThis 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.
Melanie BaljkoTR10:0090
SC 222Stong College
2, 6
EECS 6400
Computer Engineering Research ProjectsAn introduction to research methods and methodology in Computer Engineering. Under the direction of the Computer Engineering Research Project Committee, students engage in supervised research under a member of the research program. A final oral presentation and written report is required. Successful completion of this course is required for the MASc Computer Engineering degree.
EECS 6412
Data MiningThis 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.
Aijun AnM
W
11:3090
BRG 313Bergeron Building
BRG 211Bergeron Building
3
EECS 6421
Advanced Data SystemsThis 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.
Jarek GryzT
R
13:0090
SC S203Stong College
SC S216Stong College
3, 4
EECS 6432
Adaptive Software SystemsAdaptive software systems are software systems that change their behaviour and structure to cope with changes in environment conditions or in user requirements. Adaptation includes self-optimization, self-protection, self-configuration and self-healing. This course covers basic and advanced concepts in engineering adaptive systems and has a special focus on self-optimization. It introduces the students to the mathematical foundations of adaptive systems including performance models, estimators for performance models, feedback loop architectures and strategies, and optimization.
Marin LitoiuTR16:0090
CB 120Chemistry Building
3, 4
EECS 6590A
High Performance Computer NetworksThis course focuses on high performance computer networks. It presents a comprehensive study of modern high speed communication networks that is capable of providing data, voice, and video services. It also covers mobile and wireless communication networks
U.T. NguyenMW16:0090
BRG 211Bergeron Building
3, 4
EECS 6705
Power System TransientsElectromagnetic-transient modelling of power system is of the most crucial requirements for many power system studies and engineering practices. This course covers fundamentals of the transient phenomena such as lightning, faults, switching, and discusses the principles of protecting power system equipment from the transient overvoltages. Electromagnetic transient models of power equipment are presented and advanced modelling features are discussed.
Afshin Rezaei-ZareW15:00180
BSB 207Behavioural Science Building
5
EECS 6802
Implantable Biomedical MicrosystemsThis 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.
Amir SodagarTR11:3090
SC 219Stong College
5
Courses in winter 2019
coursetitleinstructordaystart timeduration  location  group
EECS 5101
Advanced Data StructuresThe 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.
Eric RuppertTR11:3090
DB 0005Victor Phillip Dahdaleh Building
1
EECS 5326
Artificial IntelligenceThis course will be an in-depth treatment of one or more specific topics within the field of Artificial Intelligence.
Zbigniew StachniakTR13:0090
DB 0005Victor Phillip Dahdaleh Building
2
EECS 5327
Introduction to Machine Learning and Pattern RecognitionMachine 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.
Ruth UrnerTR16:0090
PSE 321Petrie Science and Engineering Building
2, 6
EECS 5331
Advanced Topics in 3D Computer GraphicsThis course introduces 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.
Petros FaloutsosW
F
M
13:00
13:00
10:30
90
90
120
ACW 302Accolade West
ACW 002Accolade West
LAS 1004Lassonde Building
2, 6
EECS 5421
Operating Systems DesignA modern operating system has four major components: process management, input/output, memory management, and the file system. This project-oriented course puts operating system principals into action and presents a practical approach to studying implementation aspects of operating systems. A series of projects are included for students to acquire direct experience in the design and construction of operating system components and have each interact correctly with the existing software. The programming environment is C/C++ under UNIX.
Jia XuTR10:0090
R S103Ross Building
3, 4
EECS 5431
Mobile CommunicationThis 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.
Ping WangR
F
17:30
11:30
180
120
CB 129Chemistry Building
LAS 1002Lassonde Building
3, 4
EECS 5443
Mobile User InterfacesThis 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.
Scott MacKenzieTR
T or R
14:30
17:30
90
120
HNE B15Health, Nursing and Environmental Studies Building
LAS 1004Lassonde Building
3, 4
EECS 5612
Digital Very Large Scale IntegrationA 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.
Sebastian MagierowskiTR
F
11:30
16:30
90
180
BC 323Bethune College
BERG 321Bergeron Center
5
EECS 6111
Advanced Algorithm Design and AnalysisThis is an advanced theoretical computer science course directed at non-theory students with the standard undergraduate background. The goal is to survey the key theory topics that every computer science graduate student should know. In about two weeks for each selected topic, we will gain insights into the basics and study one or two example in depth. These might include: a deepening of student's knowledge of key algorithmic techniques, randomized algorithms, NPcompleteness, approximation algorithms, linear programming, distributed systems, computability, concurrency theory, cryptography, structural complexity, data structures, and quantum algorithms. Students will be expected to give a presentation on some topic new to them and solve some difficult problems in homework assignments.
Jeff EdmondsM
W
11:3090
R S125Ross Building
R S30Ross Building
1
EECS 6127
Machine Learning TheoryThis 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.
Ruth UrnerTR8:3090
SC 223Stong College
1
EECS 6323
Advanced Topics in Computer VisionAn 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.
John TsotsosM
W
13:0090
SC 220Stong College
SC 223Stong College
2, 6
EECS 6400
Computer Engineering Research ProjectsAn introduction to research methods and methodology in Computer Engineering. Under the direction of the Computer Engineering Research Project Committee, students engage in supervised research under a member of the research program. A final oral presentation and written report is required. Successful completion of this course is required for the MASc Computer Engineering degree.
EECS 6414
Data Analytics and VisualizationData 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.
Manos PapagelisM16:00180
CC 109Calumet College
3
EECS 6602
Printed ElectronicsPrinted 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.
Gerd GrauMW11:3090
BSB 328ABehavioural Science Building
5,6
EECS 6801
Advanced Microelectronic BiochipsThis course offers an introduction to the Biochips. This course takes a multi-path approach: micro-fabrication techniques, microelectronic design and implementation of bio interfaces offering a vital contemporary view of a wide range of integrated circuits and system for electrical, magnetic, optical and mechanical sensing and actuating devices and much more; classical knowledge of biology, biochemistry as well as micro-fluidics. The coverage is both practical and in depth integrating experimental, theoretical and simulation examples.
Ebrahim Ghafar-ZadehMW14:3090
SC 223Stong College
5
EECS 6XXX
Advanced Analog Integrated Circuits DesignPreliminary Course Description: 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 principles of random electronic noise, analog switches, switched-capacitor circuits, low-noise sensory front-end design, active filters, comparators, voltage and current references, translinear amplifiers, and current conveyors.
Hossein KassiriMW16:0090
TBD
5
Groups of courses
numbername
1Theory of Computing & Scientific Computing
2Artificial Intelligence & Interactive Systems
3Systems: Hardware & Software
4Computer Systems Engineering
5Electrical Engineering
6Interactive Systems Engineering

MSc Students (thesis option)

Students are required to complete five graduate courses. Of those five courses, at most one course can be an integrated course (the first digit of the course is a 5) and at most one course can be a directed reading course (see below). Students must take at least one course of group 1, at least one course of group 2, and at least one course of group 3. Full-time students are recommended to take three courses in their first term and two courses in their second term. Full-time students are required to complete their courses within the first two terms. Students are encouraged to discuss their course selection with their supervisor or the graduate program director. Students must maintain a B+ average in their courses.

MSc Students (project option)

Students are required to complete seven graduate courses. Of those seven courses, at most two courses can be an integrated course (the first digit of the course is a 5) and at most one course can be a directed reading course (see below). Students must take at least one course of group 1, at least one course of group 2, and at least one course of group 3. Full-time students are recommended to take three courses in the their first term, three courses in their second or third term, and a directed reading course in the summer term. Full-time students are required to complete their courses within the first four terms. Students are encouraged to discuss their course selection with their supervisor or the graduate program director. Students must maintain a B+ average in their courses.

MSc Students (specialization in AI)

Students are required to complete six graduate courses.
Three courses from the following list:
- Introduction to Artificial Intelligence (EECS 5326)
- Introduction to Machine Learning and Pattern Recognition (EECS 5327)
- Machine Learning Theory (EECS 6127)
- Probabilistic Models & Machine Learning (EECS 6327)
- Data Mining (EECS 6412)
two other courses from the following list:
- Computer Vision (EECS 5323)
- An Introduction to Robotics (EECS 5324)
- Introduction to Artificial Intelligence (EECS 5326)
- Introduction to Machine Learning and Pattern Recognition (EECS 5327)
- Machine Learning Theory (EECS 6127)
- Neural Networks and Deep Learning (EECS 6322)
- Advanced Topics in Computer Vision (EECS 6323)
- Mobile Robot Motion Planning (EECS 6325)
- Probabilistic Models & Machine Learning (EECS 6327)
- Speech and Language Processing (EECS 6328)
- Statistical Visual Motion Analysis (EECS 6332)
- Multiple View Image Understanding (EECS 6333)
- Embodied Intelligence (EECS 6340)
- Knowledge Representation (EECS 6390A)
- Computational Models of Visual Perception (EECS 6390D)
- Data Mining (EECS 6412)
- Data Analytics and Visualization (EECS 6414)
Of those six courses, at most two courses can be an integrated course (the first digit of the course is a 5). Students must take at least one course of group 1 or 2, at least one course of group 3, and at least one course of group 4 or 5. Full-time students are recommended to take three courses in their first term and three courses in their second term. Full-time students are required to complete their courses within the first two terms. Students are encouraged to discuss their course selection with their supervisor or the graduate program director. Students must maintain a B+ average in their courses.

MASc Students

Students are required to complete the research project course (see below) and three other courses. Of those three courses, at most one course can be an integrated course (the first digit of the course is a 5) and at most one course can be a directed reading course (see below). Students must take

Full-time students are recommended to take the research project course in their first two terms , two other courses in their first term, and one other course in their second term. Full-time students are required to complete their courses within the first two terms. Students are encouraged to discuss their course selection with their supervisor or the graduate program director. Students must maintain a B+ average in their courses.

PhD Students

Students are required to complete three graduate courses. Of those three courses, at most one course can be an integrated course (the first digit of the course is a 5) and at most one course can be a directed reading course (see below). Students are recommended to take three courses in their first term. Students are required to complete their courses within the first three terms. Students are encouraged to discuss their course selection with their supervisor. Students must obtain a B+ average in their 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. 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, which consists of the professors TBA (chair), TBA and TBA, 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, the graduate program director will approve the request. More information can be found at the website of the Faculty of Graduate Studies.

Important Dates

September 5, 2018classes start
September 14, 2018last date to hand in the directed reading form
September 18, 2018last date to add course without permission of instructor
October 1, 2018last date to hand in the course selection form
October 2, 2018last date to add course with permission of instructor
October 6-12, 2018no classes (Fall reading days)
November 9, 2018last date to drop course without receiving a grade
December 4, 2018classes end
December 6-21, 2018exam period
January 3, 2019classes start
January 11, 2019last date to hand in the directed reading form
January 16, 2019last date to add course without permission of instructor
January 30, 2019last date to add course with permission of instructor
February 8, 2019last date to drop EECS 6400 (started in the Fall) without receiving a grade
February 16-22, 2019no classes (reading week)
March 8, 2019last date to drop course without receiving a grade
April 3, 2019classes end
April 5-20, 2019exam period
May 10, 2019last date to hand in the directed reading form

Other important dates can be found at the website of the Faculty of Graduate Studies.

Additional Information

More information about graduate courses and grading can be found at the website of the Faculty of Graduate Studies.