Course Descriptions - Undergraduate Calendar 2008-2009

University of Waterloo Home Page | 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 preregistration in a course is less than ten, to cancel the course.
  2. In extraordinary cases an instructor may override the prerequisite conditions listed below.
  3. For course offerings, the E refers to Electrical, Q refers to Computer, 8 refers to Stream 8, 4S refers to Stream 4S. For example, F(E8) means that a course is offered in the Fall if there is a Stream 8 Electrical cohort on campus.

ECE 100s


ECE 100 LAB,LEC,TUT 1.00Course ID: 004747
Fundamentals of Electrical Engineering
Introduction to electrostatics, introduction to magnetic fields, basic dc circuits, mesh and nodal analysis, circuit simplification techniques, ac circuit components, the dynamic of circuits, analysis of ac circuits, sinusoids and phasors, operational amplifiers, transistors as amplifiers, diodes as switches.
[Note: This course has a double weight. Offered: W, S]
Prereq: MATH 117; Level at least 1B Computer Engineering or Electrical Engineering.
Coreq: MATH 119

ECE 102 SEM 0.00Course ID: 009233
Class Professor Seminar
General seminar. [Offered: W, S]
Prereq: 1B Computer Engineering or Electrical Engineering students only

ECE 103 LEC,TUT 0.50Course ID: 009889
Discrete Mathematics for Engineers
Propositional and predicate logic. Sets, functions and sequences. Elementary number theory. Mathematical reasoning. Combinatorics. Boolean algebra. Graphs and trees. Models of computation. [Offered: W(Q8), S(Q4S)]
Prereq: Level at least 1B Computer Engineering or Electrical Engineering/Computer Engineering Option or Electrical Engineering/Software Engineering Option.
Antireq: CO 220, MATH 239, 249

ECE 104 LEC,TUT 0.50Course ID: 011329
Numerical Methods
Application of computational methods to engineering problems. Number systems, errors and error propagation. Roots of nonlinear equations. Introduction to numerical linear algebra. Interpolation and numerical integration. Introduction to numerical solutions of ordinary differential equations, optimization. [Offered: W(E8), S(E4S)]
Prereq: ECE 150; Level at least 1B Electrical Engineering.
Antireq: AMATH 341, CM 271, CS 370, 371, ECE 204, SYDE 312

ECE 126 DIS,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, NE 141/241

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, SYDE 121

ECE 200s


ECE 201 SEM 0.00Course ID: 009234
Class Professor Seminar
General seminar. [Offered: F,W]
Prereq: 2A Computer Engineering or Electrical Engineering students only

ECE 202 SEM 0.00Course ID: 009235
Class Professor Seminar
General seminar. [Offered: F, S]
Prereq: 2B Computer Engineering or Electrical Engineering students only

ECE 204 LEC,TUT 0.50Course ID: 004752
Numerical Methods
Application of computational methods to engineering problems. Introduction to scientific computing software. Number systems, errors and error propagation. Solution of linear and non-linear algebraic equations. Curve fitting. Interpolation and numerical integration. Solution of ordinary and partial differential equations. Introduction to optimization. Emphasis will be placed on algorithm development. [Offered: F(Q4S), S(Q8)]
Prereq: ECE 150; Level at least 2B Computer Engineering.
Antireq: AMATH 341, CM 271, CS 370, 371, ECE 104, SYDE 312

ECE 205 LEC,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 LEC,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 209 LEC,TUT 0.50Course ID: 004754
Electronic and Electrical Properties of Materials
Quantum mechanical concepts, band structure, bonding in molecules and solids, energy bands; electrical, optical, magnetic and thermal properties of materials used in electrical engineering. [Offered: F,W]
Prereq: PHYS 125; Level at least 2A Computer Engineering or Electrical 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(E8), S]
Prereq: (ECE 150, 223; Level at least 2B Computer Eng. or Level at least 3A Electrical Eng.) or (CS 133,SE 141; Level at least 2A Software Eng.) or (CS 125 or 133 or 135 and ECE 223; Computer Science/Digital Hardware Option).
Antireq: CS 251

