Course Descriptions - Undergraduate Calendar 2012-2013

University of Waterloo Home | Undergraduate Calendar | Course Description Index | Contact Us | Privacy
University of Waterloo
E L E C T R I C A L   A N D   C O M P U T E R   E N G I N E E R I N G 

Notes

  1. The Department reserves the right, where pre-enrolment in a course is less than twenty, to cancel the course.
  2. In extraordinary cases an instructor may override the prerequisite conditions listed below.
  3. There are planned changes to the elective offerings in fourth year which will appear in a future edition of the calendar.

ECE 100s


ECE 100A SEM 0.20Course ID: 013156
Electrical and Computer Engineering Practice
Areas of research and professional practice in Electrical and Computer Engineering, including the engineer's role in protecting public safety. Exposure to concepts from other Engineering disciplines. Support material for the academic term, cooperative education, and professional or career development.
[Note: This course graded as CR/NCR. Offered: F]
Prereq: Level at least 1A Computer Engineering or Electrical Engineering

ECE 100B SEM 0.20Course ID: 013157
Electrical and Computer Engineering Practice
Areas of research and professional practice in Electrical and Computer Engineering. Exposure to concepts from other Engineering disciplines. Support material for the academic term, cooperative education, and professional or career development.
[Note: This course graded as CR/NCR. Offered: W, S]
Prereq: Level at least 1B Computer Engineering or Electrical Engineering

ECE 103 LEC,TUT 0.50Course ID: 009889
Discrete Mathematics
Propositional logic, predicate logic, set theory, finite automata, temporal logic. [Offered: W, S]
Prereq: Level at least 1B Computer Engineering or Electrical Engineering.
Antireq: CO 220, MATH 239, 249

ECE 105 LEC,TUT 0.50Course ID: 013166
Physics of Electrical Engineering 1
Forces in nature and Newton's laws, Dynamics and circular motion, Work, Energy and conservation of energy. Linear Momentum and linear Impulse, Rotational Dynamics. Oscillations; Simple Harmonic Motion. Wave motion; Traveling waves and standing waves. Thermal Physics; Temperature, Thermal energy and Specific heat, Ideal gas heat engines and Refrigerators. [Offered: F]
Prereq: Level at least 1A Computer Engineering or Electrical Engineering or Software Engineering

ECE 106 LAB,LEC,TUT 0.50Course ID: 013167
Physics of Electrical Engineering 2
Electrostatics; electric field, flux, Gauss's Law, potential and potential energy. Capacitors; Dielectric, capacitance, electric energy storage, charging/discharging. Resistors; charge flow, current, resistance, Kirchhoff's voltage and current laws. Magnetostatic; magnetic force, magnetic fields, Ampere's Law. Inductors; magnetic flux, inductance, magnetic materials, magnetic energy storage. Time-Varying Fields; Faraday's Law, mutual inductance, simple motors and generators. [Offered: W, S]
Prereq: ECE 105, 140; Level at least 1B Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: ECE 126, NE 241, PHYS 112 or 112L

ECE 124 LAB,LEC,TUT 0.50Course ID: 013168
Digital Circuits and Systems
Number systems and Boolean arithmetic. Boolean algebra and simplification of Boolean functions. Combinational circuits. Sequential circuits; design and implementation. Hardware description languages. Timing analysis. Implementation technologies. [Offered: W, S]
Prereq: ECE 140; Level at least 1B Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: ECE 223, SE 141

ECE 126 LAB,LEC,TUT 0.75Course ID: 004749
Introduction to Electrostatics, Magnetism and Electronics
Coulomb's law and electric field, Gauss' law and electric flux, energy and potential, dielectrics, capacitors and capacitances, Poisson's and Laplace's equations, electric currents, metallic conductors, Ohm's law, Kirchhoff's voltage and current laws, resistances, electric energy dissipated, Ampere's circuital law, magnetic materials and magnetic circuits, Faraday's law, inductances, electric energy stored, semiconductors, pn junctions, Zener diode, diode circuits, ideal op-amp and op-amp circuits. [Offered: F]
Prereq: Level at least 2A Software Engineering.
Antireq: ECE 100, 106, NE 141/241

ECE 140 LAB,LEC,TUT 0.50Course ID: 013169
Linear Circuits
Analysis of linear circuits. Voltage, current, resistance, capacitance, inductance, voltage source, current source, dependent sources, Ohm's Law, Kirchoff's Law, nodal analysis, mesh analysis, circuit transformations, operational amplifier circuits, time response, sinusoidal steady-state response. Preparing for, conducting, and reporting of laboratory experiments. Safety-orientation training, including WHMIS assessment, is included in this course. [Offered: F]
Prereq: Level at least 1A Computer Engineering or Electrical Engineering.
Antireq: ECE 100, GENE 123, ME 123, MTE 120

ECE 150 LAB,LEC,TUT 0.50Course ID: 004750
Fundamentals of Programming
Software design process in a high-level programming environment. Programming fundamentals, language syntax, simple data types, control constructs, functions, parameter passing, recursion, classes, arrays and lists, list traversals, introduction to searching and sorting algorithms, basic object-oriented design, polymorphism and inheritance, simple testing and debugging strategies, pointers and references, basic memory management. [Offered: F]
Prereq: Level at least 1A Computer Engineering or Electrical Engineering.
Antireq: CHE 121, CIVE 121, GENE 121, NE 113, SYDE 121

ECE 155 LAB,LEC,TUT 0.50Course ID: 013170
Engineering Design with Embedded Systems
Introduction to embedded systems, review of engineering design and analysis principles, software development life cycle, integrated development environments, use of software requirements and specifications, unified modelling language and documentation, event handling, simulation, project management, project scheduling, testing, verification, and maintenance considerations. [Offered: W, S]
Prereq: ECE 150; Level at least 1B Computer Engineering or Electrical Engineering.
Antireq: ECE 355

ECE 200s


