Courses

This section lists undergraduate and graduate level courses and their descriptions offered by the Electrical Engineering Department. 

Undergraduate Courses

ECE101
Communication Theory

Information theory: entropy, information, channel capacity, rate- distortion functions, theoretical limits to data transmission and compression. Error control coding: block, cyclic and convolutional codes, Viterbi algorithm. Baseband and bandpass signals, signal constellations, noise and channel models. Analog and digital modulation formats (amplitude, phase and frequency), MAP and ML receivers, ISI and equalization. Coherent and non- coherent detection, carrier recovery and synchronization. Performance: computation of SNR, BER, power and bandwidth requirements. TDMA, FDMA, CDMA.
3 credits. Prerequisites: Ma 224 and ECE 111

ECE103
Communication Networks

Analysis and design of communication networks. Network protocols, architecture, security, privacy, routing and congestion control, Internet, local area networks, wireless networks, multimedia services. Physical layer, multiple access techniques, transport layer. Introduction to probabilistic and stochastic analytic techniques for communication networks. Simulation techniques.
3 credits. Prerequisites: ECE 150 and Ma 224

ECE110
MATLAB Seminar: Signals and Systems

A weekly hands-on, interactive seminar that introduces students to MATLAB, in general, and the Signal Processing Toolbox in particular. Students explore scientific computation and scientific visualization with MATLAB. Concepts of signal processing and system analysis that are presented in ECE 111 or other introductory courses on the subject are reinforced through a variety of demonstrations and exercises. It is strongly encouraged for students taking a first course in signals and systems, or for students expecting to use MATLAB in projects or courses.
0 credits

ECE111
Signal Processing and Systems Analysis

A presentation of signals and systems that does not rely on prior knowledge of electrical circuits or differential equations. Sine waves, phasors, continuous-time and discrete-time signals, sampling. Starting from elementary discrete-time systems (FIR filters), and moving on to more complex systems (IIR digital filters and analog filters), concepts such as impulse response, convolution, frequency response, transfer functions (z- transform and Laplace transform) are presented. Block and signal-flow diagrams. Linearity, causality, time- invariance, stability. Feedback: open- loop and closed-loop gain. Transient response, poles and zeros. Vector spaces of signals, Fourier analysis, modulated signals, random signals. Examples include speech and audio signals, communication and control systems. Extensive use of MATLAB.
3 credits. Prerequisite: Ma 113; corequisite: ECE 110

ECE114
Digital Signal Processing

Review of Laplace and z-transforms. Minimum-phase and all-pass functions. Multidimensional signals, systems and Fourier analysis. Analog filter design, digital IIR and FIR filter design. Sampling, multirate systems and filter banks, A/D and D/A converter models. Discrete-time state-space. Filter structures, quantization effects and design to mitigate quantization effects. DFT and FFT. Spectral analysis of deterministic and random signals. Introduction to adaptive filters. Differential coding, transform coding. Speech, audio and video signals. Extensive use of MATLAB.
3 credits. Prerequisites: Ma 240 and ECE 111

ECE121
Control Systems

Block and signal-flow diagrams, Mason’s theorem. Laplace transform, frequency response, Bode plots, root locus, Routh-Hurwitz array. Analysis of feedback control systems: open-loop and closed-loop gain, Nichols chart, Nyquist diagram, gain and phase margin. Continuous-time state-space analysis, state-variable feedback, canonical forms, observability and controllability. Second-order models, transient and steady-state performance. Emphasis on analog systems, although digital control systems will be discussed as time allows. Extensive use of MATLAB.
3 credits. Prerequisites: Ma 240 and ECE 111

ECE131
Solid State Materials (for students admitted prior to September 2010)

Applied solid-state physics with emphasis on semiconductor materials. Crystals, quantum mechanics, Schrodinger equation, energy bands, Fermi-Dirac statistics, Fermi levels. Semiconductor physics: electrons and holes, doping, diffusion and drift, generation-recombination, mobility. Physics of PN junction and BJT; depletion, carrier injection, minority carrier profiles, Ebers-Moll equations, junction capacitance, hybrid-pi model. Breakdown, metal-semiconductor contacts, heterojunctions, fabrication techniques, temperature effects and additional topics as time allows. Diode circuits; DC analysis of BJTs in active, saturated and cutoff modes; single transistor amplifiers and small-signal models.
3 credits. Prerequisite: ECE 141

ECE132
Electro-mechanical Energy Conversion

Analysis of energy sources and energy converters. Principles of electro-mechanical energy conversion; singly and multiply excited systems; rotating and linear machines; three- phase circuits; magnetic circuits and transformers; torque and induced voltage from field  considerations; synchronous machines; induction motors; DC machines. Introduction to power electronics. Applications including high-speed transportation, energy storage and interconnection of distant generating stations. 
3 credits. Prerequisites: ESC 120 or ECE 141 and Ph 213