ECE 223 LAB,LEC,TUT 0.50Course ID: 004756
Digital Circuits and Systems
Number systems. Switching algebra. Hardware description languages. Simplification of Boolean functions. Combinational logic, sequential logic, state machines; their design and implementation. Timing considerations. Implementation technologies. [Offered: F,W]
Prereq: (ECE 100; Level at least 2A Computer Engineering or Electrical Engineering) or (GENE 123; Computer Science/Digital Hardware Option).
Antireq: SE 141

ECE 231 LAB,LEC,TUT 0.50Course ID: 004757
Electronic Devices
Review of band theory and doped semiconductors in thermal equilibrium, charge neutrality, mass action law, recombination and transport mechanisms, Boltzmann relations, derivation of p-n junction dc and ac characteristics, charge storage effects. The bipolar transistor; derivation of dc and ac terminal characteristics, equivalent circuits. The junction field effect transistor (JFET) and metal oxide semiconductor FET, derivation of dc characteristics. [Offered: F(E4S), S(E8)]
Prereq: ECE 100, 209, PHYS 125; Level at least 2B Computer Engineering or Electrical Engineering

ECE 241 LAB,LEC,TUT 0.50Course ID: 004758
Circuit Analysis and Design
An introductory level course on circuit analysis techniques for use in circuit design. The course covers linear circuit analysis and design in detail and touches on extensions for circuits with simple nonlinearities such as op-amps, diodes and transistors. [Offered: F, S]
Prereq: (ECE 100, MATH 211; Level at least 2B Computer Engineering or Electrical Engineering) or (ME 123, 201; Mechanical Engineering/Mechatronics Option) or (GENE 123, MATH 218/228; Computer Science/Digital Hardware Option)

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 150; Level at least 2A Computer Engineering or Electrical Engineering.
Antireq: SE 240

ECE 251 LAB,LEC,TUT 0.50Course ID: 004760
Programming Languages and Translators
Programming paradigms, symbolic programming, formal languages, regular expressions, grammars, program translation, scope, control abstraction, data abstraction, type systems, storage procedures, code generation, program loading, execution. [Offered: F(Q4S), S(Q8)]
Prereq: ECE 150, 250; Level at least 2B Computer Engineering or Electrical Engineering/Computer Engineering Option or Electrical Engineering/Software Engineering Option

ECE 261 LAB,LEC,TUT 0.50Course ID: 004763
Energy Systems
Energy resources and electric power generation. Power system structure: generation, transmission, and distribution. Power system components: generators, transformers, transmission lines, and circuit breakers. Power system analysis: power flow, active and reactive power controls, fault analysis and protection, power system stability. [Offered: F(E4S), S(E8)]
Prereq: ECE 100; Level at least 2B Computer Engineering or Electrical Engineering

ECE 300s


ECE 301 SEM 0.00Course ID: 009236
Class Professor Seminar
General seminar. [Offered: W,S]
Prereq: 3A Computer Engineering or Electrical Engineering students only

ECE 302 SEM 0.00Course ID: 009237
Class Professor Seminar
General seminar. [Offered: F,W]
Prereq: 3B Computer Engineering or Electrical Engineering students only

ECE 309 LEC,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: W(E8), 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, and independence, and Bayes' theorem. Random variables, probability mass and probability density. Expected values. Collections of random variables, joint and marginal probability, correlation and regression. Confidence intervals. Random processes, stationarity and ergodicity, power spectral density. Poisson process, birth-death process and queues. [Offered: W,S]
Prereq: MATH 119; Level at least 3A Computer Engineering or Electrical Engineering