ECE 200A SEM 0.10Course ID: 013159
Electrical and Computer Engineering Practice
Areas of research and professional practice in Electrical and Computer Engineering. Exposure to concepts from other Engineering disciplines. Support material for the academic term, cooperative education, and professional or career development.
[Note: This course graded as CR/NCR. Offered: F, W]
Prereq: Level at least 2A Computer Engineering or Electrical Engineering

ECE 200B SEM 0.10Course ID: 013161
Electrical and Computer Engineering Practice
Areas of research and professional practice in Electrical and Computer Engineering. Exposure to concepts from other Engineering disciplines. Support material for the academic term, cooperative education, and professional or career development.
[Note: This course graded as CR/NCR. Offered: F, S]
Prereq: Level at least 2B Computer Engineering or Electrical Engineering

ECE 205 LAB,LEC,TST,TUT 0.50Course ID: 006891
Advanced Calculus 1 for Electrical and Computer Engineers
Fourier series. Ordinary differential equations. Laplace transform. Applications to linear electrical systems. [Offered: F,W]
Prereq: 2A Electrical Engineering or Computer Engineering
(Cross-listed with MATH 211)

ECE 206 LAB,LEC,TST,TUT 0.50Course ID: 006892
Advanced Calculus 2 for Electrical Engineers
Triple integrals, cylindrical and spherical polar coordinates. Divergence and curl, applications. Surface integrals, Green's, Gauss' and Stokes' theorems, applications. Complex functions, analytic functions, contour integrals, Cauchy's integral formula, Laurent series, residues. [Offered: F]
Prereq: 2B Electrical Engineering
(Cross-listed with MATH 212)

ECE 207 LEC,TUT 0.50Course ID: 013171
Signals and Systems
Discrete, continuous and periodic signals, time- and frequency-domain analysis of continuous- and discrete-time linear systems, periodic signals and Fourier series, non-periodic signals and Fourier transforms. [Offered: F, S]
Prereq: (ECE 140, 240; Level at least 2B Computer Engineering or Electrical Engineering) or (ECE 140, MATH 213; Level at least 3A Software Engineering).
Antireq: ECE 342

ECE 209 LAB,LEC,TUT 0.50Course ID: 004754
Electronic and Electrical Properties of Materials
Review of wave-particle duality, basic quantum mechanics, Schrodinger equation, energy bands in crystals, basic properties of semiconductors, intrinsic and doped semiconductor, electrons and holes, metals and alloys, superconductivity, phonons and heat capacity, dielectric materials, optical properties, dielectric properties and magnetic properties of materials. [Offered: F, S]
Prereq: (ECE 105, 106) or PHYS 125; Level at least 2B Computer Engineering or Electrical Engineering or Software Engineering

ECE 222 LAB,LEC,TUT 0.50Course ID: 004755
Digital Computers
Computer organization. Memory units, control units, I/O operations. Assembly language programming, translation and loading. Arithmetic logic units. Computer case studies. [Offered: F, W]
Prereq: (ECE 124 or 223 or SE 141); (CS 125 or 135 or 137 or ECE 150); Level at least 2A Computer Engineering or Electrical Engineering or Software Engineering or Computer Science/Digital Hardware Option

ECE 224 LAB,LEC,TUT 0.50Course ID: 013172
Embedded Microprocessor Systems
Microprocessor system architecture, bus systems, memory systems, peripherals, parallel interfaces, serial interfaces, analog interfaces, data transfer, synchronization, error detection/correction, testing and debugging. [Offered F, W, first offered Fall 2011, not offered Winter 2012]
Prereq: ECE 124, 155, 222; Level at least 2B Computer Engineering or 3B Electrical Engineering.
Antireq: ECE 324, 325

ECE 240 LAB,LEC,TUT 0.50Course ID: 013173
Electronic Circuits 1
Introduction to electronic signal processing; operational amplifier circuits; diode device and circuits; MOS and bipolar amplifier biasing networks; load-line analysis; diode, MOS and bipolar small-signal equivalent circuits; single-stage small-signal MOS and bipolar amplifiers; transistor switches. [Offered: F, W]
Prereq: ECE 106, 140, MATH 119; Level at least 2A Computer Engineering or Electrical Engineering.
Coreq: MATH 211, 215.
Antireq: ECE 241

ECE 242 LAB,LEC,TUT 0.50Course ID: 013174
Electronic Circuits 2
Electronic circuits and their limitations, including; differential pairs, biasing, the cascode configuration and active loads. Differential and multistage amplifiers. Feedback, stability and compensation. CMOS logic circuits. [Offered: F, S]
Prereq: ECE 240, MATH 211; Level at least 2B Computer Engineering or Electrical Engineering.
Coreq: ECE 207.
Antireq: ECE 332

ECE 250 LAB,LEC,TUT 0.50Course ID: 004759
Algorithms and Data Structures
Data structures, abstract data types, recursive algorithms, algorithm analysis, sorting and searching, and problem-solving strategies. [Offered: F,W]
Prereq: ECE 155; Level at least 2A Computer Engineering or Electrical Engineering.
Antireq: CS 234, 240, 341, SE 240

ECE 254 LAB,LEC,TUT 0.50Course ID: 013175
Operating Systems and Systems Programming
Concepts of operating systems and systems programming; utility programs, subsystems, multiple-program systems; processes, interprocess communication, synchronization, and concurrency; memory management, segmentation, and paging; loading and linking, libraries; resource allocation, scheduling, performance evaluation; I/O systems, storage devices, file systems; protection, security, and privacy. [Offered: F, S]
Prereq: ECE 103, 150, 155, 250; Level at least 2B Computer Engineering or Electrical Engineering.
Antireq: CS 343, 350, ECE 354, MTE 241, SE 350

ECE 290 LEC,TUT 0.50Course ID: 013176
Engineering Profession, Ethics, and Law
An introduction to engineering law and ethics: ethical theories, code of ethics and misconduct, whistle blowing, conflict of interest, health and safety, diversity, workplace equity and sexual harassment, environment, Charter of Rights and Freedoms, torts, contract, and intellectual property. Continuation of studies of professional practice: history, Professional Engineers Act and Regulation, licensing, discipline and enforcement. [Offered: F, W]
Prereq: Level at least 2A Computer Engineering or Electrical Engineering.
Antireq: AFM 231, BUS 231W, CIVE 491, COMM 231, ENVS 201, GENE 167, 411, ME 401, MTHEL 100, PD 22

