Courses

ECE 110L. Fundamentals of Electrical and Computer Engineering. Students learn core ECE concepts, providing a foundation on which subsequent courses build. These concepts include techniques for analyzing linear circuits, semiconductor and photonic devices, frequency representation, filtering, and combinational and sequential logic. Central to the course is an extensive design challenge that requires students to integrate knowledge across topics while honing practical design and project management skills. The course culminates in an exciting competition in which teams of robots race to overcome challenging obstacles using sensor data acquisition and processing. Prerequisite: Engineering 103L and Mathematics 112L or equivalent (or concurrent enrollment in either course). Instructor: Daily, Gustafson, Huettel, Smith, or Tantum. One course.

ECE 230L. Introduction to Microelectronic Devices and Circuits. Introduction to semiconductor materials and their corresponding electronic devices and circuits. In lab, students will perform photolithography and characterize devices and circuits. Lecture will cover: underlying physics of semiconductor materials; operation of semiconductor devices, including diodes and transistors (MOSFETs); and application of MOSFETs into digital circuits. Students will understand basic operation of semiconductor devices in a way that is foundational for the expansive semiconductor industry. Prerequisites:  (Engineering 103L or CompSci 201),  Physics 152L and Electrical and Computer Engineering 110L. Instructor: Brooke, Franklin, or Massoud. One course.

ECE 250D. Computer Architecture.  Computer structure, assembly language, instruction execution, addressing techniques, and digital representation of data. Computer system organization, logic design, microprogramming, cache and memory systems, and input/output interfaces. Prerequisite: Computer Science 201. Instructors: Bletsch, Board, Lebeck, Lee, or Sorin. One course.

ECE 270DL. Fields and Waves: Fundamentals of Information Propagation. Introduces the concept of fields—a mathematical description of physical quantities that vary from place to place (and potentially from time to time)—and explores the mathematical and physical reasons that oscillatory behavior is so ubiquitous across engineering and physics. Introduces the mathematical foundations, followed by speci¿c examples in electrical circuits, electromagnetic waves, quantum mechanics, and acoustics as well as the connection to Fourier analysis methods. Intended to facilitate subsequent study in any area involving wave phenomena, including analog and microwave circuits, electromagnetics, optics, and quantum mechanics. Prerequisite: Physics 152L or 26, Mathematics 212 or 222, and ECE 110L. Instructor: Brown, Carin, Cummer, Gehm, Joines, Liu, Padilla, or Smith. One course.

ECE 280L. Introduction to Signals and Systems.
Continuous and discrete signal representation and classification; system classification and response; transfer functions. Fourier series; Fourier, Laplace, and z transforms. Applications to Integrated Sensing and Information Processing; networks, modulation, sampling, filtering, and digital signal processing. Laboratory projects using digital signal processing hardware and microcontrollers. Computational solutions of problems using Matlab and Maple. Prerequisite: (EGR 103L or CompSci 201), and either Electrical and Computer Engineering 110L or Biomedical Engineering 253L. Instructor: Collins, Gustafson, or Huettel. One course.

ECE 291. Undergraduate Research in Electrical and Computer Engineering. For sophomores only. Half course or one course each. Instructor: Staff. Variable credit.

ECE 292. Undergraduate Research in Electrical and Computer Engineering. For sophormores only. Half course or one course each. Instructor: Staff. Variable credit.

ECE 311. Thermal Physics. Thermal properties of matter treated using the basic concepts of entropy, temperature, chemical potential, partition function, and free energy. Topics include the laws of thermodynamics, ideal gases, thermal radiation and electrical noise, heat engines, Fermi-Dirac and Bose-Einstein distributions, semiconductor statistics, kinetic theory, and phase transformations. Also taught as Physics 363. Prerequisites: Mathematics 212 or equivalent and Physics 152L, 153L or equivalent. Instructor: Staff. One course.

ECE 330L. Fundamentals of Microelectronic Devices. Fundamentals of semiconductor physics and modeling (semiconductor doping technology, carrier concentrations, carrier transport by drift and diffusion, temperature effects, semiconductor device models). Principles of semiconductor device analysis (current-voltage and capacitance-voltage characteristics). Static and dynamic operation of semiconductor contacts, PN junction diodes, MOS capacitors, MOS field-effect transistors (MOSFETs), and bipolar-junction transistors (BJTs). SPICE models and parameter extraction. Prerequisite: Electrical and Computer Engineering 230L. Instructor: Massoud. One course.