ECE135
Engineering Electromagnetics

This course emphasizes time-varying fields, with topics presented from electrostatics and magnetostatics as necessary. Maxwell’s equations, constitutive relations, phasor vector fields, wave and Helmholtz equations, potentials, boundary conditions. Plane waves in lossless and lossy materials, polarization, incidence. Transmission lines: transient analysis, TDR, phasor analysis, standing wave diagrams, Smith chart, impedance matching. Guided waves: TEM, TE and TM modes, dispersion, evanescence, cavity resonators. Microwave network analysis and device characterization with scattering parameters. Antennas, antenna arrays and Fourier optics. Additional topics from microwaves and optics will be covered as time allows. Students use a vector network analyzer to perform measurements at high frequencies.
4 credits. Prerequisites: Ma 223, Ph 213, ECE 140 and ECE 111

ECE 140
Circuit Analysis

Circuit components, dependent and independent sources, Kirchhoff’s laws, loop and nodal analysis. Superposition, Thevenin and Norton equivalent circuits, and other techniques for
circuit simplification. Time-domain analysis of RLC circuits, initial conditions, transient response and steady-state. Phasor analysis, complex power. Ideal op-amps.
3 credits. Prerequisite: Ma 113. Ma 240 is a suggested corequisite

ECE141
Circuits & Electronics I (for students admitted prior to September 2010)

Circuit analysis: KVL, KCL, loop and nodal analysis, systematic and “shortcut” solution methods. Transient analysis of first, second and hider order RLC circuits, initial conditions. Phasors. Introduction to diode and transistor models and circuits.
3 credits. Prerequisites: MA 113

ECE 141 
Electronics I (for students admitted September 2010 and after)

Semiconductor physics: band theory, carrier distributions and transport mechanisms. PN-junctions, PN junction devices. Diode circuits. BJTs: current relationships, operating region. Biasing circuits, DC Analysis; small-signal models, AC analysis. BJT amplifier configurations.
3 credits. Prerequisite: ECE 140

ECE 142 
Circuits & Electronics II (for students admitted prior to September 2010)

 MOS circuits: DC operation and analysis. Single stage MOS amplifiers, circuit design, DC and small signal analysis. Cascode amplifier. Current mirrors, active loads. BJT and MOS differential amplifiers. Monolithic operational amplifiers. Output stages. Frequency response. Introduction to feedback theory, amplifier topologies. Circuit design and analysis are supplemented with industry standard CAD software.
3 credits. Prerequisites: ECE 141 and ECE 111

ECE 142 
Electronics II (for students admitted September 2010 and after)

MOS circuits: DC operation and analysis. Single stage MOS amplifiers, circuit design, DC and small signal analysis. Cascode amplifier. Current mirrors, active loads. BJT and MOS differential amplifiers. Monolithic operational amplifiers. Output stages. Frequency response. Introduction to feedback theory, amplifier topologies. Circuit design and analysis are
supplemented with industry standard CAD software.
3 credits. Prerequisites: ECE 141 and ECE 111

ECE150
Digital Logic Design

Theoretical and practical issues concerning design with combinational and sequential logic circuits, and programmable logic devices. Number systems, Boolean algebra, representation and simplification of Boolean functions, universal logic families. Finite-state machines, state tables and state diagrams, flip-flops, counters, registers. Adders, decoders, comparators, multiplexers, memories and applications. Programmable devices: PLA, PLD, etc. Principles of analog circuits are presented in the context of real world problems, such as “glitches,” power and ground bounce, contact bounce, tri-state logic and bus interfacing, timing circuits, asynchronous versus synchronous circuit components. Characterization of electronic and logical properties of digital circuits. Course work involves individual and team projects in which: digital circuits are designed and prototypes are constructed and tested on breadboards; designs involving programmable logic devices are developed using CAD tools. The projects, approximately 50 percent of the course grade, are used to assess technical writing, oral presentation, teamwork and project management skills. 
3 credits. Prerequisites: none. Non-refundable materials fee: $40

ECE151
Computer Architecture

Basic structure of computers based on the von Neumann model. Generic one- bus, two-bus and three-bus architectures. Stack based design. Tri-state logic and interfacing to a bus. Aspects of bus timing and maximum running speeds. Instruction sets: 1, 11⁄2, 2, 3 and more operand instructions. Operand addressing modes including case studies. Computer subsystems: (a) memory: dynamic and static RAM, refresh cycles, asynchronous data transfers; (b) I/O: interrupts vs. polling, ISRs and program controlled I/O. The control unit: microprogramming vs. hardwired controllers. Horizontal vs. vertical microinstructions. The execution of a program; instruction fetch and execution sequences; PC, IR and other special registers. Computer peripherals and secondary storage. Course work involves the building of advanced digital circuits using VLSI programmable chips provided in a kit of parts. Introduction to parallel and pipelined architectures 3 credits. 
Prerequisite: ECE 150. Non-refundable materials fee: $40

