Acceptable and Unacceptable Courses (Free Electives, Complementary Studies, Technical)


ACCEPTABLE Free Electives can be:

  • Any ECE technical elective (TE)
  • Your free elective may be a technical or non-technical course
  • A TE from another Engineering Department*. If you wish to use a TE from another engineering department, you must: 1) obtain approval from the ECE UG Office 2) obtain approval from the other Engineering UG Office. Approval should be obtained at the beginning of the term in which you wish to take the course.
  • Any CS/HSS elective on the approved listing available on the Office of the Registrar’s website
  • A course from the Faculty of Arts and Science. Exceptions apply.*

*Exceptions:  Not every unacceptable free elective will appear in the table below as course codes/descriptions often change.  Additional courses deemed unacceptable will be added as they are asked about.   If you are unsure, ASK!

The course that you choose as a free elective cannot contain content that is already offered in courses that you take in your ECE program.  For example, students cannot take basic introductory courses in physics, math computer science, etc.

See below for a listing of courses that are not acceptable.


Please check with the Undergraduate Office regarding technical electives. Drop by, call, or email us! Courses in the academic calendar on the ECE program table in areas 1 – 7, as long as they are 300 level or higher; are considered technical electives. There are other select technical electives as well. Students may also take a maximum of 1 technical elective from another department, but need to check with the UG office on if the course is acceptable. How to check if a technical elective from another department is acceptable? 1) obtain approval from the ECE UG Office 2) obtain approval from the other Engineering UG Office. Approval should be obtained at the beginning of the term prior to enrolling in the course.


UNACCEPTABLE COURSES (rev. September 2019).

NOTE:  Not every unacceptable course will appear below as course codes/descriptions often change.  Additional courses deemed unacceptable will be added once they are identified.  If you are unsure, ASK!

Aerospace Science and Engineering

  • 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 and 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

  • MIE335H1      Algorithms & Numerical Methods
  • MIE346H1      Analog and Digital Electronics for Mechatronics
  • 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


  • ROB313H1      Introduction to Learning from Data

Statistical Sciences (STA)

  • STA247H1      Probability and Computer Applications
  • STA257H1      Probability and Statistics
  • STA447H1      Stochastic Processes (formerly STA348H1)