ECE 300s


ECE 300A SEM 0.10Course ID: 013162
Electrical and Computer Engineering Practice
Areas of research and professional practice in Electrical and Computer Engineering. Exposure to concepts from other Engineering disciplines. Support material for the academic term, cooperative education, and professional or career development.
[Note: This course graded as CR/NCR. Offered W, S]
Prereq: Level at least 3A Computer Engineering or Electrical Engineering

ECE 300B SEM 0.10Course ID: 013163
Electrical and Computer Engineering Practice
Areas of research and professional practice in Electrical and Computer Engineering. Exposure to concepts from other Engineering disciplines. Support material for the academic term, cooperative education, and professional or career development.
[Note: This course graded as CR/NCR. Offered F, W, first offered Fall 2012]
Prereq: Level at least 3B Computer Engineering or Electrical Engineering

ECE 309 LEC,TST,TUT 0.50Course ID: 004767
Introduction to Thermodynamics and Heat Transfer
Macroscopic approach to energy analysis. Energy transfer as work and heat, and the First Law of thermodynamics. Properties and states of simple substances. Control-mass and control-volume analysis. The essence of entropy, and the Second Law of thermodynamics. The Carnot cycle and its implications for practical cyclic devices. Introduction to heat transfer by conduction, convection, and radiation. Basic formulation and solution of steady and transient problems. Issues relevant to the cooling of electrical devices. [Offered: S]
Prereq: (MATH 211; Level at least 3A Computer Engineering or Electrical Engineering) or (MTE 202, 203; Level at least 3A Mechatronics Engineering).
Antireq: ME 250, SYDE 381

ECE 316 LEC,TUT 0.50Course ID: 004768
Probability Theory and Random Processes
Ensemble model of randomness. Conditional probability, independence, and Bayes' theorem. Random variables, probability distribution functions. Expected values. Collections of random variables, joint and marginal probability distributions, and correlation. Confidence intervals. Random processes, stationarity, and power spectral density. [Offered: W, S]
Prereq: MATH 119; Level at least 3A Computer Engineering or Electrical Engineering

ECE 318 LAB,LEC,TUT 0.50Course ID: 004769
Analog and Digital Communications
Spectral density of deterministic and random analog signals. Thermal noise and the white noise model. Amplitude and angle modulation, generation and detection schemes, effects of noise. Techniques for handling digital signals including sampling and reconstruction, quantization, waveform coding, and time-division multiplexing. Overview of digital communications. [Offered: F,W]
Prereq: (ECE 207 or 342), ECE 316, MATH 211; Level at least 3B Computer Engineering or Electrical Engineering)

ECE 325 LAB,LEC,TUT 0.50Course ID: 011044
Microprocessor Systems and Interfacing for Mechatronics Engineering
Synchronization and data flow; interfacing to sensors and actuators; microprocessor system architecture, parallel, serial, and analog interfacing; buses; direct memory access (DMA); interfacing considerations.
[Note: Not open to students in Computer Engineering or Electrical Engineering. Offered: W, S]
Prereq: (GENE 121, ME 262, MTE 140; Level at least 3A Mechatronics Engineering) or (GENE 121, ME 262; Level at least 3A Mechanical Engineering/Mechatronics Option) or (SYDE 121, 192; Systems Design Engineering/Mechatronics Option).
Antireq: ECE 324
(Cross-listed with MTE 325)

ECE 327 LAB,LEC,TST,TUT 0.50Course ID: 004786
Digital Hardware Systems
Design and modelling of digital hardware systems using a hardware description language. Development process. Impact of implementation technologies. Performance analysis and optimization. Functional verification. Timing analysis. Power analysis and optimization. Faults and testability. Reliability and fault tolerance.[Offered: W, S, first Spring offering is Spring 2012]
Prereq: ECE 222; (ECE 224 or 324 or 325/MTE 325) ; (ECE 124 or 223 or SE 141); Level at least 3A Computer Engineering or Electrical Engineering or Software Engineering or Computer Science/Digital Hardware Option

ECE 331 LAB,LEC,TUT 0.50Course ID: 013177
Electronic Devices
Review of band theory and doped semiconductors in thermal equilibrium, charge neutrality, mass action law, recombination and transport mechanisms, Boltzmann relations. Device theory and modeling of p-n junction diode and derivation of dc and ac characteristics, charge storage effects. Pinciples, device theory and modeling of MOSFETs and the derivation of threshold voltage, dc current characteristics, small signal ac models. Principles of Bipolar transistor and derivation of dc and ac terminal characteristics, equivalent circuits. [Offered: W, S]
Prereq: ECE 209; Level at least 3A Computer Engineering or Electrical Engineering.
Antireq: ECE 231

ECE 351 LAB,LEC,TUT 0.50Course ID: 013178
Compilers
Programming paradigms, compilation, interpretation, virtual machines. Lexical analysis, regular expressions and finite automata. Parsing, context-free grammars and push-down automata. Semantic analysis, scope and name analysis, type checking. Intermediate representations. Control flow. Data types and storage management. Code generation. [Offered: W, S, first offered Winter 2012]
Prereq: ECE 103, 150, 155, 250; Level at least 3A Computer Engineering or Electrical Engineering

ECE 354 LAB,LEC,TUT 0.50Course ID: 004774
Real-time Operating Systems
Introduction, basic concepts, process management, interprocess communication and synchronization, memory management, file systems, resource management, interrupt handling, concurrent programming. [Offered: W]
Prereq: CS 240 or SE 240; CS 241; Level at least 3A Software Engineering.
Antireq: CS 350, ECE 254

ECE 356 LAB,LEC,TST,TUT 0.50Course ID: 013179
Database Systems
Introduction, data models, file systems, database system architectures, query languages, integrity and security, database design. [Offered: F, W, first offered Fall 2012]
Prereq: ECE 250; Level at least 3B Computer Engineering or Electrical Engineering.
Antireq: CS 348/448, ECE 456

