Electrical and computer engineering (ECE) is the platform on which innovations in other disciplines of science and engineering, and increasingly social sciences, are built.
Technological advances in all sectors of our economy depend on power, control, communication and computation. The internet of things, smart cities and personalize healthcare are just some parts of our modern world that depend on connectivity, big data collection, and advanced computing.
Electrical and computer engineers help create signal processors for wireless systems, tools for medical diagnostic and imaging, and safety features for cars. They design control systems for automated manufacturing, consumer electronics for home theatres, and high-speed communication systems on Earth, beneath the seas, and in space.
EngSci's Electrical and Computer Engineering major is one of the program's oldest and popular majors. It prepares students with a broad foundation in diverse focus areas and rigorous training in both hardware and software disciplines.
The major's focus areas include photonics and semiconductor physics; control, communications and signal processing; electromagnetics and energy; computer hardware and networks; electronics; and software.
Electrical engineering fundamentals are covered in core courses on electromagnetic fields, energy systems, and electronics. Computer engineering fundamentals are developed in core courses on computer organization, systems software, and computing. The major's exceptionally broad range of technical electives provides tremendous flexibility that allows students to focus on their specific interests within ECE.
Courses are taught by world-renowned professors from the U of T's Department of Electrical & Computer Engineering and the Department of Computer Science-two of the largest and top-ranked departments in Canada. Students have access to advanced facilities and close research collaborations between professors and global partners, including the Fujitsu Co-Creation Research Laboratory. Students also benefit from the university's affiliation with organizations like the Vector Institute, U of T's SciNet supercomputing consortium, and the vibrant tech and startup landscape in Toronto.
FAQs
How is the EngSci ECE major different from the Core 8 Electrical Engineering (EE) and Computer Engineering (CE) programs?
In contrast to the other U of T Engineering programs (the "Core 8"), the first two years of EngSci's program-also known as the foundation years-include more math and science. This provides a solid foundation for students in the EngSci major to take more advanced versions of Core 8 EE and CE courses in their upper years.
While it is true that EngSci students do not specialize into the ECE courses until third year, while those in Core 8 ECE do so a year earlier, EngSci students quickly catch up during third year.
The core courses in EngSci's ECE major cover fundamentals of both the EE and CE disciplines, so that graduates can legitimately claim the ECE label.
How is Computer Engineering (CE) different from Computer Science (CS)?
One way to think about these two disciplines is to think of a spectrum with CE at one end and CS at the other. While each discipline has its unique perspective, there is a significant overlap in the middle with aspects that may be taught in both programs.
Engineers are trained to develop solutions for poorly-specified problems, where there is unlikely to be one right answer. On the other hand, CS has a mathematical heritage, where there is more formalism and development of theory.
A computer engineer will have more training from a hardware perspective. They are more likely to be able to debug a program using an oscilloscope watching signals controlled by a program. A computer scientist might be studying the theory of computation or languages seeking to understand the limits of what computing might be able to do.
In the middle there is a significant amount of overlap. A computer engineer and a computer scientist can both have strong, practical software development skills so that either could create the next great video game or mobile app.
What is the difference between EngSci's majors in ECE and machine intelligence?
The electrical and computer engineering major provides a broad background in both the electrical (applied physics-oriented) and computer (computation-oriented) disciplines and their integration. While there is some opportunity to learn about machine intelligence, the core curriculum covers a broader range of topics, rather than focusing in on machine intelligence.
The machine intelligence major teaches students the fundamental concepts that allow graduates to develop and apply machine intelligence in a wide variety of industries and contexts.
I know I want to work on software. Why would I take EngSci's major, which forces me to take courses in other ECE topics?
Breadth can be a great strength. Knowledge of both hardware and software principles is essential in the overall design of any engineering system and EngSci's major is designed to provide a balanced perspectives of these.
No one writes software in isolation. Having some exposure to topics like energy systems and electromagnetic fields provides a different perspective with which to approach your work, and may open doors in the future.
What types of summer opportunities exist for students in this major?
In addition to support for summer research and employment offered through EngSci or the Engineering Career Centre, students in this major benefit from close contact with world-renowned professors in U of T's and Department of Computer Science. Many of these offer summer research positions and have long-standing research relationships with major companies.
How many students from this major do a PEY Co-op after third year?
In the past several years, over half of students in the electrical and computer engineering major have participated in the PEY Co-op Program at companies like AMD, INTEL (formerly Altera), Microsemi Corporation, Qualcomm, Zebra Technologies, and more.
What career paths are open to graduates from this major?
EngSci's ECE major offers a very broad range of electives, allowing students to specialize in diverse areas that open many different career possibilities. The major spans topics from the atomic level for engineering new materials to the large hardware and software systems used to build the Internet. Students learn fundamental skills and knowledge, opening areas that you may not associate with ECE.
Depending on a student's particular interests, they might end up writing software at a major tech company or developing low-power transistor technology for the next generation of microprocessors. They could become a cyber sleuth on the Internet, help disabled people live fuller lives, develop photovoltaics, or work on fighting diseases. They can work on the most pressing problems in the world.
The goal of Engineering Science is to develop graduates with the rigorous academic training that can take on the intellectually challenging jobs that drive our economy. Engineering Science ECE graduates will be able to address the grand challenges in engineering, become entrepreneurs creating jobs for others, and invent new technologies.
Sample Courses
ECE355 - Signal Analysis and Communications
Efficient information processing is a core requirement of any complex engineering system. This course develops a mathematical framework for such analysis by introducing two key concepts: signals and systems. We illustrate how diverse areas can be analyzed in the common framework of linear time invariant (LTI) systems. We explain why such systems are more naturally treated in the transform domain rather than time domain and introduce the theory of Fourier transforms. The application of these techniques to communication systems is treated in detail. Within the ECE curriculum this course is an important foundation for digital signal processing (DSP), systems control, multimedia systems and statistical signal processing.
ECE356 - Introduction to Control Theory
This is the first control design course taken by EngSci ECE students, building on mathematics learned in the first two years. A control system is a dynamical system that operates on the fundamental paradigm of the feedback loop. The goal of a control system design is to obtain a desired dynamic response despite the presence of disturbances. Feedback loops are ubiquitous in biological systems. In the first half of the course, students learn the fundamentals of modeling and stability analysis of control systems. In the second half, the most important design methods are taught.
ECE360 - Electronics
Continued progress in electronics has become a defining characteristic of the past several decades. Already acquainted with the basics of voltage and current, students get a first glimpse at amplifiers and transistors - the fundamental building blocks of most every modern piece of electronics. A combination of in-class and laboratory work provides both analytical and hands-on skills.
ECE352 - Computer Organization
The world today works because of computing technology. Most of us carry several processors with us all of the time in our cell phones, watches, personal games and other mobile devices. This course covers the internal structures of computing systems, how they compute, and how they are interfaced to the physical world. It is an important foundation for subsequent studies in hardware and software, such as Computer Architecture, Digital Systems Design, Computer Security, Operating Systems, Optimizing Compilers and Computer Systems Programming.
ECE358 - Foundations of Computing
There are a lot of hard engineering problems out there: how to allocate jobs to processors to minimize the total processing time, work out the maximum amount of data that can be sent within a network, schedule exams to use as few rooms as possible and avoid conflicts, etc. In this course, students study advanced algorithm design techniques that can be used to solve some of these problems (greedy algorithms, dynamic programming, network flows, linear programming). They also explore tools to prove that some problems do not have efficient solutions (NP-hardness, polynomial time self-reducibility), and heuristic techniques to deal with NP-hard problems (approximation algorithms, randomization).
ECE455 - Digital Signal Processing
This course provides an overview of sampling and discrete-time signals in one or more dimensions; linear shift-invariant systems; the Z-transform; the discrete-time Fourier transform; the discrete Fourier transform and computationally efficient implementations (fast Fourier transforms); general orthogonal representations; wavelet bases; discrete-time filters: finite and infinite impulse response filters; fixed-point implementations and finite word-length effects; multidimensional filters and multidimensional signal processing. Illustrative applications are drawn from audio and biomedical signal processing, communication systems, and image and video signal processing.
Did you know...?
Students can further their knowledge in student clubs like IEEE's U of T Chapter, Spark Design Club, and more.
Where this major can take you
Graduates from the ECE major leaders in areas as diverse as datacentre hardware, power distribution systems, voice recognition software, and many more. Meet some of our alumni.
Recent graduates from this major have pursued graduate studies at Carnegie Mellon, Cornell, Columbia University, MIT, Stanford University, UC Berkeley, University of Toronto, University of Waterloo, and more.
Some graduates work in academia as professors, while others work in industry for companies such as AMD, Altera Corporation, Apple, Facebook, Google, McKinsey & Company, Royal Bank of Canada, Toronto Hydro, Twitter, and more.
Entrepreneurial graduates have started companies like Sound Hound and Ergeon.
Chair of the Electrical & Computer Engineering major
Professor Jonathan Rose (ECE)
Professor Jonathan Rose was the Chair of the Department of Electrical & Computer Engineering and has taught EngSci students for many years. He was a co-founder of Right Track CAD Corporation which delivered FPGA chip-level architecture and CAD tools to customers, and was acquired by Altera, now Intel. His current research focuses on software and natural language processing for mental health diagnosis and therapy.
jonathan.rose@ece.utoronto.ca