Electrical and Computer Engineering (ECE) courses

ECE 100 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.

ECE 100A Electrical and Computer Engineering Practice

  • Fall

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.

ECE 100B Electrical and Computer Engineering Practice

  • Winter
  • Spring

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.

ECE 103 Discrete Mathematics

  • Winter
  • Spring

Propositional logic, predicate logic, set theory, finite automata, temporal logic.

ECE 104 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.

ECE 105 Physics of Electrical Engineering 1

  • Fall

A first course in physics which introduces basic topics in classical mechanics, heat transfer, waves, and geometric optics.

ECE 106 Physics of Electrical Engineering 2

  • Winter
  • Spring

Electrostatics; electric flux and potential energy; dielectrics, capacitors and capacitance; flow of electric charge and resistance; Kirchhoff's voltage and current laws; magnetism; magnetic materials and circuits; Faraday's Law and inductance; simple motors and generators; electromagnetic waves.

ECE 124 Digital Circuits and Systems

  • Winter
  • Spring

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.

ECE 126 Introduction to Electrostatics, Magnetism and Electronics

  • Fall

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.

ECE 140 Linear Circuits

  • Fall

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.

ECE 150 Fundamentals of Programming

  • Fall

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.

ECE 155 Engineering Design with Embedded Systems

  • Winter
  • Spring

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.

ECE 204 Numerical Methods

  • Fall
  • Spring

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.

ECE 209 Electronic and Electrical Properties of Materials

  • Fall
  • Winter
  • Spring

Quantum mechanical concepts, band structure, bonding in molecules and solids, energy bands; electrical, optical, magnetic and thermal properties of materials used in electrical engineering.

ECE 222 Digital Computers

  • Fall
  • Winter
  • Spring

Computer organization. Memory units, control units, I/O operations. Assembly language programming, translation and loading. Arithmetic logic units. Computer case studies.

ECE 223 Digital Circuits and Systems

  • Fall
  • Winter
  • Spring

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.

ECE 231 Electronic Devices

  • Fall
  • Spring

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.

ECE 241 Circuit Analysis and Design

  • Fall
  • Spring

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.

ECE 250 Algorithms and Data Structures

  • Fall
  • Winter

Data structures, abstract data types, recursive algorithms, algorithm analysis, sorting and searching, and problem-solving strategies.

ECE 251 Programming Languages and Translators

  • Fall
  • Spring

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.

ECE 261 Energy Systems

  • Fall
  • Spring

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.

ECE 309 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.

ECE 316 Probability Theory and Random Processes

  • Winter
  • Spring

Basic probability theory. Random variables. Distributions: Bernoulli, Binomial, Poisson, Normal. Statistical estimation. Hypothesis testing. Joint distributions and correlation. Regression. Goodness-of-fit tests. Moment generating functions. Central limit theorem. Statistical quality control. Theory of queues. Stochastic processes.

ECE 318 Analog and Digital Communications

  • Fall
  • Winter

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.

ECE 324 Microprocessor Systems and Interfacing

  • Fall
  • Spring

Microprocessor system architecture, buses, memories, peripheral connections, parallel, serial, analog interfaces, magnetic storage media, data communications, testing and debugging.

ECE 325 Microprocessor Systems and Interfacing for Mechatronics Engineering

  • Winter
  • Spring

Synchronization and data flow; interfacing to sensors and actuators; microprocessor system architecture, parallel, serial, and analog interfacing; buses; direct memory access (DMA); interfacing considerations.

ECE 327 Digital Hardware Systems

  • Fall
  • Winter
  • Spring

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.

ECE 332 Electronic Circuits

  • Fall
  • Winter
  • Spring

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.

ECE 342 Signals and Systems

  • Fall
  • Winter
  • Spring

Discrete and continuous signals, convolution, network equations, simulation graphs, Fourier series and transform, frequency response of networks, Laplace transform, z-transform.

ECE 354 Real-time Operating Systems

  • Fall
  • Winter
  • Spring