ECE161
Programming Languages

Practical programming languages including C, C++ and Java; optionally Perl or additional languages. Memory, strings, pointers and arrays. Structures and linked lists. Static memory, the stack and the heap. Activation records and function calls. Structured programming.  Recursion. Object oriented programming. C++ strings, vectors and maps. Creating classes: data members, member functions, constructors and destructors. Encapsulation and information hiding. Derived classes, inheritance and polymorphism. Operator overloading. An  overview of Java.
3 credits. Prerequisite: CS 102

ECE164
Data Structures and Algorithms I

An introduction to fundamental data structures and algorithms, with an emphasis on practical implementation issues and good programming methodology. Topics include lists, stacks, queues, trees, hash tables and sorting algorithms. Also an introduction to analysis of  algorithms with big-O notation. Assignments include programming projects and problem sets.
2 credits. Prerequisite: ECE 161

ECE165
Data Structures and Algorithms II 

A continuation of ECE 164, also with an emphasis on practical implementation issues and good programming methodology. Topics include graphs, graph-related algorithms and dynamic programming techniques. Also an introduction to some advanced topics such as Turing  machines, computability and NP-complete systems. Assignments include programming projects and problem sets.
2 credits. Prerequisite: ECE 164

ECE193
Electrical and Computer Engineering Projects I

An introduction to laboratory techniques for electrical and computer engineering. Electronic test equipment including: DVM, oscilloscope, curve tracer, spectrum analyzer. Circuit analysis and design, discrete and integrated electronic components and circuits. Several projects of limited scope provide an understanding of the fundamental building blocked employed in the more advanced designs in successive projects courses. Students give weekly oral presentations and demonstrate laboratory proficiency through in-class demonstrations and concise, formal technical reports. 
1.5 credits. Prerequisites: ECE 111, ECE 141 and ECE 150. Non-refundable materials fee: $40

ECE194
Electrical and Computer Engineering Projects II

Principles learned in ECE 193 are applied to the design, construction and characterization of electrical and computer engineering projects of significant complexity. Assignments typically involve both analog and digital design, and students are free to pursue any solution that satisfies the engineering requirements and meets with the instructor’s approval. Formal and informal lectures are given on safety, circuit operation and design, and construction techniques; participation in design reviews and technical reports. 
4 credits. Prerequisite: ECE 193. Non-refundable materials fee: $40

ECE195
Electrical and Computer Engineering Projects III

ECE 195 and ECE 196 constitute the year-long senior design project. Students work in small groups on projects chosen with the advice and consent of the faculty adviser. Projects may be oriented towards research or product development, and may be in any area of electrical and computer engineering, such as in: computer engineering, signal processing (imaging, sensor arrays, multimedia), telecommunications, computer networks, microwaves, optics, advanced electronics, VLSI chip design, or an interdisciplinary area such as robotics or bioengineering. Students perform all aspects of project management, such as scheduling, budgeting, system design and developing milestones, as well as technical work including hardware and software implementation, testing and performance evaluation. Students also give several spontaneous and rehearsed oral presentations and prepare written reports. Students attend weekly lectures covering: social, economic, legal and ethical issues; safety and laboratory practice; design methodologies; technical writing; preparation of multimedia presentations and tailoring presentations to target audiences.
3 credits. Prerequisite: ECE 194. Non-refundable materials fee: $40

ECE196
Electrical and Computer Engineering Projects IV

This course concludes the senior project begun in ECE 195. Students submit two complete theses, one in short form and the other in long form, and give at least two presentations, one short and one long. The initial goal is to a achieve a functioning system. Afterwards, students undertake the completion of the prototyping cycle, which may involve improving the circuit implementation (such as by employing PCBs populated with surface mount chips), adding a user-friendly interface, obtaining precise performance evaluations, or developing demonstrations and a user’s manual. Advanced students are strongly encouraged to complete their project early and commence a master’s thesis.
3 credits. Prerequisite: ECE 195.  Non-refundable materials fee: $40

ECE301
Communications Systems Design

Topics in the design of large scale communication systems. Quality of service, system performance calculations, channel capacity and traffic models, scalability. Measurement and simulation techniques. Noise, interference, system noise figure, front-end design, power budgets. Communication electronics. Baseband DSP, IF and RF subsystems. Standards, evolution of technology, product roadmapping. Case studies.
3 credits. Prerequisites: ECE 101 and ECE 135

