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.
|ECE1813||Electricity and Magnetism||4 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.
|ECE2214||Digital Logic Design||3 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.
Co-requisite: ECE 2215.
|ECE2215||Digital 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.
|ECE2412||Simulation and Engineering Analysis||4 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.
|ECE2683||Electric 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.
|ECE2701||Electric 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.
|ECE2711||Electric Circuits||4 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.
|ECE2722||Circuits and Systems||4 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).
Co-requisite: MATH 3503 or equivalent.
|ECE3031||Electrical 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.
Co-requisite: ECE 3111.
|ECE3111||Electronics I||4 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.
|ECE3122||Electronics II||4 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.
|ECE3213||Advanced Software Engineering||4 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.
|ECE3221||Computer Organization||4 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.
|ECE3232||Embedded Systems Design||4 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.
|ECE3242||Computer Architecture||4 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.
|ECE3312||Systems and Control||4 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.
|ECE3511||Signals||4 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.
Co-requisite: STAT 2593.
|ECE3612||Electric Machines and Design in Sustainable Energy Systems||4 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.
|ECE3812||Data Communications and Networking||4 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.
|ECE3821||Electromagnetics I||4 ch (3C 1T 1.5L)|
Transmission lines, wave equation, Maxwell’s equations, uniform plane waves, radiated waves, safety standards, introduction to antennas and propagation.
|ECE4813||Electromagnetics II||4 ch (3C 1T 1.5L)|
Electrostatics, magnetostatics, material properties, waveguides (including optical), antennas, radar and radio propagation.
|ECE4040||Electrical and Computer Engineering Design Project||7 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.
|ECE4133||Instrumentation Design||4 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.
|ECE4143||Electronic Circuit Design (O)||4 ch (3C 3*L)|
Considers the philosophy and practice of the design of semiconductor circuits.
Prerequisite: ECE 3122.
|ECE4173||Devices and Circuits for VLSI||4 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.
|ECE4251||Real Time Systems||4 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.
|ECE4253||Digital Communications||4 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.
|ECE4261||Digital Systems Designs||4 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.
|ECE4273||VLSI Systems Design||4 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.
|ECE4323||Modern 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).
|ECE4333||Robotics||4 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.
|ECE4343||Haptic Robotics||4 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.
|ECE4433||Safety Critical Design||4 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.
|ECE4523||Communication Systems||4 ch (3C 3*L)|
Introduces analog and digital communication in the presence of noise. Techniques and application of basic information theory.
Prerequisite: ECE 3511.
|ECE4531||Digital Signal Processing I||4 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.
|ECE4542||Digital Signal Processing II||4 ch (3C 3*L)|
Fourier Methods, Fast Fourier Transform, Filter design, Windows, State Variable Methods, Estimation.
Prerequisite: ECE 4531.
|ECE4553||Introduction to Pattern Recognition||4 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.
|ECE4623||Advanced Electrical Machines||4 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.
|ECE4633||Power System Analysis||4 ch (3C 3*L)|
Introduces many components of a power system.
|ECE4643||Power Electronics||4 ch (3C 3*L)|
Deals with high current rectifiers and inverters. Design parameters and practical firing circuits are analyzed.
|ECE4823||Communications and Network Engineering||4 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.
|ECE4833||Microwave Engineering||4 ch (3C 3*L)|
Topics related to modern microwave systems including design and measurement of passive microwave circuits.
Prerequisite: ECE 3821.
|ECE4913||Independent Project||4 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.
|ECE4923||Introduction to Biomedical Engineering||4 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.
|ECE4933||Special Studies in Electrical Engineering||1 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.
|ECE4943||Topics in Computer Engineering||4 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.