ECE 318 LAB,LEC,TUT 0.50Course ID: 004769
Communication Systems
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, pulse code modulation and time-division multiplexing. [Offered: F,W]
Prereq: (ECE 316, 342, MATH 211; Level at least 3B Computer Engineering or Electrical Engineering) or (MATH 213, STAT 206; Level at least 3B Software Engineering)

ECE 324 LAB,LEC,TUT 0.50Course ID: 004770
Microprocessor Systems and Interfacing
Microprocessor system architecture, buses, memories, peripheral connections, parallel, serial, analog interfaces, magnetic storage media, data communications, testing and debugging. [Offered: W(Q8), S(Q4S)]
Prereq:(ECE 222,223,250; Level at least 3A Computer Engineering or Electrical Engineering) or (CS 241, ECE 222, SE 141, 240; Level at least 3A Software Engineering) or (CS 240, 241, ECE 222,223; Computer Science/Digital Hardware Option).
Antireq: ECE 325

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

ECE 327 LAB,LEC,TUT 0.50Course ID: 004786
Digital System Engineering
Design and modelling of digital systems using hardware description languages. Digital system design process. Functional verification. Prediction, analysis, and optimization of performance, cost and power. Faults and testability. [Offered: F(Q8), W]
Prereq: ECE 222, 223/SE 141; Level at least 3B Computer Engineering or level at least 4A Electrical Engineering or level at least 3A Software Engineering or Computer Science/Digital Hardware Option

ECE 332 LAB,LEC,TUT 0.50Course ID: 004771
Electronic Circuits
Amplifier biasing networks; small-signal equivalent circuits; single and multi-stage small-signal amplifiers; high and low frequency response; negative feedback amplifiers; oscillators; noise in electronic circuits; introduction to large-signal amplifiers, overview of digital circuits. [Offered: F(E8), W(E4S)]
Prereq: ECE 100, 231, 241; Level at least 3A Computer Engineering or Level at least 3B Electrical Engineering

ECE 342 LEC,TUT 0.50Course ID: 004773
Signals and Systems
Discrete and continuous signals, convolution, network equations, simulation graphs, Fourier series and transform, frequency response of networks, Laplace transform, z-transform. [Offered: W, S]
Prereq: ECE 100, 241, MATH 211; 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: F, W(Q8), S(Q4S)]
Prereq: (ECE 250, 251; Level at least 3A Computer Engineering or Electrical Engineering/Computer Engineering Option or Electrical Engineering/Software Engineering Option) or ( CS 241, 343, SE 240; Level at least 3B Software Engineering).
Antireq: CS 350

ECE 355 LAB,LEC,TUT 0.50Course ID: 004775
Software Engineering
Requirement analysis, specifications, software design, software development environments, testing, software project management, quality assurance and control.
[Note: Not open to students in Software Engineering Option. Offered: F(Q8), W(Q4S)]
Prereq: ECE 103, 250, 354; Level at least 3B Computer Engineering or Electrical Engineering/Computer Engineering Option

ECE 362 LAB,LEC,TUT 0.50Course ID: 004776
Modeling and Control of Electric Drives
Principles of electromechanical energy conversion. Rotating machines. DC motors. Induction motors. Synchronous machines. [Offered: F(E8), W(E4S)]
Prereq: (ECE 100; Level at least 3A Computer Engineering or level at least 3B Electrical Engineering) or (SYDE 292; Level at least 3A Systems Design Engineering/Mechatronics Option).
Antireq: ME 269

ECE 370 LAB,LEC,TUT 0.50Course ID: 004777
Electromagnetic Fields
Vector analysis of electrostatic fields: Coulomb's law, Gauss's law, electric potentials, capacitors, boundary conditions in dielectric and conductors. Magnetostatic fields: magnetic forces, Ampere's law, inductors, and magnetic boundary conditions. Poisson's and Laplace's equations. Theory of transmission lines. Smith chart and impedance matching. Time varying fields and Maxwell's equations. Plane wave propagation. [Offered: W(E8), S(E4S)]
Prereq: ECE 100, MATH 212; Level at least 3A Computer Engineering or Electrical Engineering

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]
Prereq: (ECE 342; Level at least 3B Computer Engineering or Electrical Engineering) or (MATH 213; Level at least 3B Software Engineering).
Antireq: ME 360, MTE 360, SYDE 352