ECE 358 LAB,LEC,TUT 0.50Course ID: 013180
Computer Networks
This course is a comprehensive introduction to computer networks. The focus is on the concepts, the protocols, and the fundamental design principles that have contributed to the success of the Internet. Topics include: history of the Internet, transmission media and technologies, switching and multiplexing, protocols and layering, LAN (wired and wireless), congestion/flow/error control, routing, addressing, internetworking (Internet) including TCP. [Offered: F, W, S, first offered Fall 2012]
Prereq: (ECE 222, 316; Level at least 3B Computer Engineering or Electrical Engineering) or (ECE 222, STAT 206; Level at least 3A Software Engineering).
Antireq: ECE 428

ECE 361 LAB,LEC,TUT 0.50Course ID: 013181
Power Systems and Components
This course is an introduction to basic modeling and analysis techniques in electricity generation, transmission and distribution, including basic concepts in nonlinear system analysis. Functional descriptions and modeling of generators, transformers, transmission lines, motors and other loads are discussed. Power flow analysis techniques are studied in detail, from the basic equations to their use in power networks. Fault analysis and basic protection concepts are also discussed. [Offered: F, W, first offered Fall 2012]
Prereq: ECE 106, 140; Level at least 3B Computer Engineering or Electrical Engineering.
Antireq: ECE 261

ECE 375 LAB,LEC,TST,TUT 0.50Course ID: 013187
Electromagnetic Fields and Waves
Maxwell's equations; plane waves; time-harmonic fields; waves at planar boundaries; boundary conditions; reflection and transmission; transmission lines; electric fields in matter; magnetic fields in matter. [Offered W, S, first offered Winter 2012]
Prereq: ECE 106, MATH 212; Level at least 3A Computer Engineering or Electrical Engineering.
Antireq: ECE 370, 471

ECE 380 LAB,LEC,TUT 0.50Course ID: 004779
Analog Control Systems
Introduction to control systems. Advantages of closed-loop feedback systems. The role of the system mathematical model. Block diagrams and signal flow graphs. The basic control system design problem, stability in control systems. Frequency response analysis techniques. Root-locus analysis. Elementary lead-lag compensation. [Offered: F, W, last Fall offering is Fall 2011. The course moves to 3A level in Winter 2012 and becomes offered in Winter and Spring. The first Spring offering is Spring 2012.]
Prereq: (ECE 207 or 342; Level at least 3A Computer Engineering or Electrical Engineering) or (MATH 213; Level at least 3A Software Engineering).
Antireq: ME 360, MTE 360, SE 380, SYDE 352

ECE 390 LAB,LEC,TST,TUT 0.50Course ID: 013182
Engineering Design, Economics, and Impact on Society
Introduction to design-project management, the impact of technology on society and the environment, and engineering economics. [Offered: F, W, first offered Fall 2012]
Prereq: ECE 290; Level at least 3B Computer Engineering or Electrical Engineering

ECE 400s


ECE 400A SEM 0.10Course ID: 013164
Electrical and Computer Engineering Practice
Areas of research and professional practice in Electrical and Computer Engineering. Exposure to concepts from other Engineering disciplines. Support material for the academic term, cooperative education, and professional or career development.
[Note: This course graded as CR/NCR. Offered: S, first offered Spring 2013]
Prereq: Level at least 4A Computer Engineering or Electrical Engineering

ECE 400B SEM 0.10Course ID: 013165
Electrical and Computer Engineering Practice
Areas of research and professional practice in Electrical and Computer Engineering. Exposure to concepts from other Engineering disciplines. Support material for the academic term, cooperative education, and professional or career development.
[Note: This course graded as CR/NCR. Offered: W, first offered Winter 2014]
Prereq: Level at least 4B Computer Engineering or Electrical Engineering

ECE 402 SEM 0.00Course ID: 009239
Class Professor Seminar
General seminar. [Offered: W, last offered Winter 2013]
Prereq: 4B Computer Engineering or Electrical Engineering students only

ECE 403 LEC,TUT 0.50Course ID: 007444
Thermal Physics
Temperature and thermodynamic equilibrium. Work, internal energy and heat; first law, with examples. Kinetic theory of gases. Basic probability theory. Microscopic states and entropy. Absolute temperature, reversibility and the second law. Thermodynamic Functions and Maxwell's relations. Phase transitions. Third Law. Other applications of thermodynamics. [Formerly PHYS 258. Offered: F,S]
Prereq: (PHYS 112 or 122) or (ECE 105, 106); ((MATH 227 or 237 or 247); MATH 228 or AMATH 250)) or MATH 211.
Antireq: CHEM 254, ECE 309, ME 250, 354, SYDE 381.
(Cross-listed with PHYS 358)

ECE 404 LEC,TUT 0.50Course ID: 007422
Geometrical and Physical Optics
Electromagnetic waves and the nature of light. Geometrical optics, aberrations. Physical Optics: interference, Fraunhofer and Fresnel diffraction, polarization. Optical instruments.[Offered: F]
Prereq: (One of PHYS 112, 122) or (ECE 105, 106); (One of MATH 108, 119, 128, 138, 148).
Antireq: PHYS 226, 246.
(Cross-listed with PHYS 256)

ECE 406 LAB,LEC,TUT 0.50Course ID: 010053
Algorithm Design and Analysis
Design and analysis of efficient, correct algorithms. Advanced data structures, divide and conquer algorithms, recurrences, greedy algorithms, dynamic programming, graph algorithms, search and backtrack, inherently hard and unsolvable problems, approximation and randomized algorithms, and amortized analysis. [Offered: W]
Prereq: Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CS 466, SYDE 423

ECE 409 LEC,TUT 0.50Course ID: 010055
Cryptography and System Security
Introduction to cryptology and computer security, theory of secure communications, points of attack, conventional cryptographic systems, public key cryptographic systems, standards, firewalls, wireless system security, applications.
[Note: Offered: W, first offered Winter 2014]
Prereq: ECE 358; Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CO 485, 487, CS 458

