Search Courses

ECE1659H - Robust and Optimal Control

Convex optimization methods based on Linear Matrix Inequalities (LMIs) have dramatically expanded our ability to analyze and design complex multivariable control systems. This course explores material from the broad areas of robust and optimal control, with an emphasis on formulating systems analysis and controller design problems using LMIs. Topics covered will include: Historical context of robust and optimal control; Fundamentals of optimization, linear matrix inequalities and semidefinite programming; Lyapunov equations and inequalities; H-Infinity and H2 performance criteria for dynamic systems; Dissipative dynamical systems; The generalized plant framework for optimal control; LMI solutions of H2 and H-Infinity state and output feedback control problems; Uncertain systems: linear and nonlinear uncertainty modelling, linear fractional representations; Robust stability and performance analysis of uncertain systems; Introduction to integral quadratic constraints.

Credit Value (FCE): 0.50
Prerequisites: ECE557H1 or equivalent
Campus(es): St. George
Delivery Mode: In Class

ECE1660H - Risk-Aware and Stochastic Control Theory with Learning

The related areas of risk-aware control theory, stochastic control theory, and reinforcement learning are becoming ever more important in the modern age of data. In lectures, we focus on studying mathematical foundations and the pros and cons of existing methods to highlight research gaps (e.g., quality-of-approximation guarantees vs. scalability to high-dimensional systems). Lecture topics include introductions to measure theory, Borel spaces, continuous-state Markov decision processes (MDPs), finite-horizon MDP problems, stochastic safety analysis, solution methods via value iteration, risk functionals, risk-aware control theory, and parametric approximation methods. The exploration of additional topics and applications related to stochastic control and reinforcement learning is encouraged through literature critiques and research projects. This course is designed to practice and enhance creative thinking skills and to launch and inspire your research.

Credit Value (FCE): 0.50
Prerequisites: ECE411H1
Campus(es): St. George
Delivery Mode: In Class

ECE1718H - Special Topics in Computer Hardware Design

Special topics offered by graduate units in area of Computer Hardware Design. Content of courses may change each time they are offered and are developed to cover emerging issues or specialized content.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1724H - Special Topics in Software Engineering

Special topics offered by graduate units in area of Software Engineering. Content of courses may change each time they are offered and are developed to cover emerging issues or specialized content.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1747H - Parallel Programming

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1754H - Compilation Techniques for Parallel Processors

An introduction to compiler analyses and techniques used in the automatic parallelization of programs. Topics include: data dependence, dependence testers, loop-level parallelization, loop transformations, loop scheduling, locality management, data distribution, computation partitioning, task-level parallelization, case studies. Students carry out a significant literature survey or a programming project in one of the course topics.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1755H - Parallel Computer Architecture and Programming

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1756H - Reconfigurable Computing and FPGA Architecture

Field Programmable Gate Arrays are computer chips whose function and wiring can be reprogrammed to suit different purposes. FPGAs enable "reconfigurable computing” wherein one can create a custom computing engine with higher efficiency than a conventional software-programmed device, without the expense and difficulty of manufacturing a custom chip. As the development costs of custom (ASIC) computer chips have exploded and the capabilities of FPGAs have increased, FPGAs have become an ever more popular choice to implement complex systems. This course will explore both the use of FPGAs and the design of the FPGA architecture itself.

Through hands-on work students will compare the efficiency and programming effort of FPGA-based signal processing with a DSP processor implementation. We will analyze how well various classes of applications will map to FPGAs vs. alternative highly parallel solutions such as DSP processors and GPUs.

We will also study the architecture of FPGAs: what are the building blocks of FPGAs, how are they interconnected, and what makes a good vs. a bad architecture? Students will learn how to model the area and delay of key circuitry such as RAM blocks and programmable routing, how the ability of Computer-Aided Design (CAD) tools to target different structures affects FPGA architecture, and how to experimentally evaluate new FPGAs. Finally, we will discuss emerging architectures and possible future directions for FPGA evolution.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1759H - Advances in Operating Systems