ECE 331L. Fundamentals of Microelectronic Circuits. Analysis and design of electronic circuits in bipolar and MOS technologies, with emphasis on both large-signal and small-signal methods. Circuits for logic gates, latches, and memories. Single-stage and multistage amplifiers and op amps. Circuits with feedback, including stability and frequency response considerations. Analog and mixed analog/digital circuit applications. Extensive use of SPICE for circuit simulation. Prerequisite: Electrical and Computer Engineering 230L. Instructor: Derby, Fair, or Massoud. One course.

ECE 340L. Optics and Photonics. Ray optics, wave optics, beam optics, resonators, atom-photons, interaction, interference, diffraction, polarization, lasers, light detection, electromagnetic optics. Laboratory experiments apply concepts in basic optics. Prerequisite: ECE 270DL or equivalent. Instructor: Jokerst, Mikkelsen, Stiff-Roberts. One course.

ECE 341L. Solar Cells. A broad overview of solar cells, including solar radiation, device theory, materials options, device fabrication and characterization, and system-level issues. Students participate in hands-on laboratory exercises related to the fabrication and characterization of organic, photovoltaic solar cells. Prerequisite: Physics 152L or equivalent. Instructor: Brown or Stiff-Roberts.

ECE 350L. Digital Systems. Design and implementation of combinational and sequential digital systems with special attention to digital computers. The use of computer-aided design tools, hardware description languages, and programmable logic chips to facilitate larger and higher performance designs will be stressed. Laboratory exercises and group design projects will reinforce the various design techniques discussed in class. Prerequisite: Electrical and Computer Engineering 250D. Instructor: Board, Hilton, Lee, or Sorin. One course.

ECE 353. Introduction to Operating Systems. Basic concepts and principles of multiprogrammed operating systems. Processes, interprocess communication, CPU scheduling, mutual exclusion, deadlocks, memory management, I/O devices, file systems, protection mechanisms. Also taught as Computer Science 310. Prerequisites: Computer Science 201 and 250D. Instructor: Chase. One course.

ECE 356. Computer Network Architecture.
 Introduces students to the fundamentals of computer networks. Focus on layered architecture of the network protocol stack. Case studies will be drawn from the Internet, combined with practical programming exercises. Concepts include the Internet architecture, HTTP, DNS, P2P, Sockets, TCP/IP, BGP, routing protocols, and wireless/mobile networking and their applications such as how to achieve reliable/secure communications over unreliable/insecure channels, how to find a good path through a network, how to share network resources among competing entities, how to find an object in the network, and how to build network applications. Prerequisite: ECE 250D or Computer Science 250D. Instructor: Gorlatova or X. Yang.  One course. C-L: Computer Science 356.

ECE 363L. Electric Vehicle Project. Analysis, design, and construction of electrical and mechanical components found in electric vehicles. Traction motors, controllers, batteries and chargers, and metering. Hybrid and fuel cell vehicle systems. Project includes building electrical devices and wiring of traction, control, lighting, and other components along with construction of adapters and devices necessary for the conversion of a vehicle to electric drive. Prerequisite: Physics 152L(62L), Electrical and Computer Engineering 110L(27L) or Engineering EGR 224L(119L). Instructor: Staff. One course. C-L: Mechanical Engineering and Materials Science 463.

ECE 364. Performance and Technology. Workshop exploration of technologies embedded in performance: robots, media, computer interface. Students create performance projects and discuss theoretical and historical implications of technologies in performance. Open to dancers, actors, musicians, spoken word artists and all those interested in technology and the arts. No previous experience or programming skills required. Instructor: Brooke, DeFrantz, and Walters. One course. 

ECE 380. Introduction to Random Signals and Noise. Introduction to probability and random processes with example applications to processing data with uncertaingy. Probability, conditional probability, discrete and continuous random variables, expected values, characteristic functions, multiple random variables. Intro to random processes, random discrete-time signals, power spectrum, autocorrelation, analysis of linear systems driven by wide-sense stationary random processes. Gaussian random processes, band limited white Gaussian noise. Intro to ginary hypothesis testing, Bayesian signal detection, applications involving uncertain and random signals and noise. Can fulfill ECE free elective or ECE stats requirement. Prereq: ECE 280L, Math 212. Instructor: Nolte. One course.

ECE 381. Fundamentals of Digital Signal Processing. An introduction to theory and applications of digital signal processing. Concepts, analytical tools and design techniques to process signals in digital form. Signal sampling and reconstruction, discrete-time transforms including the z-transform, discrete-time Fourier transform, and discrete Fourier transform. Discrete systems including the analysis and design of FIR and IIR filters. Introduction to applications of digital signal processing such as image processing, and optimal detection of signals in noise. Discrete system simulations using MATLAB. Prerequisite: Electrical and Computer Engineering 280L and Statistics 130 or Mathematics 230 or Electrical and Computer Engineering 380 or Electrical and Computer Engineering 555 or permission of instructor. Instructor: Huettel or Nolte. One course. 