ECE302
Probability Models and Stochastic Processes

Topics in probability, random variables and stochastic processes applied to the fields of electrical and computer engineering. Probability, events, random variables, expectation, moments, characteristic functions, conditional probability and expectation. Functions of random  variables, random vectors, Gausian random vectors, Poisson points. Bounding and limit theorems. Relations among important distributions and probability models. Stochastic processes: stationarity, ergodicity, Brownian motion, Markov processes. Deterministic systems with stochastic inputs, correlation and power spectral density, ARMA models. Hilbert space and applications: orthogonality principle, discrete Wiener and Kalman filters, linear prediction, lattice filters.
3 credits. Prerequisites: Ma 224 and ECE 101 or ECE 114 or permission of instructor

ECE305
Computer Security

This course covers attack and defense perspectives of applied information security. Topics will include networked and embedded applications, access controls systems and their failure modes, privilege escalation, case studies and some applied cryptography. Safe practices and OS flaw mitigation will be reinforced through security-sensitive programming projects. Course work will include penetration testing, code auditing and independent programming projects using professional auditing frameworks.
3 credits. Prerequisite: CS 102

ECE309
Introduction to Cryptography

Selected topics in theoretical and applied cryptography, with an emphasis on “provably secure” systems. One-Time Pads and security in the Shannon sense, cryptographic hash functions, password schemes, basic
number theory, hardcore bits, pseudo-random number generators and properties of pseudo-randomness (computational indistinguishability), block and stream ciphers, public key cryptography, message authentication and digital signatures. Real world examples including S/Key, DES, RSA, Diffie-Hellman. Students will have the choice to either program an implementation for a crypto-system or write a research paper.
3 credits. Prerequisites: Ma 111 and Ma 224

ECE311 
Modern DSP Hardware

Advanced modern digital signal processors- algorithm design and implementation for parallel and reconfigurable hardware platforms. Systems to be studied include FPGAs, multi-core processors, GPUs. HDL, validation and performance evaluation. A wide variety of target applications will be considered, selected according to student and instructor interest.
3 credits. Prerequisites: ECE114 and ECE151.

ECE313
Music and Engineering

Spectral representation and analysis of music. Analog and digital music signals, instruments and synthesizers, analog circuits and digital processing. Description of musical quality and perception, introduction to acoustics, stereo and special effects. Computer interfacing with MIDI and laboratory experiments.
3 credits. Prerequisites: ECE 111 and ECE 150

ECE314
Audio Engineering Projects

An introduction to design, implementation, fabrication and modification of musical and audio electronics and hardware in a laboratory environment. Projects will include analog and digital signal processing for audio signals, with focus on implementation of real-time algorithms in hardware. Additional projects will include design and implementation of electro-mechanical systems and transducers for audio input / output / display. Formal and informal lectures will include examples drawn from standard implementations, safety concerns, audio specific design and construction techniques; participation in oral presentations and technical reports will be required.
3 credits. Prerequisites: ECE 141 and ECE 151, or ME 151 and ME 153

ECE321
Control Systems Design

Control system design using Bode plots, Nichols chart, root locus. Design by pole placement, Ackermann’s formula, state-variable feedback. Cascade compensation, minor-loop feedback. Controller and estimator design, regulator systems, systems with a reference input. Introduction to digital control: hybrid analog-digital control systems, sampled-data systems, digital extensions of Bode plots and root locus, Ragazzini’s method. Extensive use of MATLAB.
3 credits. Prerequisite: ECE 121

ECE323
Embedded System Design

Hardware and software design for embedded systems. SBC and microcontroller architectures, A/D and D/A conversion, signal conditioning, interfacing and controlling electronic and electro-mechanical systems. Assembly language and high-level language programming, efficient use of computational and physical resources, considerations for speed and robustness, debugging methods, use of simulators and in-circuit emulators. The course is project-based, and students are required to design and construct an embedded system.
3 credits. Prerequisites: ECE 121 and ECE 151

ECE341
Integrated Circuit Engineering

Feedback theory, frequency compensation. Integrated circuit fabrication and technology. Device modeling, thermal effects. VLSI CAD design tools. Circuit layout, extraction and simulation. Design and analysis of multistage MOS operational amplifiers, OTA architectures.  Nonlinear circuits, comparators. Analog switches. Digital phase-locked loops. Sample and hold circuits. Data converter architectures. Switched capacitor circuits. Bandgap reference circuits. MOST digital circuit design and layout, hierarchical approaches. Final design project  is a mixed analog/digital circuit (e.g., Flash A/D converter, phase-locked loop), which is sent for fabrication. 
3 credits. Prerequisites: ECE 131 and ECE 142

ECE343
Bio-instrumentation and Sensing