ECE 391 SEM 0.25Course ID: 004780
Engineering Design Concepts
Seminar preparing students for the engineering design project done in ECE 492A/B. Discussion of the requirements and available resources. Brief examination of design approaches, project-management issues, and illustrative case studies. Students form a four-person project group, determine a project topic, present/discuss it in class, and complete a project-approval process. [Offered: F, W, S]
Prereq: 3B Computer Engineering or Electrical Engineering or Software Engineering

ECE 400s


ECE 401 SEM 0.00Course ID: 009238
Class Professor Seminar
General seminar. [Offered: S]
Prereq: 4A Computer Engineering or Electrical Engineering students

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

ECE 411 LEC,TUT 0.50Course ID: 004782
Digital Communications
Representation of signals, vector equivalent channel models, and design of signal sets, optimum and maximum-likelihood receivers. Baseband transmission techniques, intersymbol interference, and equalization. Waveform coding by differential pulse code modulation and delta modulation. Techniques of digital modulation and their performance tradeoffs. [Offered: S]
Prereq: (ECE 316, 318, 342; Level at least 4A Computer Engineering or Electrical Engineering) or (ECE 318, MATH 213, STAT 206; Level at least 3B Software Engineering)

ECE 412 LEC,TUT 0.50Course ID: 004783
Coded Digital Communications
Entropy, lossless source coding, and data-compression methodology using Huffman coding, arithmetic coding, and Lempel-Ziv algorithms. Mutual information, channel capacity, and techniques for error correction using block and convolutional codes. Trellis-coded modulation. Direct-sequence and frequency-hopped spread-spectrum systems and applications. [Offered: W]
Prereq: ECE 411; Level at least 4A Computer Engineering or Electrical Engineering or Software 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: (ECE 316, 342; Level at least 4A Computer Engineering or Electrical Engineering) or (MATH 213, STAT 206; Level at least 4A Software Engineering)

ECE 414 LEC,TUT 0.50Course ID: 004785
Wireless Communications
Overview of wireless communications including first and second generations of standards. Characterization of mobile radio propagation channels. Techniques of bandpass transmission for wireless channels. Multiple-access schemes and fundamentals of cellular communications. Wireless networks, mobility and resource management. [Offered: W]
Prereq: (ECE 316, 318, 342, 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 418 LEC,TUT 0.50Course ID: 010125
Communications Networks
Connection admission, switching, routing, and packetization issues in communication networks. Probabilistic description of network events and queuing analysis. Derivation of network-performance statistics from simulation experiments. Design tradeoffs and performance evaluation for connection-level and packet-level services. Examples in Ethernet, Internet, and asynchronous transfer mode (ATM). [Offered: S]
Prereq: (ECE 250, 316, 318; Level at least 4A Computer Engineering or Electrical Engineering) or (CS 457, MATH 213, STAT 206; Level at least 4A Software Engineering)

ECE 428 LEC,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]
Prereq: ECE 222, (ECE 316 or STAT 206); Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CS 456

ECE 429 LEC,TUT 0.50Course ID: 004788
Computer Structures
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: W]
Prereq: One of CS 354, ECE 354, 450; Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering or Computer Science/Digital Hardware Option