ECE 382L. Control of Dynamic Systems. odel dynamic systems, characterize time and frequency domain response with respect to particular inputs. Characterize systems in terms of rise-time, settling-time, bandwidth. Identify the difference between stable and unstable system. Apply feedback control to modify response of dynamic systems. Develop methods of designing compensators for single-input, single-output, and multiple-input, multiple-output dynamic systems. Introduces optimal control theory, the linear quadratic regulator problem, the linear quadratic Gaussian problem. Gain a physical understanding of role of feedback control in modifying the dynamics of a system. Prerequisite: (Engineering 224L or ECE 280L) and Mathematics 216. Not open to students who have taken ECE 382. Instructor: Bridgeman or Zavlanos. C-L: Mechanical Engineering and Materials Science 344L. One course.

ECE 383. Introduction to Robotics and Automation.
Fundamental notions in robotics, basic configurations of manipulator arm design, coordinate transformations, control functions, and robot programming. Applications of artificial intelligence, machine vision, force/torque, touch and other sensory subsystems. Design for automatic assembly concepts, tools, and techniques. Application of automated and robotic assembly costs, benefits, and economic justification. Selected laboratory and programming assignments. Prerequisites: Electrical and Computer Engineering 280L or EGR 224L. Instructor: Staff. One course. C-L: Mechanical Engineering and Materials Science 442.

ECE 391. Undergraduate Research in Electrical and Computer Engineering. For juniors only. Half course or one course each. Instructor: Staff. Variable credit.

ECE 392. Undergraduate Research in Electrical and Computer Engineering. For juniors only. Half course or one course each. Instructor: Staff. Variable credit.

ECE 431. Power Electronic Circuits for Energy Conversion. Efficient conversion of electrical energy is critical for electric and hybrid vehicles, wind and solar energy, power grids, computers, medical devices, and portables. This course teaches analysis and design of power electronic circuits for energy conversion, including circuit operation (converter topologies, steady-state modeling, switch realization), converter control (ac modeling, small-signal transfer functions, feedback), and magnetics (inductors, transformers). The course shares lectures with ECE/ENRGYEGR 531, but has fewer assignments. Prerequisite: ECE 230L or EGR 224L or graduate student standing. Not open to students who have taken ECE 531 or ENRGYEGR 531. Instructor: Peterchev.

ECE 449. Sensors and Sensor Interface Design. Teams design board-level sensing system that achieves stated specifications. Analog, digital, wireless, optical, and fluidic components. Resource planning and management, project budgeting, study of component specifications and characteristics, vendor interaction, circuit schematic design and simulation, board layout, submission to foundry, component solder assembly, system test, comparison to design specs. Cost, economic viability, ethical and environmental issues, manufacturability considered. Prerequisite: One of (ECE 330L or ECE 331L or ECE 340L); ECE 230L and ECE 250D and ECE 270DL and ECE 280L and Math 353 and Physics 152L and one of (Stat 130 or Math 230 or ECE 555 or ECE 380) and Chem 101DL.  Instructor: Brooke, Jokerst. One course. 

ECE 458. Engineering Software for Maintainability. Students will refine their ability to engineer software, with a focus on maintainability. Teams complete a large programming project whose requirements undergo evolutions during the semester. Prior to each evolution, teams submit not only their code for the current requirements, but also a written document analyzing their current design and reflecting on how past design choices impacted their most recent work. Teams must consider appropriate engineering standards and realistic constraints. Prerequisite: Computer Science 308; ECE 230L, ECE 250D, ECE 270DL, ECE 280L; Mathematics 353; Physics 152L; Chemistry 101DL; and statistics. Instructor: Bletsch or Hilton. 

ECE 459. Introduction to Embedded Systems. An introduction to hardware/software codesign of embedded computer systems. Structured programming techniques for high and low level programs. Hardware interfacing strategies for sensors, actuators, and displays. Detailed study of Motorola 68HC11 and 68HC12 microcomputers as applied to embedded system development. Hardware and simulation laboratory exercises with 68HC11 and 68HC12 development boards. Major design project. Prerequisite: (ECE 350L or ECE 331L or ECE 330L) and ECE 230L and ECE 250D and ECE 270DL and ECE 280L and Math 353 and Physics 152L and one of (Stat 130 or Math 230 or ECE 555or ECE 380) and Chem 101DL. Instructor: Board or Pajic. One course. 