The basic human vital signs and some related elementary physiology viewed from an engineering standpoint with special emphasis placed upon current electronic measurement methods. Electrocardiographic and electromyographic signals. Safety problems related to electrical isolation. Guarded, fully isolated, modulated carrier operational amplifiers and microvolt-level amplification. Solid-state “grain of wheat” pressure sensors, microelectrodes, thermal probes, ultrasonic transducers and other biosignal sensors. Course work includes instrumentation and sensing projects.
3 credits. Prerequisites: ECE 114 and ECE 142

ECE357
Computer Operating Systems

Theory and implementation of modern computer operating systems. Message- based and multiprocessor kernels. Networking and interprocess communication. Security, auditing and authentication. Device drivers, interrupt handling, task switching, virtual memory, memory  management, scheduling, synchronization and locking. File systems, resource allocation and management. Real-time, fault-tolerant and high security operating systems. User environment and interface issues. Projects in operating system design and programming, case  studies.
3 credits. Prerequisites: ECE 151 and ECE 161

ECE361
Software Engineering and Large System Design

This course teaches about the development stages of large, robust, expandable software systems developed as part of a team. Topics include project management, capturing requirements, system design, UML, program design, testing, delivery and maintenance. The class  will develop a large project as a team using Java throughout the semester. Tools, libraries and techniques necessary for the project will be covered in class, e.g., Eclipse, Javadoc, XML, SOAP, servlets, threads and processes, Swing, JUnit, mySQL, JDBC, etc. The specific resources might change from semester to semester.
3 credits. Prerequisite: ECE 165

Graduate Courses

ECE401
Selected Topics in Communication Theory

Advanced topics in communications engineering, selected according to student and instructor interest.
3 credits. Prerequisites: ECE 101 and permission of instructor

ECE402
Selected Topics in Probability and Stochastic Processes

Advanced topics in applied probability or stochastic processes. Possible areas of study include: Markov processes, queuing theory, information theory, stochastic systems, financial engineering.
1-3 credits.  Prerequisite: ECE 302 or permission of instructor

ECE403
Advanced Communications Networks

A continuation of topics from ECE 103. Technical readings, case studies, and research in network architectures and protocols. Related topics such as distributed computing and ad hoc sensor networks may be covered as well. Topics from probability, stochastic processes and graph theory are presented as needed for the analysis and simulation of communication networks.
3 credits. Prerequisite: ECE 103

ECE405
Advanced Digital Communications

Advanced digital modulation including formats with memory, continuous-phase and constant-envelope schemes. Performance analysis for AWGN and other channels. Multitone and multicarrier communications. Spread spectrum with applications to multiple access schemes and secure communications. CDMA: PN sequence generation and properties, multi-user detection. Additional topics as time permits.
3 credits. Prerequisites: ECE 101 and ECE 302

ECE406
Applied Monte Carlo Methods

Application of Monte Carlo methods to interdisciplinary areas of science and engineering. Application areas include (but not limited to) electromagnetics, device modeling, circuit analysis, heat transfer, biomedical engineering and financial engineering. Course work includes programming projects (MATLAB, C or another language of choice).
3 credits. Prerequisites: Ma 240 and prior exposure to engineering applications of ordinary or partial differential equations

ECE407
Wireless System Design

Hands-on exposure to the design and implementation of modern digital communication systems using software-defined radio (SDR) technology. The prototyping and real-time experimentation of these systems via SDR will enable greater flexibility in the assessment of design trade-offs as well as the illustration of “real world” operational behavior. Laboratory modules for performance comparisons with quantitative analytical techniques will be conducted in order to reinforce digital communication system design concepts. A large course project consisting of original research will be required. Course topics include SDR
architectures and implementations, digital signaling and data transmission analysis in noise, digital receiver structures (matched filtering, correlation), multicarrier communication techniques, radio frequency spectrum sensing and identification (energy detection, matched filtering), and fundamentals of radio resource management.
3 credits. Prerequisites: ECE 114 and ECE 101

ECE408
Wireless Communications

Survey of cellular mobile radio systems and formats, including market trends and technological advances. The emphasis is on CDMA and 3G systems, and emerging schemes such as WiFi networks, although TDMA systems will be discussed as well. Propagation and multipath fading channel models and simulation. Cellular system capacity, traffic models, multiple-access techniques, handoff and power control algorithms. Modulation formats, detection schemes and performance. Mitigating fading: pulse shaping, DFE, MLSE (Viterbi). DSP algorithms for baseband processing.
3 credits. Prerequisite: ECE 101

ECE410
Radar and Sensor Array Processing

