Courses

Current course schedule

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.

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.

Instructor

Day

Start time

Duration

Location

Group

Scott MacKenzie

TR

11:30

90

CC 106 - Calumet 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.

Instructor

Day

Start time

Duration

Location

Group

Mokthar Aboelaze

TR

10:00

90

HNE 031 - Health, 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.

Instructor

Day

Start time

Duration

Location

Group

Michael Jenkin

MT

8:30

90

SC 223 - Stong 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.

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.

Instructor

Day

Start time

Duration

Location

Group

Marin Litoiu

TR

16:00

90

CB 120 - Chemistry Building

3, 4

EECS 6590A High Performance Computer Networks
This 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

Instructor

Day

Start time

Duration

Location

Group

U.T. Nguyen

MW

16:00

90

BRG 211 - Bergeron 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.

EECS 5326 Artificial IntelligenceThis 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

Zbigniew Stachniak

TR

13:00

90

DB 0005 - Daldaleh Building

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.

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.

Instructor

Day

Start time

Duration

Location

Group

Jia Xu

TR

10:00

90

R S103 - Ross South

3, 4

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

R

17:30

180

CB 129 - Chemistry Building

3, 4

F

11:30

120

LAS 1002 - Lassonde Building

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.

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.

Instructor

Day

Start time

Duration

Location

Group

Jeff Edmonds

M

11:30

90

R S125 - Ross South

1

W

11:30

90

R S130 - Ross South

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.

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.

Instructor

Day

Start time

Duration

Location

Group

Manos Papagelis

M

16:00

180

VH 2005 - Vari Hall

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.

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.

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, 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.

Application

Faculty of Graduate Studies Events and Deadlines

These include the Conference Support Fund, Thesis Support Fund, and Skills Development Fund. Applicants are eligible for funding from only one of these funds per year. Average funding is $100 per applicant and varies depending[...]

The Professional Development Fund provides funding to members in all Units to support them in attending and presenting at conferences, and with other professional development expenses. A total of $125,000 is allocated to this fund[...]

These include the Conference Support Fund, Thesis Support Fund, and Skills Development Fund. Applicants are eligible for funding from only one of these funds per year. Average funding is $100 per applicant and varies depending[...]