Electrical and Computer Engineering Courses

NOTE: See the beginning of Section H for abbreviations, course numbers and coding.

The *denotes labs which are held on alternate weeks. 

A minimum grade of C is required for all prerequisites and all core and technical elective courses used for credit towards to B.Sc.E. degree. 

NOTE: Not all technical electives are offered every year. Please check with the ECE Department and/or the online timetable.

Electrical and Computer Engineering program description.

ECE1813Electricity and Magnetism4 ch (3C 1T 2L)

An introduction to the fundamentals of electricity and magnetism and applications. Covers concepts of charge, electric fields, voltage, current, power, energy, magnetic fields and the link between electricity and magnetism for the creation of machines. Includes resistors, resistance, Ohm's law, Kirchoff's voltage and current laws, some electrical properties of materials. Electric sources, simple series, parallel, and series-parallel DC circuits and mesh analysis are examined. Energy conversion and simple electric machines are examined. The behaviour and use of common sensors and transducers are discussed.

Prerequisite: Two years of high school physics.

Corequisite: MATH 1003.

ECE2214Digital Logic Design3 ch (3C 1T)

An introductory course to practical aspects of digital system design. The course covers digital logic design, including basic design concepts and implementation technology, number representation, synthesis of combinational and sequential logic, and the use of HDL and computer-based tools.

Prerequisite: CS 1003 or CS 1073 or equivalent. Recommended ECE 1813.

Co-requisite: ECE 2215.

ECE2215Digital Logic Design Laboratory 1 ch (2L)

This is an introductory course to practical aspects of digital system design. Course includes the design of digital circuits with CAD tools and VHDL hardware description language.

Prerequisite: CS 1003 or CS 1073 or equivalent. Recommended ECE 1813.

Co-requisite: ECE 2214.
ECE2412Simulation and Engineering Analysis4 ch (3C 1.5L)

An introduction to modeling and numerical methods as applied in the solution of engineering problems. The solution of nonlinear equations, polynomials, curve fitting, numerical integration and difference equations. Simulation tools such as MATLAB will be used. 

Prerequisites: CS 1003 or CS 1073 or equivalent; ECE 1813 or equivalent; MATH 1013; MATH 1503 or equivalent.

ECE2683Electric Circuits and Machines (for non-electricals)4 ch (3C 1T 3*L)

Network analysis including AC. Introduction to transformers, DC machines and AC machines. Cannot be used for credit by students in the Electrical Engineering and Computer Engineering programs.  

Prerequisites: ECE 1813 or equivalent, MATH 1013, MATH 1503

ECE2701Electric Circuits and Electronics (for non-electricals)4 ch (3C 1T 3*L)

Network analysis including AC. Introduction to electronic devices, circuits, and motors. Cannot be used for credit by students in the Electrical Engineering and Computer Engineering programs. 

Prerequisites: ECE 1813 or equivalent, MATH 1013, MATH 1503

ECE2711Electric Circuits4 ch (3C 1T 3*L)

Basic DC circuits: Network analysis and theorems. AC circuits: introduction of phasors, Network analysis and theorems applied to AC circuits.

Prerequisites: MATH 1013, ECE1813 or equivalent. 

ECE2722Circuits and Systems4 ch (3C 1T 3*L)

Network analysis. Transient and steady state responses. Transfer functions, complex frequencies, poles and zeros, Laplace Transforms. Frequency Response and Bode Plots. Filters (passive and active).

Prerequisites: ECE 2711 and MATH 1503 or equivalent.

Co-requisite: MATH 3503 or equivalent. 

ECE3031Electrical and Computer Engineering Design 4 ch (3C 1T 1.5L)

The emphasis is on application of design methodologies to electrical and computer engineering design problems in some major areas of Electrical Engineering. Topics include: design specifications and requirements, simulation and construction, laboratory measurement techniques, design verification, the implementation cycle, environmental impact, project management, economic evaluation and safety assessment. One or more design projects form an integral part of the course. 

Prerequisites: ECE 2722, ECE 2213 or ECE 2214 and ECE 2215, ECE 2412, ENGG 1001, ENGG 1003, ENGG 1015

Co-requisite: ECE 3111

ECE3111Electronics I4 ch (3C 1T 3*L)