ECE 411 LEC,TUT 0.50Course ID: 004782
Digital Communications
Baseband transmission techniques, digital multiplexing, line coding, pulse shaping, intersymbol interference (ISI) and equalization. Representation of signals, vector equivalent channel models, design of signal sets, pulse detection and matched filtering, optimum and maximum-likelihood receivers. Techniques of digital modulation, multicarrier modulation, probability of error, synchronization, and their performance trade-offs. Spread-spectrum communication. [Offered: S]
Prereq: Level at least 4A Computer Engineering or Electrical Engineering

ECE 413 LEC,TUT 0.50Course ID: 004784
Digital Signal Processing
Fourier representations in discrete and continuous time. Discrete Fourier transform and fast Fourier transform algorithms. Sampling and quantization errors. Time-frequency tradeoff in short-time spectral analysis. Frequency and phase responses of digital filters by pole-zero placement in the z-plane. Design of digital filters by windowing and transformations from continuous time. Implementation structures. [Offered: S]
Prereq: Level at least 4A Computer Engineering or Electrical Engineering.

ECE 414 LEC,TUT 0.50Course ID: 004785
Wireless Communications
Overview of wireless communications including standards. Characterization of mobile radio propagation channels. Transmission and reception techniques for wireless channels. Fundamentals of cellular communications and multiple-access schemes. Wireless networks, mobility and resource management. [Offered: W]
Prereq: (ECE 411; Level at least 4A Computer Engineering or Electrical Engineering) or (ECE 318, 411, MATH 213, STAT 206; Level at least 4A Software Engineering)

ECE 415 LEC,PRJ,TST,TUT 0.50Course ID: 013431
Multimedia Communications
Overview of multimedia communications system, digital representation of multimedia signals, introduction to multimedia coding theory, entropy, rate distortion function, Huffman coding, arithmetic coding, run-length coding, Lempel-Ziv coding, quantization, Lloyd-Max algorithm, JPEG compression, hybrid video coding, MPEG 4 and H.264 coding standards, rate control, RTP, error control coding, unequal error protection, error concealment, multimedia security, watermarking. [Offered W]
Prereq: ECE 318; Level at least 4A Computer Engineering or Electrical Engineering

ECE 416 LAB,LEC,TST,TUT 0.50Course ID: 013432
Higher Level Network Protocols
This course introduces higher level network protocols to build advanced services and applications. The focus is on the concepts, the protocols, and the fundamental design principles that have contributed to the successful development of an array of novel applications, including web-based, real-time, multimedia, and wireless. Topics include: advanced features of the networking layer (efficient address look-up algorithms, Internet Control Message Protocol, Internet Group Management Protocol), network management protocols (SNMP), routing and transport support for next generation networks (MPLS, Mobile IP, IPv6, and STCP, mobility support in the transport layer), electronic mail protocols (SMTP, POP, IMAP), protocols for multimedia applications (SIP, RTP, RTCP), web services (HTTP), and protocols for emerging applications (ad hoc, sensor, peer-to-peer, and vehicular).
[Note: Offered W, first offered Winter 2014]
Prereq: ECE 358, 418; Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CS 456

ECE 417 LEC,TST,TUT 0.50Course ID: 013433
Image Processing
This course introduces the basic theories and methodologies of digital image processing. Topics include intensity transformations for image enhancement, two-dimensional discrete Fourier transform, spatial and frequency domain linear image filtering, nonlinear image filtering, binary image processing, edge detection, image segmentation, and digital video processing basics. [Offered: W]
Prereq: (Level at least 4A Computer Engineering or Electrical Engineering) or (ECE 207; Level at least 4A Software Engineering).
Antireq: CS 473, SYDE 575

ECE 418 LEC,TUT 0.50Course ID: 010125
Communications Networks
Introduction to communications networks. Network architecture. Probabilistic description of network Queuing analysis. Packet transmission and error control. Dynamic routing. Media access control. Connection admission and congestion control. Design tradeoffs and performance evaluation. Application examples. [Offered: S]
Prereq: ECE 358; Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering

ECE 419 LEC,TST,TUT 0.50Course ID: 013434
Communication System Security
Security architecture and infrastructure, basic principles of trust and trust models. Network domain security, protected tunnels, and network security protocols. Access authentication, remote access, authentication models and mechanisms, authentication servers and protocols. Broadcasting and multicast security, key tree based multicast key distribution, and key revocation methods. Trusted platform, hardware based trust model, secure boot, and operating system security management. Radio link protection, and seamless security for mobility. [Offered: S]
Prereq: (Level at least 4A Computer Engineering or Electrical Engineering) or (ECE 207; Level at least 4A Software Engineering)

ECE 423 LAB,LEC,TST,TUT 0.50Course ID: 013435
Embedded Computer Systems
Specification and design of embedded systems, specification languages, hardware/software co-design, performance estimation, co-simulation, verification, validation, embedded architectures, processor architectures and software synthesis, system-on-a-chip paradigm, retargetable code generation and optimization, verification and validation, environmental issues and considerations.
[Note: Offered W, first offered Winter 2014]
Prereq: (ECE 254 or 354 or SE 350), (ECE 224 or 324 or 325/MTE 325), ECE 327; Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: SYDE 524

ECE 428 LAB,LEC,TST,TUT 0.50Course ID: 004787
Computer Networks and Security
This course examines the upper layer protocols used in computer networks. These include TCP/IP, UDP and the ATM Adaptation Layer as well as network management functions. Facilities for large networks such as the Internet will be discussed (protocols, multimedia, compression, etc.). This is followed by an introduction to cryptography and information security. Elements of classical and public key cryptography as well as their implementations will be covered. Network applications such as electronic commerce and wireless network security will also be discussed.
[Note: Space in Spring for non-Software Engineering students is limited. Offered: W, S, last Winter offering is Winter 2013.]
Prereq: ECE 222, (ECE 316 or STAT 206); Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CS 456, ECE 358