Introduction, basic concepts, process management, interprocess communication and synchronization, memory management, file systems, resource management, interrupt handling, concurrent programming.

ECE 355 Software Engineering

  • Fall
  • Winter
  • Spring

Requirement analysis, specifications, software design, software development environments, testing, software project management, quality assurance and control.

ECE 362 Modeling and Control of Electric Drives

  • Fall
  • Winter
  • Spring

Principles of electromechanical energy conversion. Rotating machines. DC motors. Induction motors. Synchronous machines.

ECE 370 Electromagnetic Fields

  • Fall
  • Winter
  • Spring

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.

ECE 380 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.

ECE 391 Engineering Design Concepts

  • Fall
  • Winter
  • Spring

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.

ECE 411 Digital Communications

  • Spring

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.

ECE 412 Coded Digital Communications

  • Winter

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.

ECE 413 Digital Signal Processing

  • Spring

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.

ECE 414 Wireless Communications

  • Winter

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.

ECE 418 Communications Networks

  • Spring

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).

ECE 428 Computer Networks and Security

  • Fall
  • Winter
  • Spring

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.

ECE 429 Computer Structures

  • Winter

Organization and performance of conventional uniprocessors, pipelined processors, parallel processors and multiprocessors; memory and cache structures; multiprocessor algorithms and synchronization techniques; special-purpose architectures.

ECE 431 Radio Frequency Microelectronics

  • Spring

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).

ECE 434 Microsystems Technology

  • Winter

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.

ECE 437 Integrated VLSI Systems

  • Winter

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.

ECE 438 Digital Integrated Circuits

  • Spring

Switching characteristics of transistors, digital integrated circuits, including ECL, T2L, CMOS, BiCMOS. Low voltage, low-power and high-performance design issues.

ECE 439 Analog Integrated Circuits

  • Winter

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.

ECE 443 Circuit Analysis and Filter Design

  • Winter

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.

ECE 451 Software Requirements Specification and Analysis

  • Fall
  • Winter

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.

ECE 452 Software Design and Architectures

  • Fall
  • Spring

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.

ECE 453 Software Testing, Quality Assurance and Maintenance

  • Winter

Introduces students to systematic testing of software systems. Software verification, reviews, metrics, quality assurance, and prediction of software reliability and availability. Related management issues.

ECE 454 Distributed and Network Computing

  • Spring

Principles of distributed systems, networks and protocols, interprocess communication and remote procedure calling, shared file systems, distributed transactions, client-server architectures, network-centric computing.

ECE 456 Database Systems

  • Fall
  • Winter
  • Spring

Introduction, data models, file systems, database system architectures, query languages, integrity and security, database design.

ECE 457 Applied Artificial Intelligence

  • Spring

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.

ECE 463 Design & Applications of Power Electronic Converters

  • Spring

Principles of power conditioning. Switching characteristics of power semiconductor devices. Computer simulation of power electronic circuits. Analysis, design, and applications of power converters.

ECE 467 Power System Operation and Markets

  • Winter

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.

ECE 471 Electromagnetic Waves

  • Fall
  • Spring

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.

ECE 476 Antennas and Wireless Systems

  • Winter

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.

ECE 477 Photonic Communication Systems and Devices

  • Winter

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.

ECE 484 Digital Control Applications

  • Fall
  • Winter

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.

ECE 486 Robot Dynamics and Control

  • Winter

Homogeneous transformations. Kinematics and inverse kinematics. Denavit-Hartenberg convention. Jacobians and velocity transformations. Dynamics. Path planning, nonlinear control. Compliance and force control.

ECE 488 Multivariable Control Systems

  • Spring

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.

ECE 492A Engineering Design Project

  • Fall
  • Winter
  • Spring

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.

ECE 492B Engineering Design Symposium

  • Fall
  • Winter
  • Spring

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.

ECE 493 Special Topics in Electrical and Computer Engineering

  • Winter
  • Spring

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.

ECE 499 Engineering Project

  • Fall
  • Winter
  • Spring

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.