An introduction to analog electronics using a device-based approach. The course starts with basic nomenclature and the ideal amplifier model concept. Semiconductor diodes, BJTs and MOSFETs are then introduced followed by how these devices can be used to implement single-stage small-signal amplifiers. To compliment this overall analog approach, the use of both BJTs and MOSFETs in digital logic gates is also covered which in turn introduces the concept of noise margins.

Prerequisite: ECE 2711 or ECE 2701.

ECE3122Electronics II4 ch (3C 1T 3*L)

This course follows a similar approach to Electronics I (ECE 3111), however in this more advanced course, the ideal devices introduced earlier are replaced with real devices. The overall theme of this course is frequency response and feedback techniques as applied to small-signal amplifiers. In addition, circuit modeling using a computer is introduced and used as a design aid. 

Prerequisites: ECE 2722, ECE 3111

ECE3213Advanced Software Engineering4 ch (3C 3*L)

The methods and tools of software engineering applicable to engineering systems (such as real time or embedded systems) are considered with engineering emphasis. Topics include design tools and techniques, project management, requirements definition, specifications, testing, verification and validation, maintenance for the engineering system context.

Prerequisite: CS 2033

ECE3221Computer Organization4 ch (3C 1T 3*L)

Register transfer systems and datapaths, microprocessors, microprocessor architecture and operation, instruction formats, assembly language programming, procedures and parameter passing, system bus timing, interfacing memory IO ports, serial and parallel data transfer, interrupts. 

Prerequisite: ECE 2213 or ECE 2214.

Co-requisite: ECE 2215, CS 1023 or CS 1083.
ECE3232Embedded Systems Design4 ch (3c 2L)

A hardware oriented course with emphasis on the components and techniques used in the design of embedded systems. Topics include system design and methodologies and techniques, microcontroller hardware design, software design using C, testing and implementation. A team project will be used to provide the opportunity to apply the content of this course to the development of an embedded application. Most lecture material will be delivered in the context of this project. 

Prerequisites: CS 1023 or CS 1083; ECE 3221

ECE3242Computer Architecture4 ch (3C 3*L)

Important aspects of computer architecture will be covered with a unifying theme of computer system performance. Topics include computer evolution, system busses, main memory, cache memory, memory management, CPU structure, CPU pipelining, superscalar processors, reduced instruction set computers, 64-bit processors, and parallel processing architectures.

Prerequisites: ECE 2215, ECE 3221

ECE3312Systems and Control4 ch (3C 1T 3*L)

Mathematical models of dynamic systems, linear systems, analysis in the time and frequency domain, stability, Routh-Hurwitz and Nyquist stability criteria, feedforward and feedback control, PID controllers, principles of feedback design.

Prerequisites: ECE 2722, MATH 3503, ENGG 1082

ECE3511Signals4 ch (3C 1T 3*L)

Discrete-time (DT) and continuous-time (CT) signals. Signal characterization. Basic signal manipulation. Linear time-invariant systems and the convolution integral/sum. Signal approximation via orthogonal signal sets. Fourier Series. The CT Fourier Transform (FT) and properties. Sampling and reconstruction of signals. The DTFT and its properties. The DFT.

Prerequisites: ECE 2722 and MATH 3503

Co-requisite: STAT 2593

ECE3612Electric Machines and Design in Sustainable Energy Systems4 ch (3C 1T 1.5L)

Covers the basic theory of, transformers, DC motors/generators and AC polyphase machines, including synchronous and induction machines. This material is augmented with the application and design of such machines utilized in Sustainable Energy systems.

Prerequisites: ENGG 1082, MATH 2513, ECE 2711

ECE3812Data Communications and Networking4 cc (3C 3*L)

Data transmission fundamentals including signal encoding, error control, flow controls, multiplexing, switching. Protocol architectures (OS, TCP/IP). Network protocols peer to peer, medium access control, routing. Local area networks: Ethernet, wireless. 

Prerequisites: ECE 3221

ECE3821Electromagnetics I4 ch (3C 1T 1.5L)

Transmission lines, wave equation, Maxwell’s equations, uniform plane waves, radiated waves, safety standards, introduction to antennas and propagation. 