This course examines current research topics in the area of operating systems.

Credit Value (FCE): 0.50
Prerequisites: Advanced operating systems course. Operating system implementation experience.
Campus(es): St. George
Delivery Mode: In Class

ECE1762H - Algorithms and Data Structures

This course covers fundamentals of computer algorithms and data structures. The objective is to give the audience an introduction to combinatorial modeling, algorithms and the underlying analysis. It also aims to present a wide range of fundamental data structures and examine their complexity in terms of space/time. In brief, the course will start with a review of a number of basic combinatorial tools such as recurrences, worst/best/average case analysis, probability, and discrete mathematics (summations, principles of counting, induction). Next, it will present a wide range of fundamental data structures and algorithms along with a detailed analysis of their time/space behavior and real life use. Topics include searching and sorting, dictionary operations, dynamic programming, greedy methods, graph algorithms (shortest paths, maximum flow), parallel algorithms, intro to NP-completeness, approximation algorithms and one advanced topic of choice such as matrix multiplication, FFT or amortized analysis.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1769H - Behavioural Synthesis of Digital Integrated Circuits

Credit Value (FCE): 0.50
Delivery Mode: In Class

ECE1770H - Trends in Middleware Systems: Selected Topics and Concepts

The objectives of this course are to understand the characteristics of emerging blockchain abstractions, how they differ in conception and use, and how to apply blockchains to build distributed applications. We refer to these abstractions as "blockchain middleware."

A "middleware system" — middleware for short — constitutes services and (programming) abstractions that facilitate the development of distributed applications and systems in heterogeneous networked environments. The primary objectives of middleware are to increase application reliability, availability, fault-tolerance, scalability, and security. At least conceptually, the "middleware layer" comprises a layer below the application and above the operating system and network substrate.

This course targets research-oriented graduate students who would like to learn more about blockchain middleware. We will discuss the Bitcoin blockchain, the Ethereum blockchain, and the Hyperledger blockchain as well as explore how to build blockchain-based applications. The course will feature invited speakers and student paper presentations. A course project will be a mandatory aspect of the course.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1771H - Quality of Service

This course aims to present a collection of fundamental design principles and guidelines in modern distributed systems and real- world large-scale networks. In the process, we review a small collection of important research results, not only in the recent literature but also in the literature spanning the past two decades, and see how they reflect fundamental design principles that we have discussed. Our focus is on more recent research literature, in the areas that have been studied extensively: multimedia networking, peer- to-peer networks, as well as multi-hop wireless networks.

The course is divided into a number of episodes (each covered in the time of approximately one lecture depending on progress). We start with an examination of our design objectives, including Quality of Service. We then introduce a number of fundamental design principles that may lead to a high-quality design. Subsequently, we take a leisure walk through more specific areas of research, spanning peer- to-peer networks, wireless mesh networks, secure protocols, so-called "killer" applications, as well as recent advances in network coding. Throughout the course, we revisit the design principles often, and see how they affect the successes (or failures) of research ideas.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1774H - Sensory Cybernetics