ECE 431 LEC,TUT 0.50Course ID: 010385
Radio Frequency Microelectronics
The theory and practice of Radio Frequency (RF) engineering, transmission lines, and scattering parameters; design of RF components (low noise amplifiers, power amplifiers, oscillators, RF power detectors, active/passive mixers, power amplifiers); properties and representation of noise; passive device design (microstrip lines, diodes, IC resistors, IC capacitors, and IC inductors); active device design (bipolar and FET's). [Offered: S]
Prereq: ECE 231; Level at least 4A Computer Engineering or Electrical Engineering

ECE 434 LAB,LEC,TUT 0.50Course ID: 004789
Microsystems Technology
Physical principles, design, and microfabrication technologies pertinent to input (sensor) and output (actuator) devices for multimedia applications such as document and video imaging devices, micromirror projection displays, and micro-electro-mechanical systems. [Offered: W]
Prereq: ECE 209, 231; Level at least 4A Computer Engineering or Electrical Engineering

ECE 437 LAB,LEC,TUT 0.50Course ID: 004792
Integrated VLSI Systems
Integrated system design, memory cells and systems, logic arrays, VLSI design methodologies, applications in digital signal and data processing systems. Low-power, low-voltage design issues. [Offered: W]
Prereq: ECE 222, 223, 332, 438; Level at least 4A Computer Engineering or Electrical Engineering

ECE 438 LAB,LEC,TUT 0.50Course ID: 004793
Digital Integrated Circuits
Switching characteristics of transistors, digital integrated circuits, including ECL, T2L, CMOS, BiCMOS. Low voltage, low-power and high-performance design issues. [Offered: S]
Prereq: ECE 231, 332; Level at least 4A Computer Engineering or Electrical Engineering

ECE 439 LAB,LEC,TUT 0.50Course ID: 004794
Analog Integrated Circuits
Design of analog circuits such as current sources and mirrors, differential, low-noise and feedback amplifiers, mixers and oscillators; applications of these circuits in areas such as A/D and D/A conversion and receiver front-end will be covered. [Offered: W]
Prereq: ECE 231; Level at least 4A Computer Engineering or Electrical Engineering

ECE 443 LEC,TUT 0.50Course ID: 004795
Circuit Analysis and Filter Design
Computer formulation of matrix equations for arbitrary circuits, active network analysis; sensitivity analysis of networks in the frequency domain; design of bilinear and biquad sections; cascade design; approximation methods for lowpass filters; frequency transformation for design of highpass, bandpass, bandstop filters. [Offered: W]
Prereq: ECE 241, 342; Level at least 4A Computer Engineering or Electrical Engineering

ECE 450 LAB,LEC,TUT 0.50Course ID: 004797
Software Systems
Introduction to selected areas of software science and engineering: data abstraction; object oriented approaches; real-time operating systems; translators; software specification, design and testing.
[Note: Not open to students in Computer Engineering, Computer Engineering Option, or Software Engineering Option. Offered: S]
Prereq: (ECE 222, 250; Level at least 4A Electrical Engineering) or (GENE 121, ME 262; Mechanical Engineering/Mechatronics Option) or (SYDE 192, 223; Systems Design Engineering/Mechatronics Option).
Antireq: ECE 354, MTE 241, SYDE 524

ECE 451 LAB,LEC,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: CS 353, 350 or ECE 354; Level at least 3B Computer Engineering/Software Engineering Option or Electrical Engineering/Software Engineering Option or Computer Science/Software Engineering Option.
Antireq: SE 463
(Cross-listed with CS 445)

ECE 452 LAB,LEC,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: CS 445 or ECE 451; 4A Electrical Engineering or Computer Engineering/Software Engineering Option or Computer Science Plans/Software Option
(Cross-listed with CS 446)

ECE 453 LAB,LEC,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 452 or CS 446; 4B Electrical Engineering or Computer Engineering/Software Engineering Option or Computer Science/Software Option
(Cross-listed with CS 447)

ECE 454 LAB,LEC,TUT 0.50Course ID: 004801
Distributed and Network Computing
Principles of distributed systems, networks and protocols, interprocess communication and remote procedure calling, shared file systems, distributed transactions, client-server architectures, network-centric computing. [Offered: S]
Prereq: ECE 222, 354; Level at least 4A Computer Engineering or Electrical Engineering or Software Engineering.
Antireq: CS 454

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

ECE 457 LAB,LEC,TUT 0.50Course ID: 004804
Applied Artificial Intelligence
Artificial intelligence concepts and techniques, including search, inference, knowledge representation and planning. Knowledge-based systems. Applications in electrical and computer engineering, with emphasis on design and maintenance. [Offered: S]
Prereq:(ECE 250;Level at least 4A Computer or Electrical Eng)or(SE 240;Level at least 3B Software Eng)or(MTE 241;Level at least 3B Mechtr Eng)or(ME 262; Mech Eng/Mechtr Opt)or(SYDE 223; Systems Design Eng/Mechtr Option).
Antireq: CS 486, SYDE 422

ECE 463 LAB,LEC,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 100, 241; Level at least 4A Comp. Eng. or Electrical Eng.) or (MTE 120, 220, 320; Level at least 3B Mechatr Eng.) or (ECE 241, ME 123; Level at least 4A Mech. Eng./Mechatr Opt) or (SYDE 292; Level at least 4A Systems Design Eng/Mechtr Opt)