Prerequisites: MATH 3503, MATH 2513, ECE 2711

ECE4813Electromagnetics II4 ch (3C 1T 1.5L)

Electrostatics, magnetostatics, material properties, waveguides (including optical), antennas, radar and radio propagation.

Prerequisites: ECE 2711ECE 3821MATH 2513 and MATH 3503

ECE4040Electrical and Computer Engineering Design Project7 ch (1*C 6L) [W]

Working in teams, students will complete an electrical engineering design project that draws on their knowledge and skills obtained in previous courses. Student teams will design a structure, system, or process to meet a broad range of specified constraints. The development process should consider a broad range of constraints including health and safety, sustainable development and environmental stewardship. Students will manage their projects professionally, prepare a comprehensive written report, and present their design work orally. 

Prerequisites: CS 1023 or CS 1083, and 52 credit hours of ECE core courses. 

ECE4133Instrumentation Design4 ch (3C 3*L)

This course considers the design of a general-purpose data acquisition system. The electronic design engineer of today can no longer be thought of as a digital or analog designer. Consequently, this course melds the analog and digital electronics areas with a unified engineering approach emphasizing the practical aspects involved. Computer aided design tools are used wherever possible. 

Prerequisites: ECE 3122, ECE 3221

ECE4143Electronic Circuit Design (O)4 ch (3C 3*L)

Considers the philosophy and practice of the design of semiconductor circuits. 

Prerequisite: ECE 3122

ECE4173Devices and Circuits for VLSI4 ch (3C 3*L)

Introduction to circuit design and layout. Basic digital gates and clocked systems. Basic RF circuits and components and devices for RF. CAD tools for simulation and layout. 

Prerequisites: ECE 2213 and ECE 3122

ECE4251Real Time Systems4 ch (3C 2L)

Real time system design and implementation: basic concurrency theory including scheduling, mutual exclusion and process management, task synchronization and communication, operating system kernels, real time system hardware, software for real time embedded systems.

Prerequisite: ECE 3232

ECE4253Digital Communications4 ch (3C 3*L)

Covers the fundamentals of modern digital communications, coding and information theory, error detection and correction, data compression, modulation and models for telecommunications and current international standards.

PrerequisitesECE 3221, ECE 3511.

ECE4261Digital Systems Designs4 ch (3C 3*L)

Advanced study of the digital system design methodology. Design methods, models and approaches including: RTL Design, SOC design, and testing methodologies, Intellectual Property (IP), reuse, software-hardware co-design, hardware description languages (HDL), structural and behavioral models, design for low power. One or more design projects. 

Prerequisite: ECE 3232

ECE4273VLSI Systems Design4 ch (3C 3*L)

Methods and tools for the design of FPGA-based digital circuits with focus on large-scale systems, i.e. digital signal and arithmetic processors, microcomputers. VLSI design process, standards, constraints, implementation, technology-dependent optimization, simulation, testing, and verification. Multi-FPGA systems. FGPA-based peripheral devices. One or more design projects.

Prerequisite: ECE 3232.

ECE4323Modern Control Systems and Applications 4 ch (3C 3*L)

Introduces the industrial context for the application of control theory, including system modeling (linear, nonlinear, discrete, continuous and probabilistic models) and problem definition, determining system components and architectures, dealing with limitations and constraints (nonlinearity, disturbances and uncertainties), standard and advanced controls design (linear, nonlinear, and optimal control methods) and tuning methods. Computer-aided controls engineering is emphasized (algorithms/MATLAB). 

Prerequisite: ECE 3312 or CHE 4601 or ME 3623

ECE4333Robotics4 ch (3C 2L)

This is a project based course where students design a variety of subsystems that are integrated and tested on a mobile robot. Topics include: actuators, PWM, H-bridges, position and range sensors, velocity sensors, optical sensors and switches, strain gauges, position and velocity control, electro-mechanical subsystems, planning and trajectory generation, computer software and hardware interfacing.

Prerequisites: ECE 3221 or equivalent, ECE 3312 or equivalent. 

ECE4343Haptic Robotics4 ch (3C 3*L)

Haptics is the science and technology of creating the sensation of touch using robotic devices. This course will cover the three interelated domains of human physiology, mechatronics and control, to develop haptic robots that render a variety of environments.