Terminology and system overview for modern radar and sensor array systems; antenna parameters; radar signals and waveforms; Doppler processing; detection; synthetic aperture imaging (SAR); beamforming and space-time array processing (STAP); adaptive methods; additional topics may be covered according to student and instructor interest. Computer simulations and readings in the technical literature.
3 credits. Prerequisites: ECE 101 and ECE 114

ECE411
Selected Topics in Signal Processing

Advanced topics in signal processing selected according to student and instructor interest.
3 credits. Prerequisites: ECE 114 and permission of instructor.

ECE415
Wavelets & Multiresolution Imaging (same as MA415)

Wavelets and multiresolution signal processing with an emphasis on 2D and 3D cases. STFT, wavelet analysis, wavelet packets, DWT. Multirate filter banks, PR and paraunitary conditions, multidimensional filters, multidimensional sampling lattices. Bases, frames and sparse representations. Image and video applications such as: compression, noise reduction, tomography and other inverse problems, hyperspectral imaging, compressive sensing. Course work includes MATLAB projects and readings in the technical literature.
3 credits. Prerequisites: ECE114 and MA326 or permission of instructor.

ECE416
Adaptive Filters

Statistical signal processing theory: discrete-time Wiener and Kalman filters, linear prediction, steepest descent and stochastic gradient.  LMS, normalized LMS, LS, RLS, QR-RLS, order-recursive algorithms.  Applications include equalization, noise cancellation, system identification, sensor array processing.  Numerical linear algebra: eigenanalysis, SVD, matrix factorizations.  Transversal filters, lattice filters, systolic arrays.  Performance: convergence, learning curves, misadjustment, tracking in nonstationary environments.  Additional topics such as adaptive IIR filters, neural networks and quantization effects may be covered as time allows.  Extensive use of MATLAB. 
3 credits.  Prerequisite: ECE114 or permission of instructor

ECE417
Design for Custom DSP Hardware

Design of programmable and custom digital signal processors, and realization of DSP algorithms in specialized architectures.  Features of programmable DSPs such as data-stationary and time- stationary coding.  MAC and ACS ALUs, circular buffers.  Very Long Instruction Word (VLIW) processors.  Applications of graph theory and passivity theory to map DSP algorithms to custom structures: SFGs, DFGs, retiming, folding, and unfolding, lattice and orthogonal filters, scheduling and allocation, systolic architectures.  Optimization with respect to number of hardware units, speed (sample period and latency), VLSI area, power consumption and performance (quantization effects).  Special CAD tools and languages for rapid prototyping.  Case studies and programming exercises.  
3 credits.  Prerequisites: ECE114 and ECE151.

ECE418
Digital Video

Digital video coding, compression, processing and communications.  Target applications from low bit-rate, low quality to high bit-rate, high quality.  Two and three-dimensional sampling, colour spaces, motion representation.  Motion estimation: optical flow, block matching; constrained optimization: Bayesian methods, simulated annealing, Gibbs random fields.  Mathematical basis for compression standards such as JPEG and MPEG, and digital television including HDTV.  Rate-distortion based compression for optimal bit allocation via dynamic programming (Viterbi algorithm).  Scalability in multimedia systems.  
3 credits.  Prerequisite: ECE114. 

ECE419
Signals and Security

Applications of digital signal processing to security, including biometrics and watermarking.  Topics in statistical signal processing, image processing, pattern recognition and computer security are presented as the basis for algorithmic methods and secure system design.  Overview of various biometric modalities, including fingerprint, voice and face: biometric fusion and system performance.  Watermarking: insertion of information into digital signals (e.g., documents, music, video) for identification or security purposes.  Course work includes readings in technical literature.  
3 credits.  Prerequisite: ECE114

ECE421
Advanced Control System Design

Design of control systems using two-degrees of freedom and PID compensators.  Ackermann's formula, H-infinity control theory and applications.  Analysis and design for nonlinear systems using describing function, state variables, Lyapunov's stability criterion and Popov's method.  Introduction to optimal control theory (dynamic programming).  Design problems and extensive use of MATLAB. 
3 credits.  Prerequisites: ECE114 and ECE121

ECE422
Selected Topics in Embedded Systems

A project oriented interdisciplinary course, where students design and construct embedded systems for particular applications.  Aspects of mechanics, robotics, process control, bioengineering, communications, electronics, motors and motor drivers, sensors, actuators, signal conditioners, interfaces, computer hardware and computer programming.  Problems encountered in real systems including: interrupts, timing, grounding, thermal and noise effects, documentation, reliability.  
3 credits.  Prerequisite: ECE323

ECE425
Digital Control Systems

