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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Data structures, abstract data types, recursive algorithms, algorithm analysis, sorting and searching, and problem-solving strategies.
ECE 251 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.
ECE 261 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.
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
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
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
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
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
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
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
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
Introduction, basic concepts, process management, interprocess communication and synchronization, memory management, file systems, resource management, interrupt handling, concurrent programming.
ECE 355 Software Engineering
Requirement analysis, specifications, software design, software development environments, testing, software project management, quality assurance and control.
ECE 362 Modeling and Control of Electric Drives
Principles of electromechanical energy conversion. Rotating machines. DC motors. Induction motors. Synchronous machines.
ECE 370 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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Introduction, data models, file systems, database system architectures, query languages, integrity and security, database design.
ECE 457 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.
ECE 463 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.
ECE 467 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.
ECE 471 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.
ECE 476 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.
ECE 477 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.
ECE 484 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.
ECE 486 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.
ECE 488 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.
ECE 492A 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.
ECE 492B 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.
ECE 493 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.
ECE 499 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.