Prerequisite: ECE 3312 or ME 3623.

ECE4433Safety Critical Design4 ch (3C 3*L)

This elective covers the reliability, availability and fault tolerance of computer systems. It introduces topics related to fault-tolerant computing reliability of hardware and software implementation of engineering systems. It includes fail-safe and fail-operate computer systems design, qualitative analysis of safety-critical systems, risk analysis, fault tolerance techniques, reparability, and redundancy.

Prerequisites: STAT 2593 and ECE 3312

ECE4523Communication Systems4 ch (3C 3*L)

Introduces analog and digital communication in the presence of noise. Techniques and application of basic information theory.

Prerequisite: ECE 3511

ECE4531Digital Signal Processing I4 ch (3C 1T 3*L)

Fundamentals of discrete-time processing. Difference equations and their solutions; the Z transform and its properties. Transfer function, frequency response, impulse response, and realization structures for discrete-time systems, cross-correlation and power spectral density. Discrete time filters: types, effects of pole-zero placement, the Bilinear Transform. Circular convolution and the DFT.

Prerequisites: ECE 2213 or ECE 2214 and ECE 2215ECE 3511.

ECE4542Digital Signal Processing II4 ch (3C 3*L)

Fourier Methods, Fast Fourier Transform, Filter design, Windows, State Variable Methods, Estimation. 

Prerequisite: ECE 4531

ECE4553Introduction to Pattern Recognition4 ch (3C 3*L)

An introduction to pattern recognition and its applications. Topics include Bayesian decision theory and parameter estimation, feature generation and selection, parametric vs. nonparametric classification techniques, supervised vs. unsupervised, learning and clustering.

Prerequisites: ECE 3511, STAT 2593.
ECE4623Advanced Electrical Machines4 ch (3C 3*L)

Covers principles of operation, controls and applications of single phase induction motors, permanent magnet machines including permanent magnet synchronous machines and brushless DC motors, servo motors, and other special electrical machines.

Prerequisite: ECE 3612

ECE4633Power System Analysis4 ch (3C 3*L)

Introduces many components of a power system. 

Prerequisite: ECE 3612, ECE 2722, or ECE 3312

ECE4643Power Electronics4 ch (3C 3*L)

Deals with high current rectifiers and inverters. Design parameters and practical firing circuits are analyzed.

Prerequisite: ECE 3111, ECE 3612

ECE4823Communications and Network Engineering4 ch (3C 3*L)

Advanced network architectures: RSVP, MLPS, RTP. Modeling and simulation of data networks: queuing models for media access, error control and traffic management protocols, modeling of traffic and inter-arrival time, performance analysis. Communication network design. Network management and security.

Prerequisites: STAT 2593 or STAT 3083; ECE 3221 or CS2545.

ECE4833Microwave Engineering4 ch (3C 3*L)

Topics related to modern microwave systems including design and measurement of passive microwave circuits. 

Prerequisite: ECE 3821

ECE4913Independent Project4 ch (8L) [W]

An independent project. Students work under the supervision of a chosen faculty member. Students are responsible for finding a supervisor and initiating the project. Deliverables include a comprehensive report detailing the work. 

Prerequisite: Successful completion of 110 ch in the engineering program.

ECE4923Introduction to Biomedical Engineering4 ch (3C 3*L)

Introduces biomedical concepts in the context of electrical engineering. Topics covered include basic anatomy and physiology, biopotential origination and modelling, biosignal measurement instrumentation, biosignal analysis and a survey of medical devices and health care technologies.

PrerequisiteECE 2412, ECE2701 or ECE 3111.

ECE4933Special Studies in Electrical Engineering1 ch

With the approval of the Department Chair and under the guidance of a member of the faculty, a student may perform special studies and investigations related to the undergraduate program. Restricted to students in their final year of study.

ECE4943Topics in Computer Engineering4 ch (3C 3*L)

A selected area of computer engineering with a unifying theme will be explored in depth. The topics covered are selected from one or more of the following areas: parallel processing, operating systems, concurrent system performance, network based parallel computing, embedded system issues, algorithms in real-time, computer system modeling analysis.

Prerequisite: ECE 3232