The senses from the point of view of an engineer. This course explores the theoretical foundations of the senses from both a systems and a neurophysiological point of view. Emphasis will be placed on understanding the senses holistically rather than individually (i.e. we study the common features that span the various sensory modalities). The course material will involve the application of ideas drawn from information theory, statistical signal detection theory and probability theory. In particular, we cover the following theories: 1) the signal detection approach to sensory analysis (vis-à-vis Donald Laming's theory of differential coupling), the information encoded by sensory neurons, generalized Fechnerian psychophysics (e.g., the entropy theory of Kenneth Norwich), and finally the probabilistic approach to perception. Along the way, concepts crucial to the study of sensory system are also introduced including: the identification and categorization of sensory stimuli, reaction time, decision-making processes, differentiation of stimuli, the limits of perceptibility, and large-scale integration of sensory information. The course will also consider applications of sensory research to pattern recognition, multimedia and biological computers. Course work will involve surveying the existing literature, doing a research project in small groups and a final examination. No biology background is required although some familiarity with the concept of probability is preferred.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1776H - Computer Security, Cryptography and Privacy

The course introduces students to research topics on Computer Security. Students will be introduced to concepts in exploiting vulnerabilities, tools for detection of vulnerabilities, access control models, basic cryptography, and operating system, hardware, and network security.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1777H - Computer Methods for Circuit Simulation

Circuit simulation is a commonly used technique for analysis and verification of circuits, ranging from integrated circuits and microelectronics to power distribution networks and power electronics. It is an established art and remains an important area of research. This course covers the theoretical background for modern circuit simulation, as well as the numerical techniques that are at the core of every circuit simulator.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1778H - Creative Applications for Mobile Devices

Credit Value (FCE): 0.50
Delivery Mode: In Class

ECE1779H - Introduction to Cloud Computing

This course provides an introduction into the technologies behind cloud computing. A combination of lectures and hands-on programming assignments expose the student to the leading cloud computing paradigms and programming interfaces (e.g., EC2, Azure, App Engine). In addition, lectures provide an overview of the underlying technological concepts that make cloud computing possible (e.g., virtualization, scalability, fault tolerance, security).

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1780H - Advanced Mobile User Interfaces

Credit Value (FCE): 0.50
Delivery Mode: In Class

ECE1781H - Dependable Software Systems

Modern computer systems have become tightly intertwined with our daily lives. However, they are failure-prone and difficult to manage and thus hardly dependable. Today, these problems dominate total cost of ownership of computer systems, and unfortunately they have no simple solutions. There is a realization that these problems cannot be decisively solved but are ongoing facts of life that must be dealt with regularly. To do so, systems should be designed to detect, isolate, and recover from these problems.

This advanced graduate-level course focuses on dependability in software systems and examines current research that aims to address challenges caused by software and hardware bugs and software misconfiguration. Students are expected to read and critique recent research papers in operating systems that cover these areas. They are also expected to work on a research project and make class presentations.

Credit Value (FCE): 0.50
Prerequisites: ECE344H1 or similar
Delivery Mode: In Class

ECE1782H - Programming Massively Parallel Multiprocessors and Heterogeneous Systems

The aim of the course is to provide hands-on experience in developing applications software for graphics processors with massively parallel computing resources. The target audiences of the course are those who want to develop exciting applications for these processors, as well as those who want to develop programming tools and future implementations for these processors. The initial part of the course focuses on popular programming interfaces for these processors. The course continues with a closer view of the internal organization of graphics processors and how it impacts performance. Finally, implementations of applications and algorithms on these processors will be discussed.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1783H - Design Tradeoffs in Digital Systems

This course introduces the students to various design aspects of digital systems, and train them to deal with the existing tradeoffs, by influencing their designs to meet the target use-cases. Visual content is one of the most demanded (and demanding) types of data that need to be captured, transmitted, processed, and/or analyzed to allow for a smart interconnected world. Hence, without the loss of generality, digital video codec system(s) are chosen to be the case-study to explain the concepts that are delivered throughout the course. The students will be introduced to the multi-dimensional design aspects of such a digital system, and will learn how technology leaders seek compromises between various important parameters such as throughput, power consumption, cost, programmability, time to market, as well as application-specific aspects such as quality, target bitrate, latency, and error resiliency. They will be trained to model different algorithms and analyze the gains/losses of various tradeoffs before kicking off the implementation process. The course is intended to be self-contained, hence, reasonable preparation for most of the topics is provided. The lectures are designed to increase interactivity with the students, providing them with the opportunity to express their thoughts, and to interrupt and ask questions.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1784H - Trustworthy Machine Learning

The deployment of machine learning in real-world systems calls for a set of complementary technologies that will ensure that machine learning is trustworthy. Here, the notion of trust is used in its broad meaning: the course covers different topics in emerging research areas related to the broader study of security and privacy in machine learning. Students will learn about attacks against computer systems leveraging machine learning, as well as defense techniques to mitigate such attacks.

The course assumes students already have a basic understanding of machine learning. Students will familiarize themselves with the emerging body of literature from different research communities investigating these questions. The class is designed to help students explore new research directions and applications. Most of the course readings will come from seminal papers in the field.

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1785H - Empirical Software Engineering

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECE1786H - Creative Applications of Natural Language Processing

There has been truly remarkable progress in the capabilities of computers to process and generate language. This course covers Deep Learning approaches in Natural Language Processing (NLP), from word vectors to Transformers, including chatGPT and GPT-4. It is a project-based course that teaches the fundamentals of neural-network-based NLP and gives students the opportunity to pursue a unique project.

The course lecture material begins with the basics of word-level embeddings — their properties and training. These form the basis of neural-network-based classifiers employed to do classification of sentiment, named entity recognition and many other language tasks. A significant part of the course is about the Transformer architecture — its structure, training, and how it generates language. This will include the use of the transformer as a classifier, but also as in generative mode, in which language is produced in response to input language. Much of the learning will be applied in four hands-on programming assignments and in a major project. Students will work in groups of 2 to propose a project of their own choosing that makes use of these capabilities. They will execute the project and both present it formally and write a report on it.

Credit Value (FCE): 0.50
Prerequisites: APS360H1 or CSC311H1 or ECE324H1 or ECE1513H or equivalent with permission of the instructor
Campus(es): St. George
Delivery Mode: In Class

ECE2500Y - Master of Engineering Project

Credit Value (FCE): 1.50
This continuous course will continuously roll over until a final grade or credit/no credit is entered.
Campus(es): St. George
Delivery Mode: In Class

ECO1010H - Mathematics and Statistics for MA General Students

This course provides MA and MFE students with a review of key mathematical and statistical techniques for master's level coursework. The math portion focuses on constrained and unconstrained static optimization, the envelope theorem, and matrix algebra. The statistics portion focuses on probability theory, random variables, probability and cumulative distribution functions, central limit theorems, and regression analysis. To pass the course, students must pass 3 tests given at the end of each week.

Credit Value (FCE): 0.50
Grading: Credit/No Credit
Campus(es): St. George
Delivery Mode: In Class

ECO1060H - Research Paper

Research Paper provides MA students with the opportunity to undertake original research in Economics with the goal of developing the student's capacity to effectively engage and contribute to existing scholarly literature. The course instructor supervises all papers written in course. The course capacity is limited to maintain high quality of supervision and registration requires permission of the MA Director or the Associate Chair of Graduate Studies (ACGS).

Credit Value (FCE): 0.50
Campus(es): St. George
Delivery Mode: In Class

ECO1100H - Economics Theory — Macro

The objective of the course is to introduce students to the analysis of macroeconomics at the graduate level, with attention to the role of credibility and other current developments. The course emphasizes applied issues, such as the potential role for stabilization policy.

Credit Value (FCE): 0.50
Enrolment Limits: For MA students only
Campus(es): St. George
Delivery Mode: In Class

ECO1102H - Macroeconometric Models for Policy Analysis and Forecasting

The course examines macroeconometric models and their applications in impact and policy analysis and in longer-term forecasting. Detailed examination is made of the macroeconometric model maintained at the University of Toronto and students gain 'hands-on' experience in its construction and use through two major required assignments (there is no exam). A recent long-term forecast developed with the model at the University will also be examined. The course also studies the various important criticisms of macroeconometric models and briefly surveys alternative macroeconomic forecasting methods.

Credit Value (FCE): 0.50
Exclusions: ECO416H1
Campus(es): St. George
Delivery Mode: In Class