ECE 467 LEC,TUT 0.50Course ID: 012581
Power System Operation and Markets
Economic load dispatch, Kuhn-Tucker conditions of optimality, unit commitment, hydrothermal coordination, power-flow analysis, production simulation, power pools and electricity markets - models and design, calculation of reliability indices, deregulation and reliability, primary and secondary frequency control, steady-state stability, power sector financing and investment planning. [Offered: W]
Prereq: ECE 261; Level at least 4A Computer Engineering or Electrical Engineering

ECE 471 LAB,LEC,TUT 0.50Course ID: 004809
Electromagnetic Waves
Review of Maxwell's and wave equations: application of plane waves: reflection, refraction lossy medium. Scattering parameters, analysis of microwave circuits. Basic microwave circuits. Waveguides: metallic waveguides (rectangular and cylindrical); dielectric waveguides (slab and fiber). Antenna technology. [Offered: S]
Prereq: ECE 370; Level at least 3B Computer Engineering or Level at least 4A Electrical Engineering

ECE 476 LEC,TUT 0.50Course ID: 010386
Antennas and Wireless Systems
Fundamentals of electromagnetic radiation theory applied to practical antennas and radiowave links are presented. Based on practical system models for antennas and radio links, analysis and design of important RF/microwave and wireless communication systems are described. Special propagation effects and antenna behaviors in wireless communication systems (urban macro and micro-cellular, and indoor links) are covered. [Offered: W]
Prereq: ECE 471; Level at least 4A Computer Engineering or Electrical Engineering

ECE 477 LAB,LEC,TUT 0.50Course ID: 011045
Photonic Communication Systems and Devices
This course addresses the physical principles and circuit models for important optical devices and modules as well as their application in photonic circuits and systems. The main application focus is optical fiber communication systems and networks. [Offered: W]
Prereq: Level at least 4A Computer Engineering or Electrical Engineering

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, W]
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)

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: W]
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./Mechtr Opt) or (SYDE 352; Systems Design Eng./Mechtr Opt).
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: S]
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/Mechatronics Option)

ECE 492A PRJ 0.15Course ID: 010037
Engineering Design Project
Individual and group work comprising the design activity and report-preparation phases of the engineering design project. The team-oriented project is to comprise a significant design experience based on the knowledge and skills acquired by students in previous courses and on cooperative work terms. Project groups reconfirm project approval, establish and maintain progress monitoring through a faculty consultant, complete the design work, and submit a written interim report. Groups also prepare the written final report and presentations delivered in ECE 492B. [Offered: F, W, S]
Prereq: ECE 391; 4A Computer Engineering or Electrical Engineering or Software Engineering

ECE 492B WSP 0.35Course 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]
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. [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 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