Elective courses are a way for you to shape your degree to explore and develop your interests. They also allow you to investigate the central issues, thought processes and scholarly methods found in disciplines outside engineering, which complements your Core Courses. 

You begin the process of selecting electives in your second year, looking ahead to your third and fourth year. In ECE, you are required to take a certain number of electives in these five groups:  

  • 2 Complementary Studies (CS) 
  • 2 Humanities and Social Science (HSS) 
  • 1 Science/Math  
  • 3 Technical  
  • 1 Free  

The Faculty has more information about each of these electives as well as a Guide to Taking Arts & Science courses.   

The Academic Calendar will tell you which electives you need to fulfill your program requirements and give you an overview of the courses available.  

Trouble picking an elective?

Contact the ECE Undergraduate Office for guidance with eligibility, scheduling, enrolment restrictions and more.

Complementary Studies/Humanities and Social Science electives 

Complementary Studies (CS) elective generally falls under the area of humanities, social sciences, arts, management economics and communication.  

Humanities and Social Science (HSS) electives are a subset of CS electives, and you can use them to satisfy CS requirements.  

For courses in CS and HSS elective categories, you are responsible for determining your qualifications, whether prerequisites, permissions or anything else the course requires. 

Not every course is eligible for credit as an CS or HSS elective. To learn more about these two electives, and to see a detailed list of eligible courses, visit the Faculty’s Complementary Studies (CS) page and the Humanities and Social Science (HSS) page. 

Technical electives 

Technical elective is an ECE course that is outside your chosen area of focus. The course must be level 300 or higher.

You may also take one of your three required technical electives from another department, though will need to check before enrolling whether the course is acceptable. This may include an eligible course in Science/Math.

Science/Math electives 

Science/Math elective is listed in the Academic Calendar. This is a list of select courses whose content does not significantly overlap with your Core Courses. 

Free electives 

Free elective is any degree credit course offered by any of the Faculty of Applied Science and Engineering or the Faculty of Arts & Science. It can be:

  • Any approved CS/HSS elective on the Office of the Registrar’s list
  • A non-technical or technical course
  • A technical elective from another engineering department

It cannot contain content already offered in courses that you take in your ECE program: for example, you can’t take a basic introductory course in physics, math or computer science. See the Faculty's explanation of free electives.

Note: You must secure department approval for any course outside the ECE curriculum or the approved CS/HSS courses. Contact askece@utoronto.ca with the course specifics to start the approval process.

Ineligible electives

This is not an exhaustive list, as course codes/descriptions often change. Additional courses deemed ineligible will be added once they are identified. UTM and UTSC equivalents to the courses listed below are also unacceptable. If you are unsure, ask the Undergraduate Office at askece@utoronto.ca.

Note: The ECE department has a separate list of courses that are ineligible (see below, as of February 2021).

ProgramCourse Code / Title
Aerospace Science and Engineering (AER)AER525H1      Robotics
Astronomy and Astrophysics (AST)AST101H1      The Sun and Its Neighbours
AST201H1      Stars and Galaxies
AST222H1      Galaxies and Cosmology
Chemistry (CHM)CHM136H1      Introductory Organic Chemistry I (formerly CHM138H1)
CHM138H1      Introductory Organic Chemistry
Computer Science (CSC)CSC104H1      Computational Thinking
CSC108H1      Introduction to Computer Programming
CSC120H1      Computer Science for the Sciences
CSC121H1      Computer Science for Statistics
CSC148H1      Introduction to Computer Science
CSC165H1      Mathematical Expression and Reasoning for Computer Science
CSC209H1      Software Tools and Systems Programming
CSC258H1      Computer Organization
CSC263H1      Data Structures and Analysis
CSC265H1      Enriched Data Structures and Analysis
CSC301H1      Introduction to Software Engineering
CSC311H1       Introduction to Machine Learning
CSC324H1      Principles of Programming Languages
CSC330H1      Logical Specifications
CSC351H1       Numerical Approximation, Integration and Ordinary Differential Equations
CSC358H1      Principles of Computer Networks
CSC369H1      Operating Systems
CSC372H1      Microprocessor Software
CSC373H1      Algorithm Design, Analysis & Complexity
CSC411H1      Machine Learning and Data Mining
CSC412H1      Probabilistic Learning and Reasoning
CSC438H1      Computability and Logic
CSC444H1      Software Engineering
CSC446H1      Computational Methods for Partial Differential Equations
CSC458H1      Computer Networking Systems
CSC488H1      Compilers and Interpreters
CSC490H1      Capstone Design Project
CSC491H1      Capstone Design Project
CSC494H1      Computer Science Project
CSC495H1      Computer Science Project
Electrical & Computer (ECE)ECE159H1      Fundamentals of Electric Circuits
ECE259H1      Electromagnetism
ECE286H1    Probability and Statistics
ECE349H1     Introduction to Energy Systems
ECE350H1     Semiconductor Electronic Devices
ECE352H1     Computer Organization
ECE353H1     Systems Software
ECE354H1     Electronic Circuits
ECE355H1     Signal Analysis and Communication
ECE356H1     Linear Systems and Control
ECE357H1     Electromagnetic Fields
ECE358H1     Foundations of Computing
ECE360H1     Electronics
ECE363H1     Communication Systems
ECE557H1     Systems Control
Economics (ECO)ECO210H1      Mathematical Methods for Economic Theory
Mathematics (MAT)MAT125H1      Calculus I (A)
MAT133Y1       Calculus and Linear Algebra for Commerce
MAT135Y1       Calculus I (A)
MAT136H1      Calculus 1 (B)
MAT137Y1       Calculus
MAT223H1      Linear Algebra
MAT244H1      Introduction to Ordinary Differential Equations
MAT334H1      Complex Variables
Mechanical and Industrial Engineering (MIE)MIE250H1      Fundamentals of Object Oriented Programming
MIE335H1      Algorithms & Numerical Methods
MIE346H1      Analog and Digital Electronics for Mechatronics
MIE354H1      Business Process Engineering
MIE368H1      Analytics In Action
MIE404H1      Control Systems I
MIE424H1       Optimization of Machine Learning
MIE438H1       Microprocessors and Embedded Microcontrollers
Material Science and Engineering (MSE)MSE430H1       Electronic Materials
Philosophy (PHL)PHL246H1       Probability and Inductive Logic
PHL245H1       Modern Symbolic Logic
Physics (PHY)PHY100H1      The Magic of Physics
PHY131H1       Introduction to Physics I
PHY132H1       Introduction to Physics II
PHY202H1      The Physics of Science Fiction and Gaming
PHY205H1      The Physics of Everyday Life
PHY250H1      Electricity and Magnetism
PHY254H1      Mechanics: From Oscillations to Chaos
PHY256H1      Introduction to Quantum Physics
Robotics (ROB)ROB313H1      Introduction to Learning from Data
Statistical Sciences (STA)STA247H1       Probability and Computer Applications
STA257H1       Probability and Statistics
STA314H1      Statistical Methods for Machine Learning I
STA414H1      Statistical Methods for Machine Learning II
STA447H1      Stochastic Processes (formerly STA348H1)

©2021 Faculty of Applied Science & Engineering