ECE 429 LAB,LEC,TUT 0.50Course ID: 004788
Computer Architecture
Organization and performance of conventional uniprocessors, pipelined processors, parallel processors and multiprocessors; memory and cache structures; multiprocessor algorithms and synchronization techniques; special-purpose architectures. [Offered: S]
Prereq: One of CS 354, ECE 254, 354, 450, SE 350; Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering or Computer Science/Digital Hardware Option.
Antireq: CS 450

ECE 432 LAB,LEC,TST,TUT 0.50Course ID: 013436
Radio Frequency Wireless Microelectronics, Optoelectronic Semiconductor Integrated Circuit & Sensor
Physics, modeling and design of RF and optoelectronic integrated circuit and sensor devices. Advanced small and large signal models for rf passives, diodes, high speed deep submicron mosfets, high electron mobility transistors, silicon-germanium/indium phosphide/gallium arsenide heterojunction bipolar transistors, photovoltaic cells, CMOS/CCD pixel photosensors, light emitting diodes, and laser diodes. Optimum noise and power matching networks, short channel effects, noise models, noise parameters, noise circles, ft, fmax, quality factor. Examples of rf (mixers, LNA, oscillators, power detectors) and imaging/sensor (focal plane arrays, active/passive pixel sensors) circuits and systems. [Offered: S]
Prereq: ECE 209, (231 or 331); Level at least 4A Computer Engineering or Electrical Engineering

ECE 433 LAB,LEC,TST,TUT 0.50Course ID: 013437
Semiconductor Device Technology
Thin film fabrication technology. Fundamentals of emerging amorphous, polycrystalline silicon, transparent oxide electronics, organic electronics, and silicon nanowires. [Offered: W]
Prereq: ECE 209, (231 or 331); Level at least 4A Computer Engineering or Electrical Engineering

ECE 444 LAB,LEC,TST,TUT 0.50Course ID: 013438
Integrated Analog Electronics
Analog electronics exploits the physical behaviour of electronic devices to create electronic systems. The performance of single and multiple transistor amplifying stages are studied. Followed by a study of biasing, current mirror and output stages, which are then combined in the study of operational amplifier circuits. Frequency response and feedback are then reviewed leading to a detailed study of stability and compensation for multistage and operational amplifiers. The course finishes with a look at selected topics from A/D converters, oscillators and phase-locked loops. [Offered: W]
Prereq: Level at least 4A Computer Engineering or Electrical Engineering

ECE 445 LAB,LEC,TST,TUT 0.50Course ID: 013439
Integrated Digital Electronics
Review of the MOS transistor: Static and dynamic behavior, short channel effects, scaling trends, SPICE models. CMOS inverter; combinational CMOS circuit design - logic styles for low power, high performance circuits; sequential CMOS circuit design - flip-flops, pipelines, Schmitt trigger; CMOS arithmetic circuits; interconnect parasitic; clocking & timing considerations in digital VLSIs. [Offered: S]
Prereq: ECE 231 or 331; Level at least 4A Computer Engineering or Electrical Engineering.
Antireq: ECE 437, 438

ECE 451 LAB,LEC,TST,TUT 0.50Course ID: 004413
Software Requirements Specification and Analysis
Introduces students to the requirements definition phase of software development. Models, notations, and processes for software requirements identification, representation, analysis, and validation. Cost estimation from early documents and specifications.
[Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: F,W]
Prereq: (ECE 155, 254) or ECE 354; Level at least 3A Computer Engineering or Electrical Engineering.
Antireq: SE 463
(Cross-listed with CS 445)

ECE 452 LAB,LEC,TST,TUT 0.50Course ID: 004414
Software Design and Architectures
Introduces students to the design, implementation, and evolution phases of software development. Software design processes, methods, and notation. Implementation of designs. Evolution of designs and implementations. Management of design activities.
[Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: F,S]
Prereq: (ECE 155 and 254) or ECE 354; Level at least 3A Computer Engineering or Electrical Engineering.
Antireq: CS 430, SE 464
(Cross-listed with CS 446)

ECE 453 LAB,LEC,TST,TUT 0.50Course ID: 004416
Software Testing, Quality Assurance and Maintenance
Introduces students to systematic testing of software systems. Software verification, reviews, metrics, quality assurance, and prediction of software reliability and availability. Related management issues.
[Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: W]
Prereq: (ECE 155, 254) or ECE 354; Level at least 3A Computer Engineering or Electrical Engineering.
Antireq: SE 465
(Cross-listed with CS 447)

ECE 454 LAB,LEC,TUT 0.50Course ID: 004801
Distributed Computing
Principles of distributed computing; architectures and middleware; servers, processes, and virtualization; upper-layer network protocols, interprocess communication and remote procedure calling; concurrency, synchronization and distributed algorithms, dependable distributed systems and fault tolerance. [Offered: S]
Prereq: ECE 358 and (one of ECE 254, 354, SE 350); Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CS 454, 654

ECE 455 LAB,LEC,TST,TUT 0.50Course ID: 004802
Embedded Software
Concepts, theory, tools, and practice to understand, design, and write embedded software. This course covers computing elements, structures in embedded software, resource access protocols, uniprocessor scheduling, programming-language support, languages for MDD, worst-case execution time analysis, and overview of embedded distributed systems. [Offered: S]
Prereq: ECE 254 or 354 or SE 350; Level at least 4A Electrical Engineering or Computer Engineering or Software Engineering

ECE 456 LAB,LEC,TST,TUT 0.50Course ID: 004803
Database Systems
Introduction, data models, file systems, database system architectures, query languages, integrity and security, database design. [Offered: W, last offered Winter 2013]
Prereq: ECE 250; Level at least 4A Computer Engineering or Electrical Engineering.
Antireq: CS 348, 448, ECE 356

ECE 457A LEC,TST,TUT 0.50Course ID: 013441
Cooperative and Adaptive Algorithms
The course starts by addressing the ill-structured problems and need for computational intelligence methods. It introduces the concepts of heuristics and their use in conjunction with search methods, solving problems using heuristics and metaheuristics, constraints satisfaction. The course also introduces the concepts of cooperation and adaptations and how they are influencing new methods for solving complex problems. The course starts by illustrating how the concepts of cooperation and adaptation are manifested in nature and how such models are inspiring new types of solutions methods. Topics to be covered include: search algorithms, game playing, constraints satisfaction, meta-heuristics, evolutionary computing methods, swarm intelligence, ant-colony algorithms, particle swarm methods, adaptive and learning algorithms and the use of these algorithms in solving continuous and discrete problems that arise in engineering applications. [Offered: S]
Prereq: Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CS 486, SYDE 422