Basic components of digitally controlled dynamic systems. Sampling and reconstruction: the ideal sampler, zero and higher order hold elements. The pulse transfer function and the z- transfer function description of dynamic systems. Stability criterion and analysis by the Nyquist, root locus and Bode methods. The modified Routh-Hurwitz and Jury stability criteria. The state-variable approach: state equations of dynamic systems with sample and hold devices, state equations of systems with all-digital elements. Digital simulation and approximation. Controllability, observability and stability. State and output feedback, state observers and the separation principle. Digital control system design by state feedback.
3 credits. Prerequisite: ECE 121

ECE431
Microwave Engineering

Passive circuits, open-boundary waveguides, perturbation theory, coupled modes, waveguide junctions, microstrip. Two- and three-terminal devices; varactor diodes, Gunn diodes; IMPATT and MESFET technology. Design of RF amplifiers and phase- shifters. Computer-aided simulation and design.
3 credits. Prerequisite: ECE 135

ECE433
Optical Communications Devices and Systems

PIN, avalanche and Schottky photodiodes; risetime, noise, amplifier requirements. Semiconductor optical devices: radiative and non-radiative recombination, quaternary semiconductors, heterojunctions, quantum wells, bandwidth minimization, lasers, distributed feedback, vertical cavity structures. Internal and external modulation, electro-optic modulators, Stark effect. Optical fibers: mode structure, attenuation, dispersion, PM fibers, WDM. System architecture, analog/digital communications, terabit data links. Solitons.
3 credits. Prerequisites: ECE 142 and ECE 135

ECE434
Bioelectricity

Electrical behavior of cellular membranes. Ion transport, electrochemical equilibrium, applications of circuit and cable theory, Hodgkin-Huxley model, resting and action potentials. Generation and propagation of signals within the nervous system and the heart. Case studies and consideration of topics of current research interest, such as: developmental biology, regenerative medicine, neural prostheses, tissue engineering.
3 credits. 3 contact hours. Prerequisites: ECE 141 or ESC 120, PH 213

ECE441
Digital Integrated Circuit Engineering

Design of static and dynamic CMOS combinational logic gates, layout and simulation. Standard cell construction. Sequential logic systems—registers, latches, clocks. Design of arithmetic building blocks, ALU, multipliers. Memory circuits and organization. FPGAs. System design—hardware description languages, floorplanning, system architecture. A major component of the course is the design and fabrication of an ASIC using a variety of VLSI CAD tools.
3 credits. Prerequisite: ECE 341

ECE442
Communication Electronics 

Circuit design for advanced communications applications. Design of high-frequency amplifiers, oscillators and mixers using large signal analysis. Effects of noise and non-linearities are examined from the diode and transistor level to board level. Communication subsystems of interest include phase locked loops, modulators and demodulators (AM, PM FM), and signal processors for multiple access systems (TDMA, FDMA, CDMA). Course work includes computer-aided simulation and design projects.
3 credits. Prerequisites: ECE 101, ECE 135 and ECE 142

ECE443
Thin Film Electronics

Properties of polycrystalline, amorphous, liquid and organic semiconductors. Methods of deposition: vacuum and nonvacuum techniques, epitaxial and nonepitaxial growth. Assessment of thin film semiconductors: structural, optical, electrical. Thin film semiconductor devices: transistors, displays, photovoltaics, flexible conductors. Optical coatings and architectural applications. Thin film superconductors: metallic, allow and high Tc, fabrication and assessment. Superconducting devices: Cooper pairs, Josephson junctions, SQUIDS, Josephson computers.
3 credits. Prerequisites: ECE 142

ECE445
Design with Operational Amplifiers

Analysis and design of operational amplifier circuits with various applications, including amplifiers, filters, comparators, signal generators, D/A and A/D converters and phase- locked loops. Introduction to issues such as static and dynamic limitations, noise and stability. Use of industry standard CAD software.
3 credits. Prerequisite: ECE 142

ECE446
Low-Voltage, Low-Power Electronic Circuit Design

The physics and modeling of submicron MOS transistors for analog and digital circuit design. Circuit techniques for the design of low-power, low-voltage digital combinatorial logic, multipliers, memory and system design. Circuit techniques for the low-power, low-voltage analog circuits including the design of low-voltage constant g_m differential amplifiers. The use of switched capacitor circuits for analog signal processing. The course will culminate with the design and simulation of a low-voltage low-power mixed signal circuit. 
3 credits. Prerequisites: ECE 142, ECE 341 or permission of instructor

ECE453
Advanced Computer Architecture

This course studies modern, advanced techniques used to design and produce current, state-of-the-art computer architectures. Technology, performance and price. The quantitative principle and Amdahl’s law. Instruction sets; addressing modes, operands and opcodes; encoding instruction sets. RISC versus CISC architectures; MIPS. Pipelining; the classic five-stage pipeline, hazards, exceptions, floating point operations. Advanced pipelining techniques: dynamic scheduling, branch prediction. Multiple issue, speculation. Limits of parallelism. Compiler support for parallelism, VLIW. Caches. Examination of modern processors.  
3 credits. Prerequisite: ECE151