ECE 461. Ocean Engineering. A challenging Ocean Engineering project will be undertaken in this class. Past examples include participation in a national XPRIZE contest to build an Ocean Sensor. Students define project scope and form task-oriented sub-teams to make significant progress toward overall class project goal. Students are expected to spend several hours per week outside of class working on the team projects. Students will need to be in teams that can all meet for at least couple of hours at the same time each week. Prerequisite: one of ECE 230L, ECE 250D, ECE 270DL, ECE 280L, Mechanical Engineering 221L, Engineering 244L, or Environment 102. Instructor: Brooke, Nowacek

ECE 483. Introduction to Digital Communication Systems. Introduction to the design and analysis of modern digital communication systems. Communication channel characterization. Baseband and passband modulation techniques. Optimal demodulation techniques with performance comparisons. Key information-theoretic concepts including entropy and channel capacity. Channel-coding techniques based on block, convolutional and Trellis codes. Equalization techniques. Applications to design of digital telephone modems, compact discs and digital wireless communication systems. Prerequisite: Electrical and Computer Engineering 280L and Statistics 130 or equivalent. Instructor: Calderbank or Krolik. One course.

ECE 485. Digital Audio and Acoustic Signal Processing. Introduction to fundamental concepts, theory, and practice of digital audio and acoustic signal processing. Digital audio concerns the process of transducing, digitizing, filtering, transforming, coding, storing, manipulating, transmitting, distributing, analyzing, and reproducing high quality music and other acoustic signals. Topics include: signal quantization, discrete-time signal analysis, audio digital filtering and equalization, hearing for audio applications, audio perceptual encoding (e.g. MP3), time and pitch-scale modification, room acoustics, audio spatial effects, 3-D audio rendition, and basic microphone array processing. Prerequisite: Electrical and Computer Engineering 280L. Instructor: Krolik or Pfister  

ECE 486. Wireless Communication Systems. Analog and digital cellular radio. Techniques for increasing capacity including cell division, multiple access techniques (TDMA, CDMA), speech compression, and discontinuous transmission. Direct sequence and frequency hopped spread spectrum systems. Radiowave propagation models. Intelligent antenna systems. Traffic considerations for cellular radio. Packet switched data access to the Internet and information services via wireless modems. Prerequisite: Mathematics 230 or Statistics 130. Corequisite: Electrical and Computer Engineering 483. Instructor: Staff. One course.

ECE 488. Digital Image and Multidimensional Processing.
Introduction to the theory and methods of digital image and video sampling, denoising, coding, reconstruction, and analysis. Both linear methods (such as 2- and 3-D Fourier analysis) and non-linear methods (such as wavelet analysis). Key topics include segmentation, interpolation, registration, noise removal, edge enhancement, halftoning and inverse halftoning, deblurring, tomographic reconstruction, superresolution, compression, and feature extraction. While this course covers techniques used in a wide variety of contexts, it places a strong emphasis on medical imaging applications. Prerequisites: Electrical and Computer Engineering 280L and Statistics 130 or Mathematics 230 or Electrical and Computer Engineering 380 or Electrical and Computer Engineering 555 or permission of instructor. Instructor: Staff. One course. 

ECE 489. Advanced Robot System Design.  Teams of students will design, implement, and integrate a robotic system to perform intelligent physical tasks. Example tasks might include navigation, coordinated movement, or object manipulation, among others. Perception, control, and artificial intelligence software will be applied to operate sensing and actuation hardware. Robot middleware for distributed system integration. Simulation prototyping, unit testing, and metrics for performance evaluation. Major design project. Prerequisite: ECE 383, one of (ECE 353 or ECE 356 or ECE 382L), ECE 230L, ECE 250D, ECE 270DL, ECE 280L; Mathematics 353; Physics 152L; Chemistry 101DL; and statistics. Instructor: Brooke or Hauser

ECE 493. Undergraduate Research in Electrical and Computer Engineering. For seniors only. Half course or one course each. Instructor: Staff. Variable credit.

ECE 494. Undergraduate Research in Electrical and Computer Engineering.
For seniors only. Half course or one course each. Instructor: Staff. Variable credit.

ECE 495. Special Topics in Electrical and Computer Engineering.
Study of selected topics in electrical engineering tailored to fit the requirements of a small group. Consent of instructor and director of undergraduate studies required. Half course or one course each. Instructor: Staff. Variable credit.

ECE 496. Special Topics in Electrical and Computer Engineering.
Study of selected topics in electrical engineering tailored to fit the requirements of a small group. Consent of instructor and director of undergraduate studies required. Half course or one course each. Instructor: Staff. Variable credit.