ECE 457B LEC,TST,TUT 0.50Course ID: 013442
Fundamentals of Computational Intelligence
Introduces novel approaches for computational intelligence based techniques including: knowledge based reasoning, expert systems, fuzzy inferencing and connectionist modeling based on artificial neural networks. The focus is on the use of soft computing approaches to deal effectively with real world complex systems for which their mathematical or physical models are either non-tractable or are difficult to obtain. The main thrust is on designing computationally intelligent systems with human like capabilities in terms of reasoning, learning and adaptation. Tools of computational intelligence could be used in a wide range of engineering applications involving real world problems such as in: planning problems, intelligent control, autonomous robotics, speech understanding, pattern analysis, network design, face recognition, communication systems to name a few. [Offered: W]
Prereq: Level at least 4A Computer Engineering or Electrical Engineering or Mechatronics Engineering or Software Engineering or Systems Design Engineering.
Antireq: SYDE 558

ECE 458 LAB,LEC,TST,TUT 0.50Course ID: 013443
Computer Security
Introduction to computer security. Models of security. Elementary cryptography. Software security, vulnerabilities, threats, defenses and secure-software development processes. Threats to networks and defenses. Security issues at the application layer. Secure design principles, techniques and security evaluation. Privacy, ethics and legal issues. [Offered: S]
Prereq: ECE 254 or 354 or SE 350; Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CS 458

ECE 459 LAB,LEC,TST,TUT 0.50Course ID: 013471
Programming for Performance
Profiling computer systems; bottlenecks, Amdahl's law. Concurrency: threads and locks. Techniques for programming multicore processors; cache consistency. Transactional memory. Streaming architectures, vectorization, and SIMD. High-performance programming languages. [Offered: W]
Prereq: ECE 254 or 354 or SE 350; Level at least 4A Electrical Engineering or Computer Engineering or Software Engineering

ECE 462 LAB,LEC,TST,TUT 0.50Course ID: 013445
Electrical Distribution Systems
This course provides the students an understanding of the operation, analysis and design of electric power distribution systems, starting with estimation of the loads on the network to the detail design of the distribution system networks. The primary objective of the course is to provide students with the skills to understand the analytical and design methods and modern tools for solution of problems associated with electric distribution system engineering.
[Note: Offered: S, first offered Spring 2013]
Prereq: ECE 261 or 361; Level at least 4A Computer Engineering or Electrical Engineering

ECE 463 LAB,LEC,TST,TUT 0.50Course ID: 004806
Design & Applications of Power Electronic Converters
Principles of power conditioning. Switching characteristics of power semiconductor devices. Computer simulation of power electronic circuits. Analysis, design, and applications of power converters. [Offered: S]
Prereq: (ECE 261/361; Level at least 4A Comp or Elec Eng)or (MTE 120, 220, 320; Level at least 3B Mechtr Eng) or ((ECE 240 or 241),ME 123; Level at least 4A Mech Eng/Mechtr Opt) or (SYDE 292,292L; Level at least 4A Sys Des Eng/Mechtr Opt)

ECE 464 LAB,LEC,TST,TUT 0.50Course ID: 004807
High Voltage Engineering and Power System Protection
The course provides the fundamentals concepts of generation and measurements of high voltage ac, dc, and impulses. Briefly introduces the students to basic conduction and breakdown mechanisms of insulating materials. The scope of this course also includes understanding the basic protection system, studying the principles for protecting different elements and studying different technologies used in designing protective relays. Exposure to several state-of-art high voltage testing techniques of power system components will ensure that students have knowledge of the industrial solutions to the management of the problems associated with overvoltage and the protection mechanisms used. [Offered: W]
Prereq: ECE 261 or 361; Level at least 4A Computer Engineering or Electrical Engineering

ECE 467 LEC,TUT 0.50Course ID: 012581
Power System Analysis, Operations and Markets
This course provides a basic understanding of the main issues relevant to the operation, analysis and management of power grids, and gives an introduction to the functioning of electricity markets. The course covers the following main technical and economic issues relevant to system operators, utilities and analysts: power system economic operations; short-term operation of power systems; power flow; introduction to optimal power flows; overview of electricity markets; fault calculations; and basic concepts in power system stability and control. [Offered: W]
Prereq: ECE 261 or 361; Level at least 4A Computer Engineering or Electrical Engineering

ECE 473 LAB,LEC,TST,TUT 0.50Course ID: 004810
Radio Frequency and Microwave Circuits
Review of transmission line and scattering matrix representation of radiofrequency (RF) circuits, multiport RF networks, modern RF and microwave planar technology, lumped and distributed microstrip circuits, microwave couplers, Hybrids, resonators, filters, Low-noise amplifiers (LNAs), RF oscillators and mixers, CAD tools for RF circuits, Hybrid and monolithic RF circuits. [Offered: S]
Prereq: ECE 370 or 375 and MATH 212; Level at least 4A Computer Engineering or Electrical Engineering

ECE 474 LAB,LEC,TST,TUT 0.50Course ID: 004811
Radio and Wireless Systems
Modern transmitter and receiver architectures, Noise and linearity in radio and wireless systems, Design considerations of RF/microwave subsystems, radio and wireless system designs, CAD tools for radio and wireless systems, Antennas, Radio wave propagation models, Indoor radio, Satellite communication, Personal communication systems (PCSs). [Offered: W]
Prereq: ECE 370 or 375 and MATH 212; Level at least 4A Computer Engineering or Electrical Engineering