ECE457
Selected Topics in Operating Systems

Advanced topics in computer operating systems selected according to student and instructor interest.
3 credits. Prerequisites: ECE 357 and permission of instructor

ECE460
Selected topics in Computer Engineering

Advanced topics in computer hardware or software engineering selected according to student and instructor interest. Prerequisites will depend on the topics to be covered.
3 credits. Prerequisite: permission of instructor

ECE461
Advanced Programming Methods

This course addresses the need for engineers to craft algorithmic solutions to problems of ever-increasing complexity. The curriculum includes consideration of the man-machine interface, real-time control, remote sensing and computing in a distributed environment. Software  fault tolerance and reliability and unbreakable database transactions. Computer network security and network reliability, safety of data through authentication and encryption. Engineering trade-offs between efficiency and portability and design for maintenance. 
3 credits. Prerequisites: ECE 151 and ECE 165

ECE462
Interactive Engineering Graphics

Graphical primitives, windows, clipping and viewports. Two- and three- dimensional geometric transformations and translations; rotation, pan and zoom. Hidden line and surface removal. Region filling and shading. The architecture of high performance graphical engines. Representing lighting, shading and textures. Rendering. Rotation. GUIs. Animation. Course work includes design projects.
3 credits. Prerequisites: ECE 151 and ECE 165

ECE464
Databases

Engineering and design of databases. Topics to be covered may include: data models, database and scheme design; schema normalization and integrity constraints; query processing and optimization; distributed and parallel databases; SQL and XML.
3 credits. Prerequisite: ECE 165

ECE466
Compiler Theory

The theory, design and implementation of a practical compiler. Finite automata, LL and LR parsing, attribute grammars, syntax-directed translation, symbol tables and scopes, type systems and representations, abstract syntax trees, intermediate representation, basic blocks, data and control flow optimizations, assembly language generation including register and instruction selection. Students apply tools such as Flex and 
Bison to writing a functional compiler for a subset of a real programming language such as C.
3 credits. Prerequisites: ECE 151 and ECE 165

ECE467
Natural Language Processing

This course focuses on computational applications involving the processing of written or spoken human languages. Content may vary from year to year. Theoretical subtopics will likely include word statistics, formal and natural language grammars, computational linguistics, hidden Markov models, and various machine learning methods. Applications covered will likely include information retrieval, information extraction, text categorization, question answering, summarization, machine translation and speech recognition. Course work includes programming projects and tests.
3 credits. Prerequisite: ECE 165

ECE468
Computer Vision

Visual perception and imaging geometry. Pixels, pixel neighborhoods and pixel connectivity. Image transforms: Fourier, Hadamard, Walsh, Discrete Cosine, Haar, Slant and others. Techniques for image manipulation and enhancement in both the frequency and spatial domains. Histogram equalization, image subtraction and local averaging. Filtering, homomorphic methods. Color models and use of monochrome techniques on RGB channels. Image restoration: camera movement cancellation, scratch removal. Image compression techniques, lossy and lossless. Image segmentation, edge detection, edge linking, boundary detection; region growing, splitting and merging. Image representation as a hierarchical collection of objects, chain codes, Fourier descriptors. Object recognition, signatures.
3 credits. Prerequisites: ECE 111, ECE 151 and ECE 161

ECE469
Artificial Intelligence

This course covers many subtopics of AI, focusing on a few important subtopics in detail. The “intelligent agent” approach is explained and forms a foundation for the rest of the course. Intelligent search: uninformed search, depth-first search, breadth-first search, iterative deepening; informed search, best-first search, A*, heuristics, hill climbing; constraint satisfaction problems; intelligent game playing, minimax search, alpha-beta
pruning. Machine learning: probability, Bayesian learning; decision trees; statistical machine learning, neural networks, Naive Bayes, k-nearest neighbors, support vector machines. Natural language processing: syntax, semantics and pragmatics; real-world knowledge; parsing; statistical NLP. Philosophy of AI: AI and consciousness, the Turing test, the Chinese room experiment. Coursework includes two large individual programming projects.
3 credits. Prerequisite: ECE 165

ECE491
Selected Topics in Electrical and Computer Engineering

Subjects may include study in electrical and computer engineering, or seminars on topics related to advances in technology, This course may not be used to expand the number of credits of thesis, or cover material related to the thesis.
1-3 credits. Prerequisite: permission of instructor.

ECE499
Thesis/Project

Master’s candidates are required to conduct, under the guidance of a faculty adviser, an original individual investigation of a problem in electrical and computer engineering and toubmit a written thesis describing the results of the work.
6 credits over 1 year