ECE 475 LAB,LEC,TUT 0.50Course ID: 013188
Electromagnetic Radiation and Propagation
Review of Maxwell's equations and uniform plane wave, Electromagnetic wave propagation, reflection and transmission through different uniform media, one dimensional multilayer and periodic structure, electromagnetic waveguides, radiation theory, transmitting and receiving antenna, Antenna arrays and applications, and simple radio-wave propagation models. [Offered: S]
Prereq: ECE 370 or 375 and MATH 212; Level at least 4A Computer Engineering or Electrical Engineering.
Antireq: ECE 471

ECE 477 LAB,LEC,TUT 0.50Course ID: 011045
Photonic Devices and Systems
Review of Maxwell's equations and electromagnetic plane waves, Dielectric waveguides, Optical fibers, lasers and photonic transmitters, Photodetectors and photonic receivers, optical amplifiers, and photonic systems and networks. [Offered: W]
Prereq: ECE 370 or 375 and MATH 212; Level at least 4A Computer Engineering or Electrical Engineering

ECE 481 LAB,LEC,TST,TUT 0.50Course ID: 004813
Digital Control Systems
Performance specifications for design. Dynamic system modelling and basic system identification. Dealing with basic nonlinear effects. Sampled data systems. Discrete-time system stability and dynamic performance. Digital control system design: emulation methods, z-domain, frequency domain, pole placement. Implementation of digital controllers. [Offered: S]
Prereq: (ECE 380 or MTE 360 or SYDE 352; Level at least 4A Computer Engineering or Electrical Engineering or Systems Design Engineering) or (ECE 207, SE 380; Level at least 4A Software Engineering).
Antireq: ECE 484

ECE 484 LAB,LEC,TUT 0.50Course ID: 011332
Digital Control Applications
Dynamic system modeling: linear, nonlinear, state-space, sample data systems, computer simulation, system identification. Discrete system stability and dynamic performance. Nonlinear system analysis, limit cycles. Digital control system design: emulation methods, z-domain, frequency domain, pole placement. Implementation of digital controllers. Laboratory projects in computer control of mechatronic and other systems.
[Note: Space in Fall for non-Mechatronics Engineering students is limited. Offered: F]
Prereq: (ECE 380; Level at least 4A Computer Eng. or Electrical Eng. or Software Eng) or (MTE 360; Level at least 4A Mechatronics Eng) or (ME 360; Mechanical Eng./Mechatronics Option) or (SYDE 352; Systems Design Eng/Mechtr Option).
Antireq: ECE 481

ECE 486 LAB,LEC,TUT 0.50Course ID: 004816
Robot Dynamics and Control
Homogeneous transformations. Kinematics and inverse kinematics. Denavit-Hartenberg convention. Jacobians and velocity transformations. Dynamics. Path planning, nonlinear control. Compliance and force control. [Offered: S]
Prereq:(ECE 380;Level at least 4A Comp or Elect Eng)or(SE 380;Level at least 4A Software Eng)or(MTE 360;Level at least 4A Mechatronics Eng)or(ME 360;Level at least 4A Mech Eng/Mechtr Opt)or(SYDE 352;Level at least 4A Sys Design Eng)
.Antireq:ME 547
(Cross-listed with ECE 687)

ECE 488 LEC,TUT 0.50Course ID: 011333
Multivariable Control Systems
Review of feedback control design fundamentals; SISO controller parameterizations; the fundamental effect of MIMO interaction; introduction to state-space models in continuous and discrete time; SISO techniques for MIMO design; optimal control; model-predictive control design; state estimation; decoupling, MIMO PID control design; applications in areas such as aerospace systems. [Offered: W]
Prereq:(ECE 380;Level at least 4A Comp or Elect Eng)or(SE 380;Level at least 4A Software Eng)or(MTE 360;Level at least 4A Mechatronics Eng)or(ME 360;Level at least 4A Mech Eng/Mechtr Opt)or(SYDE 352;Level at least 4A Sys Design Eng)

ECE 492B WSP 0.50Course ID: 010039
Engineering Design Symposium
Communication component of the engineering design project. Submission of a written final report for the project work done in ECE 492A. Lecture-style technical presentation by group members in a one-half-hour time slot. Poster-style technical presentation with group members available to discuss the project. [Offered: F, W, S, last offered Winter 2013]
Prereq: ECE 492A; 4B Computer Engineering or Electrical Engineering or Software Engineering

ECE 493 LEC,TUT 0.50Course ID: 010059
Special Topics in Electrical and Computer Engineering
Special courses on advanced topics will be offered from time to time, when resources are available. For current offerings, inquire at the ECE Undergraduate Office or check the ECE website.
[Note: Some offerings may include a laboratory component. Offered: W, S]
Department Consent Required
Prereq: Level at least 4A Computer Engineering or Electrical Engineering or Mechatronics Engineering or Nanotechnology Engineering or Software Engineering

ECE 498A PRJ,SEM 0.50Course ID: 013183
Engineering Design Project
Team-oriented design-project which comprises a significant design experience based on the knowledge and skills acquired by students in previous courses and on cooperative work terms. Development of the design specification and plan documents, followed by the initial design work. [Offered: F, W, S, first offered Spring 2013]
Prereq: ECE 300B, 390; Level at least 4A Computer Engineering or Electrical Engineering.
Coreq: ECE 400A.
Antireq: ECE 492A

ECE 498B PRJ,SEM 0.50Course ID: 013184
Engineering Design Project
Completion of the design cycle started in ECE 498A and communication of the engineering design work. Submission of a written final report. Lecture-style technical presentation by group members. Poster-style technical presentation with group members available to discuss the project. [Offered: F, W, S, first offered Winter 2014]
Prereq: ECE 498A; Level at least 4B Computer Engineering or Electrical Engineering.
Coreq: ECE 400B.
Antireq: ECE 492B

ECE 499 PRJ 0.50Course ID: 010040
Engineering Project
An engineering project requiring the student to demonstrate initiative and assume responsibility. The student will arrange for a faculty supervisor prior to registration. Students can propose their own topic. A project report is required at the end of the term.
[Note: The project is approved by a departmental course coordinator. Offered: F, W, S]
Department Consent Required
Prereq: Level at least 4A Computer Engineering or Electrical Engineering