# Electrical and computer engineering Courses

Here you will find course descriptions, prerequisites, credit weights, and which semester each class is offered.

**ECE 1250 – Electrical and Computer Engineering Design (4.0), F, Sp, Su**

**Prerequisite(s):**C or better in Calculus I

System design using electrical and computer engineering concepts. Basic concepts of electrical circuit design, sensors, signal processing, communications, control and embedded system programming are used to design sensor/actuator systems to accomplish engineering design tasks. Topics also include Matlab programming and laboratory instrumentation

**ECE 1900 – Freshman Seminar (0.5), F, Sp, Su****Prerequisite(s):** None

An informational seminar for students who want to learn more about electrical and computer engineering. Weekly seminars will present information about careers, academic requirements, ECE Department activities, research, and more.

**ECE 2240 – Introduction to Electric Circuits (4.0), F, Sp****Prerequisite(s):** Prerequisites: C- or better in Physics I AND Calculus II AND Major Status

This course will study the basics of analog circuits: voltage, current, power, resistance, capacitance, and inductance. Topics will include circuit analysis techniques such as Kirchhoff’s Laws, node voltages, superposition, and Thevenin and Norton equivalent circuits. Simple op-amp and RC, RL and RLC circuits. Laplace-transform techniques. Alternating current and impedance, phasor transforms, sinusoidal steady-state systems, frequency response, and filters. This course includes a lab.** **

**ECE 2280 – Fundamentals of Engineering Electronics (4.0), F, Sp**

**Prerequisites: C- or better in ECE 2240 AND Major Status**

**Prerequisite(s):****Corequisite(s):**C- or better in Math 2250.

Fundamentals of electronic circuit and device concepts needed to understand analog integrated circuits. Device model techniques for amplifiers, diodes, bipolar,and MOS transistors. Basic microelectronic circuit analysis and design. Use of small-signal and large-signal techniques to analyze and design transistor circuits with examples focused on single and multistage amplifiers. Frequency response analysis of microelectronic circuits including magnitude and phase response. Introduction to computer circuit simulation.

**ECE 2910 –** **Sophomore Seminar (0.5), F****Prerequisite(s): **Major Status

Seminar course to introduce Electrical Engineering students to the subspecialties of the discipline.

**ECE 3030 – Technical Communications and Writing for Engineers (3.0), F, Sp** C- or better in WRTG 2010 AND Major Status

Prerequisite(s):

**Corequisite(s):**CE Majors – ECE 3991 or ECE 3992. EE Majors – ECE 3300 OR 3110 OR 3500 OR 3600

This course is designed to prepare students for writing and communication efforts specific to their careers in engineering. Students will develop written and oral communication skills through shorter in-class and homework assignments and an oral presentation. In addition, students will begin a proposal in preparation for their senior year design project that will be revised during the semester. A combination or writing and oral presentation exercises will emphasize delivering information in a clear, concise fashion. Students will learn to tailor messages to different audiences: colleagues and mentors, the general public, government agencies and the media. teamwork, ethical considerations and organizational issues will also be addressed.

**ECE 3110 – Engineering Electronics II (4.0), Sp**

**Prerequisite(s):**C- or better in ECE 2280 AND Major Status

Analog- and digital-integrated circuit techniques, filters and tuned amplifiers, signal generator, waveform shaping circuits, power amplifier and power semiconductor devices, computer models and computer simulations of complex devices and circuits.

**ECE 3200 –**** Introduction to Semiconductor Device Physics (4.0), Sp Prerequisite(s): **Major Status

Covers semiconductor material properties including crystal structure, classification of crystals, and electronic structure of atoms within the semiconductor. Provides derivations of principles of quantum mechanics and application to problems such as the quantum well. Covers energy bands and changes to energy levels within energy bands from doping, fundamentals of carrier generation, transportation, recombination, and the structure and operation principles of the basic solid-state p-n junction.

**ECE 3300:**** Fundamentals of Electromagnetics and Transmission Lines (4.0), F, SpPrerequisite(s):** C- or better in ECE 2240 AND ECE 2280 AND Physics II AND MATH 2250 AND Major Status

Brief introduction to vector calculus, definition of electric and magnetic fields. Maxwells equations in integral and differential forms, electromagnetic-wave propagation in free space and in material regions, Poynting theorem, and electromagnetic power. Transmission lines (transient and steady-state analysis), Smith chart, and impedance matching techniques. Basic principles of radiation and propagation in waveguides.

**ECE 3500 – Fundamentals of Signals and Systems**** (4.), F**

**Prerequisite(s):**Prerequisites: C- or better in ECE 2240 AND Calculus III AND MATH 2250 AND Major Status

Transform domain analysis of passive circuits. Linear and time invariant systems in continuous-time and discrete-time domains. System representations using impulse-response functions, frequency responses and transfer functions. Realizations of linear time-invariant systems. Fourier analysis of continuous and discrete-time signals. Sampling theorem. Filter design from specifications.

**ECE 3510 – Introduction to Feedback Systems (4.0), Sp**

**Prerequisite(s):**C- or better in ECE 2240 AND Major Status

Laplace transforms, boundedness and convergence of signals. Transfer functions, stability, steady-state and transient responses, effect of initial conditions, state-space representations. Feedforward and feedback control, steady-state error and integral control, Routh-Hurwitz criterion, root-locus method, application to phase-locked loops. Bode plots, Nyquist criterion, gain and phase margins. The z-transform and the analysis of discrete-time signals and systems. Sampled-date systems, conversions between continuous-time and discrete-time systems. It is recommended that you take ECE 3500 before enrolling in this course.

**ECE **3530** – Engineering Probability and Statistics, (3.0), F, Sp**

**Prerequisite(s):**“C-” or better in Calculus III

An introduction to probability theory and statistics, with an emphasis on solving problems in electrical and computer engineering. Topics in probability include discrete and continuous random variables, probability distributions, sums and functions of random variables, the law of large numbers, and the central limit theorem. Topics in statistics include sample mean and variance, estimating distributions, correlation, regression, and hypothesis testing. Engineering applications include failure analysis, process control, communication systems, and speech recognition.

**ECE **3600** – Introduction to Electric Power (3.0), F****Prerequisite(s):** C- or better in Calculus III OR **Corequisite(s):** ECE 2240

Introduction to AC power generation, distribution, and use. Topics will include single-phase and 3-phase power, power factors and corrections, transformers, power distribution and the grid, generation plants, and some wiring and AC motors.

**ECE **3700** – ****Fundamentals of Digital Design (4.0), Sp****Prerequisite(s):** C- or better in CS 1410 AND Physics II AND Major Status

Techniques for reasoning about, designing, minimizing, and implementing digital circuits and systems. Combinational (logic and arithmetic) and sequential circuits are covered in detail leading up to the design of complete small digital systems using finite state machine controllers. Use of computer-aided tools for design, minimization, and simulation of circuits. Laboratory is included involving circuit implementation with MSI, LSI, and field programmable gate arrays.

**ECE 3710 – Computer Design Laboratory (3.0), F**

**Prerequisite(s):**C- or better in ECE 3700 AND ECE 3810 AND Major Status

Working in teams, students employ the concepts of digital logic design and computer organization to design, implement and test a computing system. Interface IO devices and develop associated software/firmware. Extensive use of CAD and software tools.

**ECE **3740** – ****Introduction to Quantum Theory and Relativity (3.0), F****Prerequisite(s):** C- or better in Physics II AND Major Status

Introduction to Special Relativity: time dilation, length contraction, Lorentz transforms. Introduction to classical and quantum statistics. Maxwell-Beltzman, Fermi-Diraz, Bose-Einstein, Pauli principle with emphasis on relativistic energy and momentum. The quantization of light: Planck black body radiation, the photoelectric effect and x-rays, and Bragg diffraction. Basic quantum ideas: wave-particle duality, uncertainty relations, and wave packets. Introduction to quantum mechanics: Schrodinger equation in one, two, and three dimensions. Squarewells barriers, harmonic oscillator, and hydrogen atom. Quantum properties of spin and angular momentum: Zeeman effect, Stern-Gerlach experiment, atomic and molecular structure, and covalent bonding. Multi-electron atoms and the Periodic Table. Applications to solid-state physics, particle physics, and nuclear physics per instructor and time permitting.

**ECE **3810** – Computer Organization (4.0), F, Sp****Prerequisite(s):** C- or better in CS 1410 AND Major Status

An in-depth study of computer architecture and design, including topics such as RISC and CISC instruction set architectures, CPU organizations, pipelining, memory systems, input/output, and parallel machines. Emphasis is placed on performance measures and compilation issues.

**ECE **3900** – EE Junior Seminar (0.5), Sp****Prerequisite(s): **ECE 2910 AND Major Status

Talks from industry representatives, information about Engineering Clinic projects, professionalism.

**ECE **3991** – CE Junior Seminar (1.0), F****Prerequisite(s):** Major Status

Presentations from faculty and industry representatives to discuss trends in computer engineering, professionalism, ethics, the impact of engineering in global and societal context, lifelong learning, and contemporary issues.

**ECE **3992** – Computer Engineering Pre-Thesis/Pre-Clinic/Pre-Project (3.0), Sp**

**Prerequisite(s):**C- or better in ECE 3710 AND ECE 3991 AND Major Status

This is the first course in a 2 or 3 semester series. The purpose of this course is to form teams and propose either a self-selected senior project to be completed in CS/ECE 4710, or an ECE clinic which will be completed in the subsequent 2 semesters. The individual option is to find a thesis advisor, and write a thesis proposal. The thesis work will be in CS/ECE 4991 and 4992. During the first half of the course while teams are being formed and while project ideas are being selected the instructor will lecture on the, fundamentals of project planning: scoping, group selection, risk assessment, scheduling, backup planning, strategy, etc. The second half of the course involves student presentations and critique of the written proposals that are in progress. The final result of the course will be an approved project, clinic, or thesis proposal.

** ECE **4900

**– Senior Thesis I (2.0), F**

**Prerequisite(s):**“C-” or better in ECE 3030 AND ECE 3900 AND Major Status

Only for students with major status and seniors within one year of graduation. May not be taken by pre-electrical-and-computer-engineering, non-electrical-and-computer-engineering, or probationary students. Laboratory included. Original engineering project, selected with approval of instructor; regular oral and written progress reports.

** ECE **4910

**– Senior Thesis II (3.0), Sp****Prerequisite(s):**C- or better in ECE 4900 AND Major Status

Taught as writing emphasis. Students write reports describing work done on ECE 4900 project and make oral presentations at annual student technical conference.

** ECE **4991

**– Computer Engineering Senior Thesis I (2.0), F****Prerequisite(s):**ECE 3992 AND Major Status AND Intructor’s Consent

Students work on an original senior thesis project under the direction of their approved thesis advisor. This course along with ECE/CS 4992 substitute for ECE/CS 4710 (Computer Engineering Senior Project) for students who have chosen to do a thesis.

** ECE **4992

**–****Computer Engineering Senior Thesis II (3.), Sp**

**Prerequisite(s):**ECE 4991 AND Major Status

Students work on original senior thesis project under the direction of their approved thesis advisor, make an oral presentation at the annual student technical conference, and prepare and submit their senior thesis for approval. This course along with ECE/CS 4991 substitute for ECE/CS 4710 (Computer Engineering Senior Project) for students who have chosen to do a thesis.

** ECE **4998

**– Senior Honors Thesis I (2.0), F**

**Prerequisite(s):****AND Instructor’s Consent.**

**Major Status**Restricted to students in the Honors Program working on their Honors degree.

** ECE **4999

**– Senior Honors Thesis II (3.0), Sp**

**Prerequisite(s):**Major Status AND Instructor Consent.

Restricted to students in the Honors Program working on their Honors degree.

** ECE **5074

**– Photovoltaic Materials and Solar Cells (3.0), F**

**Prerequisite(s):**C- or better in ECE 3740 AND ECE 3200/ECE 5201 AND Major Status

Course will examine the physics and engineering of photovoltaic devices and the materials used in them. Classroom time will be augmented by labs in which students will fabricate the test simple Si solar cells using the University of Utah Nanofab.

** ECE **5201:

**Physics of Nano-Electronics and Related Devices (3.0), F**

**Prerequisite(s):**ECE 2280 AND ECE 3200 AND Major Status

Physical basis of devices based on modulation of charged carrier velocity, and concentration to achieve detection, amplification and switching of electrical signals. CMOS as well as novel nanodevices. The course is composed of 5 modules: 1) Electronic Materials, 2) Device Building Blocks such as p-n junctions, etc., 3) Transistors (BJT and FET), 4) Solar Cells, Negative Differential Resistance (NDR), Power, RF, and Devices, and 5) Sensor/actuators for MEMs.

** ECE **5221

**–****Fundamentals of Micromachining (3.0), F, Sp**

**Prerequisite(s):**Major Status AND Instructor Consent.

Meets with ME EN 6050, ECE 6221, BIOEN 6421, MSE 6421. Introduction to the principles of micromachining technologies. Topics include photolithography, silicon etching, thin film deposition and etching, electroplating, polymer micromachining, and bonding techniques. A weekly lab and a review of micromachining applications is included. Undergraduate students only.

** ECE **5231

**– Microsensors (3.0), F**

**Prerequisite(s):**C- or better in ECE 5221 AND Major Status.

**Corequisite(s)**: ECE 5232.

This course builds on ECE 5221/6221, Fundamentals of Micromachining. Topics include definitions, categorization, comparison and application fields of microsensors. The course discusses related solid state physics, piezoresistive sensors, semiconductor-based temperature sensors, magnetoresistive sensors, thermoelectric sensors, photoelectric sensors, micro gas and fluid concentration sensors, molecular diagnostics arrays and other sensors. registration for a weekly lab (1) is required. extra work required of graduate students.

** ECE **5232

**– Microsensors Lab (1.0), F**

**Prerequisite(s):**C- pr better in ECE 5221 AND Major Status.

**Corequisite(s)**: ECE 5231.

The lab is a compulsory section to the lecture Microsensors (ECE 5231/6231) and builds on ECE 5221/6221, Fundamentals of Micromachining. The lab will include the following topics: design and simulation of microsensors, process design, packaging and assemble, characterization and testing of microsensors. The first part of the lab will focus on the acquirement of additional technological skills and understanding of sensor characteristics. The second part of the lab will lead to the fabrication, characterization and presentation of a variety of fully functional microsensors. Examples of these are pressure, force, acceleration, and gas sensors.

** ECE **5233

**– Micro Actuators (3.0), Sp-Even**

**Years****Prerequisite(s):**C- or better in ECE 5221 AND MSE 3210 AND Major Status.

**Corequisite(s):**ECE 5234.

Meets with ECE 6233. This course covers various micro actuators complementing the other course of Micro Sensors, ECE 5231/6231. It builds on ECE 5221/6221, Fundamentals of Micromachining. Topics include definitions, categorization, operation, and applications of various micro actuators. Particular, this course covers an introduction to basic mechanics, electrostatic, electromagnetic, piezoelectric, thermal, pneumatic, resonant actuators as well as other devices that are not covered in the micro sensors class. Registration for a weekly lab (1) is required. Extra work is required of those who registered in 6000 level.

** ECE **5234

**– Micro Actuators Lab (1.0), Sp-Even**

**Years****Prerequisite(s):**C- or better in ECE 5221 AND Major Status.

**Corequisite(s)**: ECE 5233.

The lab is a compulsory section to the lecture Micro Actuators (ECE 5233/6233) and builds on ECE 5221/6221, Fundamentals of Micromachining. The lab will include the following topics: design and simulation of micro actuators, process design, packaging and assembly, characterization and testing of micro actuators. The first part of the lab will focus on the acquirement of additional technological skills and understanding of actuators. The first part of the lab will focus on the acquirement of additional technological skills and understanding of actuator characteristics as well as the fabrication, characterization and presentation of a variety of fully functional micro actuators. The second part of the lab will lead to project design with a goal to publish in highly prestigious international conferences.

** ECE **5320

**– Microwave Engineering I (4.0), F**

**Prerequisite(s):**C- or better in ECE 3300 AND Major Status

Brief review of transmission line theory and Smith Chart, general theory of waveguides, TE, TM, TEM modes, some commonly used waveguides and transmission lines including microstripline and its variations for microwave integrated circuits, matching techniques including conjugate matching, passive components, scattering matrices and signal-flow graphs, ABCD parameters, directional couplers and hybrids, power dividers and combiners, signal-flow graphs for microwave amplifiers, microwave resonators and filters including design considerations, filter design by image parameter method, constant-k and m-derived filters, maximally flat and equal-ripple filters, coupled-line filters, ferrite components. Biweekly laboratory assignments to design, fabricate, and test microstrip circuits: e.g., low and band-pass filters, coupled-line filters, directional couplers, etc., using professional-level computer software and network analyzers.

** ECE **5321

**– Microwave Engineering II (3.0), Sp-Even****Years****Prerequisite(s):**C- or better in ECE 5320 AND Major Status

Nonlinear and active microwave devices including diodes, mixers, transistors, and negative resistance devices; compressed Smith Chart; balanced and double-balanced mixer design; transistor amplifier theory and design for best gain, stability, and noise performance. Oscillator theory and design using transistors, tunnel diodes, IMPATTs, and Gunn diodes. PIN diode switching circuits and phase shifters. Survey of design and performance of microwave systems and auxiliary components; antennas, signal modulation and multiplexing, transceiver and radar systems, signal-to-noise ratios, atmospheric effects, microwave heating, biological effects and safety. Course includes biweekly laboratory assignments using microstrip-integrated circuits with professional-level design and test equipment. Demonstrations of other active components such as traveling wave tubes, klystrons, and backward oscillators are also provided.

** ECE **5324

**– Antenna Theory and Design (3.0), Sp**

**Prerequisite(s):**C- or better in ECE 3300 AND Major Status

General theory of conduction current antennas; linear antennas including dipoles and monopoles; antenna equivalent impedance; design of AM, FM, TV and shortwave broadcast antennas of one or more elements including ground and mutual impedance effects; matching techniques including lumped, shunt, and series elements, transmission lines and conjugate matching; receiving antennas; antennas used for mobile communication systems and their radiation characteristics; antenna arrays and their design; wave propagation including propagation via ionosphere or troposphere; loop antennas and Yagi-Uda arrays; antenna synthesis for specified radiation patterns. UHF and microwave antennas including corner reflector antennas, helical antennas, theory of aperture antennas including rectangular and circular apertures; broadband log-periodic antennas; microstrip antennas and phased arrays including applications for wireless communication systems; slot antennas, turnstile, horn and parabolic radiators; considerations for radar antennas and communication links. Antenna ranges and measurement techniques. Laboratory demonstrations of radiation patterns of portable wireless antennas with and without the model of the head. Visits to various antenna installations in the Salt Lake valley by groups of three students.

** ECE **5325

**– Wireless Communication Systems (3.0), Sp-Even**

**Years****Prerequisite(s):**C- or better in ECE 3300 AND Major Status

Introduction to wireless transmission systems. This course will emphasize how individual parameters affect overall system design and performance. Topics include: basic cellular systems and parameters, multi-path channels and modulation techniques.

** ECE **5340

**– Numerical Techniques in Electromagnetics (3.0), Sp**

**Prerequisite(s):**C- or better in ECE 3300 AND Major Status

Meets with ECE 6340. Review of basic numerical techniques including matrix methods and numerical methods for error minimization and convergence. Comparison of differential and integral formulations including finite difference, finite element, and moment methods. Emphasis on frequency domain method of moments and time domain finite difference (FDTD). Computer exercises require Fortran, C, or equivalent programming and computerized data display techniques. Undergraduate students only.

** ECE **5350

**– Metamaterials and Advanced Antenna Theory (3.0), F**

**Prerequisite(s):**C- or better in ECE 5350 AND Major Status

Meets with ECE 6350. This course will include topics relevant to antenna design and current research in metamaterials. Students will complete projects based on these topics. Metamaterial topics may include: material parameter extraction, effective medium theory, resonant unit cell analysis, and unit cell coupling. Examples will be drawn from invisibility cloaking and negative index media. Antenna topics may include: complex antenna shapes, real array effects, co-located antenna interference, high-impedance ground-planes, and Specific Absorption Rate (SAR).

** ECE **5410

**– Lasers and Their Applications (3.0), F**

**Prerequisite(s):**C- or better in ECE 3300 AND Major Status

Physics and applications of lasers. All major laser types are studied, including semiconductor, gas, dye, and solid-state lasers. Emphasis is placed on the properties of laser light and how they are used in a myriad of applications. Hands-on laboratory experience is included.

** ECE **5411

**– Optical Communication Systems (3.0), Sp-Even****Years****Prerequisite(s):**C- or better in ECE 3300 AND Major Status

Systematic study of modern optical-fiber communication systems; Loss-limited systems vs. dispersion-limited systems; Point-to-point links, broadcast and distribution systems, and optical networks; Wavelength-division multiplexing (WDM) and sub-carrier multiplexing (SCM); optical amplifiers and dispersion compensation; Emphasis is on system design. Includes hands-on laboratory experience.

** ECE **5480

**–****Principles of Ultrasound (3.0), F, Sp**

**Prerequisite(s):**“C-” or better in Physics II AND Major Status

Acoustic-wave propagation in biological materials with examples of practical medical instrumentation resulting from ultrasound interactions with biological structures. Recent Therapeutic ultrasound application will also be discussed.

** ECE **5510

**– Random Processes (3.0), F**

**Prerequisite(s):**C- or better in ECE 3500 AND ECE 3530 AND Major Status

Review of probability theory; multivariate distributions; Gaussian distributions; weak and strong law of large numbers; random processes; stationarity and ergodicity; mean-value function; auto- and cross-correlation functions; power spectral densities; Wiener-Khinchine theorem; Karhunen-Loeve expansion; Gaussian random processes; random processes in linear filters; white Gaussian noise.

** ECE **5520

**– Digital Communication Systems (3.0), Sp**

**Prerequisite(s):**C- or better in ECE 5510 AND Major Status

Modern communications; probabilistic viewpoint; vector representation of signal; signal spaces; vector channels; additive white Gaussian noise; optimum receivers; maximum-likelihood detection; error probabilities; memoryless modulation methods: PAM, BPSK, M-PSK, FSK, QAM; message sequences; intersymbol interference (ISI); Nyquist signaling; complex baseband models; noncoherent detection.

** ECE **5530

**– Digital Signal Processing (3.0), Sp**

**Prerequisite(s):**C- or better in ECE 3500 AND Major Status

Meets with ECE 6530. Discrete-time signals and systems; the z-transform. Input-output relationships; discrete-time networks. The discrete-time Fourier transform and sampling; practical sampling issues; signal quantization. The discrete Fourier transform, the fast Fourier transform, and high-speed convolution. Filter design from analog models; impulse-invariant, bilinear, and spectral transformations. FIR filter design, windowing, and frequency-sampling methods. Equiripple filter design. Coefficient quantization. Examples of DSP applications and implementations. Undergraduate students only.

** ECE **5550

**– Survey of Function Approximation Methods (3.0) – Currently not taught**** ECE **5551

**– Survey of Optimization Techniques (3.0) – Currently not taught****ECE 5610 – Power Electronics Fundamentals (4.0), F** C- or better in ECE 2280 AND ECE 3110 AND Major Status

Prerequisite(s):

This course will introduce the power electronics basis and its applications. Students will learn about dc-dc converters dc-ac inverters, solid state power devices, and applications of power electronics in renewable energy area. In present days, power electronics is an extremely demanding field especially for the development of plug-in hybrid vehicles and renewable energy harvesting. Therefore, this course should be considered as a gateway to many other courses in power engineering.

** ECE **5620

**– Power Systems Analysis (3.0), Sp**

**Prerequisite(s):**C- or better in ECE 3600 AND Major Status

This course will introduce the basics of Electric Power System and its components. Students will learn about power generation, transmissions, and distribution, transmission line modeling, load-flow analysis and balanced and unbalanced fault analysis in power systems. This course should be considered as a starting point to understand the concept of Smart Grid and other branches of modern power systems.

** ECE **5670

**– Control of Electric Motors (3.0), Sp**

**Prerequisite(s):**C- or better in ECE 3510 AND Major Status

Meets with ECE 6670. Principles of operation, mathematical models, and control techniques for electric motors. Types of motors include brush DC motors, stepper motors, brushless DC motors, synchronous motors and induction motors. Topics covered: steady-state and dynamic characteristics, torque limits and field weakening operation, characteristics under voltage and current sources, open-loop and closed-loop control of position and velocity, and field-oriented operation for AC motors.

** ECE **5671

**– Electric Generators (3.0), F-Odd**

**Years****Prerequisite(s):**Major Status.

**Corequisite(s):**C- or better in ECE 3510

Meets with ECE 6671. Energy conversion and sources of mechanical energy. DC generators, droop curves, parallel operation and load sharing. Three-phase AC power and three-phase to two-phase transformations. Permanent magnet synchronous generators. Droop curve sand nose curves. Operation on a DC bus with a rectifier and three-phase inverter. Squirrel-cage induction generators. Grid-tied operation on a self-excited induction generators. Wound-field synchronous generators. Stand-alone and grid tied operation. V-curves, active and reactive power curves, and operating limits. Control of active power, parallel operation and load sharing. Doubly-fed induction generators. Decoupled control of active and reactive power at variable speed. Large synchronous generators and power system stability.

** ECE **5710

**–****Digital VLSI Design (4.0), F**

**Prerequisite(s):**C- or better in ECE 3700 AND Major Status

Meets with ECE/CS 6710. Basic concepts of the design of digital CMOS integrated circuits. Course topics include static and dynamic properties of MOS circuits, composite layout of CMOS circuits, modeling of transistors for stimulation, and commonly encountered CMOS circuit structures. Students complete design, composite layout, and simulation of a simple integrated circuit using computer-aided design tools.

** ECE **5720

**–****Analog Integrated Circuit Design (3.0), Sp-Even**

**Years****Prerequisite(s):**C- or better in ECE 3110 AND Major Status

Meets with ECE/CS 6720. This course is an introduction to analog integrated circuit (IC) analysis and design. The course focuses on elementary single- and two- transistor stages commonly used in amplifiers, comparators, sample-and-hold circuits, etc. Students learn the fundamentals of feedback and electronic noise, and the basics of gm/ID design methodology. Design-oriented analysis techniques are covered to bridge the gap between analysis and design. Students perform simulation, design, and optimization using Cadence and Matlab.

** ECE **5740

**–****Computer-Aided Design of Digital Circuits (3.0), Sp-Odd**

**Years****Prerequisite(s):**C- or better in ECE 3700 AND Major Status

Meets with ECE/CS 6740. Introduction to theory and algorithms used for computer-aided synthesis of digital integrated circuits. Topics include algorithms and representations for Boolean optimization, hardware modeling, combinational logic optimization, sequential logic optimization, and technology mapping. Undergraduate students only.

** ECE **5745

**–****Testing and Verification of Digital Circuits (3.0), F-Even**

**Years****Prerequisite(s):**C- or better in ECE 3700 AND Major Status

Study of failure and fault models in digital circuits, stuck-at-faults, transition faults, transistor faults, combinational/sequential circuit ATPG, FSM testing, design fault test, LFSR and BIST, equivalence checking, BDDs, BMDs, canonical representations of Boolean functions.

** ECE **5750

**–****Synthesis and Verification of Asynchronious VLSI Systems (3.0), F-Odd**

**Years****Prerequisite(s):**C- or better in ECE 3700 AND Major Status

Meets with ECE/CS 6750. Introduction to systematic methods for the design of asynchronous VLSI systems from high-level specifications to efficient, reliable circuit implantations. Topics include specification, protocols, graphical representations, synthesis, optimization using timing information, and verification. Undergraduate students only.

** ECE **5780

**–****Embedded System Design (4.0), Sp**

**Prerequisite(s):**C- or better in ECE 3810 AND CS 4400 AND Major Status

Meets with CS/ECE 6780. Introduction to issues in embedded system design using microcontrollers. Topics include: microcontroller architecture, memory interfacing, serial and parallel I/O interfacing, analog interfacing, interrupt synchronization, and embedded software.

** ECE **5785

**–****Advanced Embedded Software (3.), F-Even**

**Years****Prerequisite(s):**C- or better in ECE 5780 AND Major Status

This course is about designing and implementing reliable and efficient embedded software, with a bias toward whole-system issues. Students must be proficient in C programming, and complete a number of embedded programming projects in C. The course covers topics including embedded software architectures, digital signal processing, feedback control, real-time scheduling, verification and validation, embedded network protocols, and issues in creating safety-critical embedded systems.

** ECE **5830

**– VLSI Architecture (3.0), Sp****Prerequisite(s):**C- or better ECE 3700 AND ECE 3810 AND Major Status

Meets with ECE/CS 6830. Project-based study of a variety of topics related to VLSI systems. Use of field-programmable gate arrays to design, implement, and test a VLSI project. Undergraduate students only.

**CHEM 1210 – General Chemistry I (4), F, Sp, Su**

**Prerequisite(s):**C- or better in CHEM 1200 OR MATH 1050/1080/1210/1220/1310/1320)

Three lectures, two discussions per week. Fundamentals of chemistry emphasizing descriptive and modern applied chemistry for science and engineering majors. Topics include atomic theory, molecular bonding, and reaction chemistry.

**CHEM 1215 – General Chemistry I Lab (1), F, Sp, Su****Prerequisite(s): **CHEM 1210

One lecture and one 3 hour lab per week. Must be taken concurrently with CHEM 1210.

**PHYS 2210 – **

**General Physics I, Calculus-based**

**(4), F, Sp, Su**

**Prerequisite(s):**C- or better in CalculusI OR AP Calc AB score of at least 4 OR AP Calc BC score of at least 3.

A calculus based physics course designed to give science and engineering students a thorough understanding of mechanics. Topics include work and energy, vectors, kinematics, forces, Newton’s three laws of motion, momentum, circular motion and rotations, angular momentum, Newtonian gravity. All topics are covered in one, two, and three spatial dimensions. Applications include mechanical oscillations, and wave motion.

**PHYS 2220 – **

**General Physics II, Calculus-based (4), F, Sp, Su**

**Prerequisite(s):**C- or better in Calculus II OR MATH 1250 OR AP Calculus BC score of at least 4, AND PHYS 2210.

Continuation of PHYS 2210. A calculus based physics course designed to give science and engineering students a thorough understanding of electricity and magnetism. Topics include electrostatics, electric fields and potentials, magnetic fields and Faradays’ law; current flow, resistance, capacitance and inductance; electric circuits and electromagnetic oscillations; electromagnetic waves, geometric and physical optics. All topics are covered in one, two, and three spatial dimensions.

**MATH 1050 – College Algebra (4), F, Sp, Su**

**Prerequisite(s):**C or better in MATH 1010 OR Accuplacer CLM score of 60 or better OR ACT Math score of 23 or better OR SAT Math score of 540 or better.

Functions, inverses and graphs; polynomial, rational, radical, exponential and logarithmic functions; systems of equations and matrices; applications; arithmetic and geometric sequences and series.

**MATH 1060 – **

**Trigonometry (4), F, Sp, Su**

**Prerequisite(s):**C or better in MATH 1050 OR Accuplacer CLM score of 80 or higher.

Trigonometric functions, inverses, equations and identities with applications; introduction to vectors. It is strongly recommended that students complete Math 1050 (College Algebra) before taking Math 1060.

**MATH 1080:**** Precalculus (5.0), F, Sp, Su**

**B or better in MATH 1010 OR MATH 1050 OR MATH 1060 OR Math ACT score of at least 24 OR Math SAT score of at least 560 OR Accuplacer CLM score of 65 or better**

**Prerequisite(s):**Provides in-depth and accelerated review of college algebra and trigonometry to prepare for science-track calculus courses. Most topics from MATH 1050 and MATH 1060 are covered in this course.

**MATH 1210:**** Calculus I (4.0), F, Sp, SuPrerequisite(s): **C or better in MATH 1060 OR MATH 1080 OR AP Calc AB score of 3+ OR Accuplacer CLM score of 90+ OR ACT Math score of 28+ OR SAT Math score of 630+.

Functions and their graphs, differentiation of polynomial, rational and trigonometric functions. Velocity and acceleration. Geometric applications of the derivative, minimization and maximization problems, the indefinite integral, and an introduction to differential equations. The definite integral and the Fundamental Theorem of Calculus.

**MATH 1220:**** Calculus II (4.0), F, Sp, Su**

**C or better in Calculus I OR AP Calculus AB score of at least 4 OR AP Calculus BC score of at least 3.**

**Prerequisite(s):**Geometric applications of the integral, logarithmic, and exponential functions, techniques of integration, conic sections, improper integrals, numerical approximation techniques, infinite series and power series expansions, differential equations (continued).

**MATH 1310:**** Engineering Calculus I (4.0), F, Sp**

**C or better in MATH 1060 OR MATH 1080 OR AP Calc AB score of 3+ OR Accuplacer CLM score of 90+ OR ACT Math score of 28+ OR SAT Math score of 630+**

**Prerequisite(s):**Differential and integral calculus with a focus on engineering applications and projects: functions and models; rates of change in science and engineering, limits and derivatives; related rates; derivatives and shapes of graphs; optimization; Newton’s method; definite integrals, anti-differentiation and Fundamental Theorem of Calculus; techniques of integration; numerical and symbolic integration with software; arclength, area and volumes via integration.

**MATH 1311: Honors Engineering Calculus I (4.0), F**** Prerequisite(s):** AP Calculus AB score of 4 or better OR AP Calc BC score of 3 or better.

Math 1311 and 1321 together are equivalent to the three semester sequence Math 1210, Math 1220, and Math 2210. This sequence is intended for engineering majors. Review of introductory calculus, applications of differential and integral calculus, introduction to differential equations, conic sections and polar coordinates, numerical approximation, sequences and series, power series.

**MATH 1320:**** Engineering Calculus II (4.0), F, Sp, Su**

**C or better in MATH 1310 OR AP Calc BC score of 3 or better**

**Prerequisite(s):**Differential and Integral Calculus II, with a focus on applications and projects for engineers: integral expressions for moments, centers of mass, and work; modeling with first order differential equations; infinite series and sequences; power series and Taylor series; vectors, dot and cross products, and the geometry of space; the calculus of vector functions and particle motion in space; differential calculus for functions of several variables, including linear approximation, partial and directional derivatives, chain rule, and multi-variable optimization.

**MATH 1321:**** Accelerated Engineering Calculus II (4.0), F, Sp**

**C or better in MATH 1311 OR AP Calculus BC score of 4 or better.**

**Prerequisite(s):**Completion of Math 1321 is equivalent to completing the entire three semester Calculus I, II, III sequence. Vectors in the plane and in 3-space, differential calculus in several variables, integration and its applications in several variables, vector fields, and line, surface and volume integrals, Green’s and Stokes Theorems.

**MATH 2210:** **Calculus III (3.0), F, Sp, Su**** Prerequisite(s):** C or better in Calculus II OR AP Calculus BC score of at least 4.

Vectors in the plane and in 3-space, differential calculus in several variables, integration and its applications in several variables, vector fields and line, surface, and volume integrals. Green’s and Stokes’ theorems.

**MATH 2250: ODEs and Linear Algebra (4.0), F, Sp, Su**** Prerequisite(s):** C or better in Calculus III OR MATH 1320

This is a hybrid course which teaches the allied subjects of linear algebra and differential equations. These topics underpin the mathematics required for most students in the Colleges of Science, Engineering, Mines & Earth Science.

**MATH 2270:**** Linear Algebra (4.), F, Sp, Su**

**C or better in Calculus III or MATH 1320**

**Prerequisite(s):**Euclidean space, linear systems, Gaussian elimination, determinants, inverses, vector spaces, linear transformations, quadratic forms, least squares and linear programming, eigenvalues and eigenvectors, diagonalization. Includes theoretical and computer lab components.

**MATH 2280: Intro to Differential Equations (4.0), F, Sp, Su**** Prerequisite(s):** C or better in MATH 2270

Linear and nonlinear differential equations and systems of equations, with applications. Matrix exponential, fundamental solution matrix, phase-space and portraits, stability, initial- and boundary-value problems, introduction to partial differential equations. Requires familiarity with linear algebra. Includes theoretical and computer lab components.

**MATH 3140: Engineering Vector Calculus & PDEs (4.0), F, Sp**** Prerequisite(s):** C or better in MATH 2250 AND MATH 1320

Integration and its applications in several variables, vector fields and line, surface, and volume integrals. Green’s and Stokes’ theorems. Fourier series and boundary-value problems for the wave, heat, and Laplace equations, separation of variables.

**MATH 3150: Partial Differential Equations (2.0), F, Sp, Su**** Prerequisite(s):** C or better in MATH 2250 AND Calculus III

Fourier series and boundary-value problems for the wave, heat, and Laplace equations, separation of variables in rectangular and radial geometries, Fourier transform.

**MATH 3160: Applied Complex Variables (2.0), F, Sp, Su**** Prerequisite(s):** C or better in MATH 2250

Analytic functions, complex integration, Cauchy integral theorem, Taylor and Laurent series, residues and contour integrals, conformal mappings with applications to electrostatics, heat, and fluid flow.

**MATH 5600:**** Survey of Numerical Analysis (4.), Su**

**C or better in Calculus III AND MATH 2250**

**Prerequisite(s):**Meets with MATH 6855. Numerical linear algebra, interpolation, integration, differentiation, approximation (including discrete and continuous least squares, Fourier analysis, and wavelets), initial- and boundary-value problems of ordinary and partial differential equations.

**1030 – Foundations of Computer Science (3.0), F, Sp****Corequisite(s):** C- or better in MATH 1060 OR MATH 1080 OR AP Calc AB score of 3 or better OR AP CalcBC score of 3 or better.Foundations of Computer Science is a course for students who are interested in pursuing a computer science degree but have no background in computing. CS 1030 provides a gentle introduction to the fundamental concepts of computer science. In particular, students learn problem-solving skills and apply them by writing programs in a visual and fun programming environment that is friendly to beginners. Students also study, simulate, and visualize the inner workings of a simple computer.

**1410 – Introduction to Object-Oriented Programming (4.0), F, Sp [EE students should register for Section 40, CE students should register for Section 30)**

**C- or better in CS 1030 OR CS 1400 OR AP CS-A score of 4 OR Instructor Consent.**

**Prerequisite(s):****Corequisite(s):**Calculus I

The second course required for students intending to major in computer science and computer engineering. Introduction to the engineering and mathematical skills required to effectively program computers, and to the range of issues confronted by computer scientists. Roles of procedural and data abstraction in decomposing programs into manageable pieces. Introduction to object-oriented programming. Extensive programming exercises that involve the application of elementary software engineering techniques.

**2100 – Discrete Structures (3.0), F, Sp**

**C- or better in CS 1410 AND Calculus I**

**Prerequisite(s):**Introduction to propositional logic, predicate logic, formal logical arguments, finite sets, functions, relations, inductive proofs, recurrence relations, graphs, and their applications to Computer Science.

**2420 – Introduction to Algorithms and Data Structures (4.0), F, Sp**

**C- or better in CS 1410 OR AP CS-A score of 5.**

**Prerequisite(s):**This course provides an introduction to the problem of engineering computational efficiency into programs. Students will learn about classical algorithms (including sorting, searching, and graph traversal), data structures (including stacks, queues, linked lists, trees, hash tables, and graphs), and analysis of program space and time requirements. Students will complete extensive programming exercises that require the application of elementary techniques from software engineering.

**3100 – Models of Computation (3.0), F**

**C- or better in CS 2100 AND CE Major Status**

**Prerequisite(s):**This course covers different models of computation and how they relate to the understanding and better design of real-world computer programs. As examples, we will study Turing machines that help define the fundamental limits of computing, Push-down Automata that help build language parsers, and Finite Automata that help build string pattern matchers. This course also covers the basics of designing correctly functioning programs, and introduces the use of mathematical logic through Boolean satisfiability methods. The course will involve the use of hands-on programming exercises written at a sufficiently high level of abstraction that the connections between theory and practice are apparent.

**3200:**** Introduction to Scientific Computing (3.0), SpPrerequisite(s): **C- or better in CS 1410 AND MATH 2250/ECE 3530

Scientific computation relevant to computational science and engineering, with emphasis on the process of modeling, simulation, visualization and evaluation. Possible topics related to the four areas include: (modeling) continuous and statistical modeling; (simulation) solving and linear and non-linear systems, interpolation and approximation, numerical differential equations; (visualization) scalar and vector field visualization techniques; (evaluation) connection of results back to case-studies of interest from areas such as physics, biology, etc. Basic knowledge of programming, matrices, and calculus is assumed. Recommended programming experience at the level of CS 2420 and Mathematical background at the level of integral calculus.

**3470 – Scripting Language Design and Implementation (3.0)**

**C- or better in CS 2100 AND CE Major Status**

**Prerequisite(s):**The three major themes in the course are: (1) how to use scripting languages, (2) how to design scripting languages and (3) how to implement scripting languages. Students will be introduced to many scripting languages throughout the history of computing, ultimately distilling design principles and recognizing flaws. Students will also learn the tools and techniques necessary to implement a scripting language for the final project.

**3500 – Software Practice (4.0), F, Sp**

**CE Major Status**

**Prerequisite(s):**Meets with CS 5010. Practical exposure to the process of creating large software systems, including requirements specifications, design, implementation, testing, and maintenance. Emphasis on software process, software tools (debuggers, profilers, source code repositories, test harnesses), software engineering techniques (time management, code, and documentation standards, source code management, object-oriented analysis and design), and team development practice. Much of the work will be in groups and will involve modifying preexisting software systems.

**3505 – Software Practice II (3.0), F, Sp**

**C- or better in CS 3500 AND CE Major Status**

**Prerequisite(s):**Meets with CS 5020. An in-depth study of traditional software development (using UML) from inception through implementation. The entire class is team-based, and will include a project that uses an agile process.

**4150 – Algorithms (3.0), F, Sp**

**C- or better in CS 2100 AND CS 3500 AND CE Major Status**

**Prerequisite(s):**Study of algorithms, data structures, and complexity analysis beyond the introductory treatment from CS 2420. Balanced trees, heaps, hash tables, string matching, graph algorithms, external sorting and searching. Dynamic programming, exhaustive search. Space and time complexity, derivation and solution of recurrence relations, complexity hierarchies, reducibility, NP completeness. Laboratory practice.

**4230 – Parallel Programming (3.0)**

**CS 4400 AND CE Major Status**

**Prerequisite(s):**This course is a comprehensive exploration of parallel programming paradigms, examining core concepts, focusing on subset of widely available contemporary parallel programming models, and providing context with a small set of parallel algorithms. In the last few years, this area has been the subject of significant interest due to a number of factors. The advent of multi-core microprocessors has made parallel computing available to the masses. At the high end, major vendors of large-scale parallel systems, including IBM, Cray, and Sun, have recently introduced new parallel programming languages designed for applications that exploit tens of thousands of processors. Embedded devices can also be through of a small multiprocessors. The convergence of these distinct markets offers an opportunity to finally provide application programmers with a productive way to express parallel computation. The course is structured a lectures, homework, programming assignments and a final project. Students will perform four programming projects to express algorithms using selected parallel programming models and measure their performance. The final project will consist of teams of 2-3 students who will implement codes by combining multiple programming models. Recommended experience in C programming or equivalent.

**4300 – Artificial Intelligence (3.0), F**

**C- or better in CS 3505 AND CS 4150 AND ECE 3530 AND CE Major Statu**

**Prerequisite(s):**Introduction to field of artificial intelligence, including heuristic programming, problem-solving, search, theorem proving, question answering, machine learning, pattern recognition, game playing, robotics, computer vision. Undergraduate students only.

**4400 – Computer Systems (4.0), F**

**C- or better in ECE 3810**

**Prerequisite(s):**Introduction to computer systems from a programmer’s point of view. Machine level representations of programs, optimizing program performance, memory hierarchy, linking, exceptional control flow, measuring program performance, virtual memory, concurrent programming with threads, network programming.

**4480 – Computer Networks (4.0), Sp-Odd Years**

**C- or better in CS 3500 AND CE Major Status**

**Prerequisite(s):**A comprehensive study of the principles and practices of data communication and networks. Topics include transmission media, data encoding, local and wide area networking architectures, internetwork and transport protocols (e.g., IPv4, IPv6, TCP, UDP, RPC, SMTP), networking infrastructure (e.g., routers, nameservers, gateways), network management, distributed applications, network security, and electronic commerce. Principles are put into practice via a number of programming projects. Undergraduate Students only.

**4540 – Web Software Architecture (3.0), Sp**

**C- or better in CS 3505 AND CE Major Status**

**Prerequisite(s):**Software architectures, programming models, and programming environments pertinent to developing web applications. Topics include client-server model, multi-tier software architecture, client-side scripting (JavaScript), server-side programming (Servlets and JavaServer Pages), component reuse (JavaBeans), database connectivity (JDBC), and web servers.

**4600 – Introduction to Computer Graphics (3.0), F**

**C- or better in CS 3500 AND CE Major Status**

**Prerequisite(s):**Computer graphics is the discipline of generating images though computer programs. This course covers modern computer graphics hardware and software. Students will learn raster algorithms in 2D and 3D, coordinate transformation, projections, projections, lighting/shading, and texture mapping, vertex and fragment shaders and how they work. Students will also learn the differences between raster algorithms and ray-tracing algorithms.

**4640 – Image Processing Basics (3.0)**

**CE Major Status**

**Prerequisite(s):**This course is an introduction to digital image processing. Simply put, image processing is the study of any algorithm that takes an image as input and produces an image as output. Digital images are ubiquitous in today’s world, and the number of images available on the internet is exploding. Images are an important form of data in many fields. Examples include microscopy in biology, MRI and CT in medicine, satellite imagery in geology and agriculture, fingerprint and face images in security and many others. Digital image processing is vital in fully harnessing the information in all of this data. Practically every digital image your see today has undergone some form of image processing. Even point-and-shoot digital cameras have a dedicated image processing microchip that performs simple image processing tasks immediately after a photograph is taken. In this course you will learn the basic algorithms of image processing, including image enhancement, filtering, feature detection, geometric transforms, color processing, and compression. The goals of this course are to give you the understanding of how image processing algorithms work and what algorithms to apply to a given problem, and also the foundation necessary to develop your own image processing algorithms.

**5100 – Foundations of Computer Science (3.0), Sp-Even Years**

**C- or better in CS 3100 AND CS 4150 AND CE Major Status**

**Prerequisite(s):**Meets with CS 6100. A survey of topics in theoretical computer science, focusing on computability and complexity. Turing machine, decidability, relative computability, recursion theorem, non-deterministic TMs, complexity measures, time and space hierarchies, P and NP, NP-completeness, program specification and verification. Undergraduate students only.

**5110 – Rigorous System Design and Debugging (3.0), Sp-Odd Years**

**C- or better in CS 3100 AND CS 4400**

**Prerequisite(s):**Meets with CS 6110. The main goal of the course is to teach students how to rigorously design and debug complex systems (software, hardware, protocols). We will study theoretical foundations underlying this task, and solve exercises and homework assignments based around actually proving example systems correct. We will also explore practical techniques behind popular verification and debugging tools, such as systematic test generation and symbolic execution. Students completing the course will gain a solid understanding of practical design, specification, and verification techniques and the underlying theory. Furthermore, students will leave with significant hands-on experience.

**5140 – Data Mining (3.0), Sp**

**C- or better in CS 3500 AND ECE 3530 AND MATH 2250.**

**Prerequisite(s):****Corequisite(s):**C- or better in CS 4150

Meets with CS 6140. Data mining is the study of efficiently finding structures and patterns in large data sets. We will focus on: (1) converting from a messy and noisy raw data set to a structured and abstract one, (2) applying scalable and probabilistic algorithms to these well-structured abstract data sets, and (3) formally modeling and understanding the error and other consequences of parts (1) and (2), including choice of data representation and trade-offs between accuracy and scalability. These steps are essential for training as a data scientist. Topics will include: similarity search, clustering, regression/dimensionality reduction, graph analysis, PageRank, and small space summaries. We will also cover several recent developments and applications.

**5310 – Robotics (3.0), F**

**C- or better in MATH 2250 and Physics I AND CE Major Status**

**Prerequisite(s):**Meets with CS 6310 and ME EN 6220. The mechanics of robots, comprising kinematics, dynamics, and trajectories. Planar, spherical, and spatial transformations and displacements. Representing orientation: Euler angles, angle-axis, and quaternions. Velocity and acceleration: the Jacobian and screw theory. Inverse kinematics: solvability and singularities. Trajectory planning: joint interpolation and Cartesian trajectories. Statics of serial chain mechanisms. Inertial parameters, Newton-Euler equations, D’Alembert’s principle. Recursive forward and inverse dynamics.

**5320 – Computer Vision (3.0), Sp-Odd Years**

**C- or better in CS 3505 AND MATH 2250 AND Calculus III**

**Prerequisite(s):**Meets with CS 6320. Basic pattern-recognition and image-analysis techniques, low-level representation, intrinsic images, “shape from” methods, segmentation, texture and motion analysis, and representation of 2-D and 3-D shape. Undergraduate Students only.

**5340 – Natural Language Processing (3.0), F-Odd Years**

**C- or better in CS 3505 AND CS 3100 AND CE Major Status**

**Prerequisite(s):**Meets with CS 6340. The goals for this course are to study: (1) algorithms and methods for building computational models of natural language understanding, including syntactic analysis, semantic representations, discourse analysis, and statistical and corpus-based methods for text processing and knowledge acquisition, (2) issues involved in natural language understanding, such as cognitive and linguistic phenomena, and (3) applications that can benefit from natural language processing, such as information extraction, question answering, machine translation, and spoken language understanding.

**5350 – Machine Learning (3.0), F, Sp-Even Years**

**C- or better in CS 3500 AND MATH 2250 AND ECE 3530 AND CE Major Status.**

**Prerequisite(s):****Corequisite(s)**: C- or better in CS 4150 OR CS 3100

Meets with CS 6350. This course covers techniques for developing computer programs that can acquire new knowledge automatically or adapt their behavior over time. Topics include several algorithms for supervised and unsupervised learning, decision trees, online learning, linear classifiers, empirical risk minimization, computational learning theory, ensemble methods, Bayesian methods, clustering and dimensionality reduction.

**5460 – Operating Systems (3.0), Sp**

**C- or better in CS 4400 AND CE Major Status**

**Prerequisite(s):**Characteristics, objectives, and issues concerning computer operating systems. Hardware-software interactions, process management, memory management, protection, synchronization, resource allocation, file systems, security, and distributed systems. Extensive systems programming.

**5490 – Network Security (3.0), F**

**C- or better in CS 4480**

**Prerequisite(s):**Meets with CS 6490. This course will provide a comprehensive introduction to the principles and practices of network security especially Internet security. Topics to be covered include: cryptography essentials, authentication, access control, denial-of-service, digital pests, anonymity, cloud, and software defined network security. Existing network security standards (IPsec/SSL/WiFi/3G/4G) will be used for case studies. The network security concepts taught in this course will be strengthened with the help of written homework. Principles will be put into practice via programming assignments and one final project. In addition to the written homework, the programming assignments, and the final project, the course grade will be decided based on two midterm exams. This course does not have a final exam.

**5510 – Programming Language Concepts (3.0), F-Odd Years**

**C- or better in CS 3500 AND CE Major Status**

**Prerequisite(s):**Ideas behind the design and implementation of programming languages. Syntactic description; scope and lifetime of variables; runtime stack organization; parsing and abstract syntax; semantic issues; type systems; programming paradigms; interpreters and compilers.

**5530 – Database Systems (3.0), Sp**

**C- or better in CS 3500 AND CE Major Status**

**Prerequisite(s):**Representing information about real world enterprises using important data models including the entity-relationship, relational and object-oriented approaches. Database design criteria, including normalization and integrity constraints. Implementation techniques using commercial database management system software. Selected advanced topics such as distributed, temporal, active, and multi-media databases. Undergraduate students only.

**5630 – Visualization (3.0), F**

**C- or better in CS 3505 AND CS 3200/CS 6210/MATH 5600 AND CE Major Status**

**Prerequisite(s):**Meets with CS 6630. Introduction to the principles, methods, and techniques for effective visual analysis of data. Students will explore many aspects of visualization, including techniques for both spatial (e.g. gridded data from simulations and scanning devices) and nonspatial data (e.g. graphs, text, high-dimensional tabular data). The course begins with an overview of principles from perception and design, continues with a framework for discussing, critiquing, and analyzing visualizations, and then focuses on visualization techniques and methods for a broad range of data types. Students will acquire hands-on experience using cutting edge visualization systems as well as programming interactive visual analysis tools.

**5610 – Interactive Computer Graphics (3.0), Sp**

**C- or better in CS 4600 AND CE Major Status**

**Prerequisite(s):**Meets with CS 6610. Interactive 3D computer graphics, polygonal representations of 3-D objects. Interactive lighting models. Introduction to interactive texture mapping, shadow generation, image-based techniques such as stencils, hidden-line removal, and silhouette edges. Introduction to image-based rendering, global illumination, and volume rendering. Undergraduate students only.

**5650 – Visual Perception from a Computer Graphics (3.0), Sp-Even Years**

**None**

**Prerequisite(s):**Meets with CS 6650. Computer graphics produces images intended to be seen by people, yet relatively few practitioners in the field know much about the specifics of human vision. This course provides an introduction to human visual perception from the perspective of computer graphics and visualization, though it is also relevant to perceptual psychologists using computer graphics to generate experimental stimuli, directly investigating the perceptual effectiveness of some aspects of computer graphics, or interested in perceptual topics relevant to the information content of images but not included in most standard vision science references. In addition to material included in most standard visual perception classes, this course covers perception of material properties, illumination, the perception of pictorial space, image statistics, perception and action, and spatial cognition.

**5789 – Embedded Systems and Kinetic Art (3.0), Sp-Even Years**

**CE Major Status**

**Prerequisite(s):**This is a project based course that meets with a corresponding course in the Art department (Kinetic Sculpture, ART 4455). the goal is to work on interdisciplinary teams to create kinetic art projects. Kinetic art contains moving parts or depends on motion, sound, or light for its effect. The kinetic aspect is often regulated using microcontrollers connected to motors, actuators, transducers, and sensors that enable the sculpture to move and react to its environment. Students will explore interfacing of embedded systems with sensors and actuators of all sorts, along with real-time/interactive programming techniques and interrupt driven system design. They will also explore physical and conceptual aspects of machine-making as an artistic process.

**Note:**These lists are provided as a guide to our class offerings. They do not guarantee that any class will be offered. Prerequisites, course material, credit weights, and semester offering are subject to change at any time.You can view current course offerings for upcoming semesters by visiting the University of Utah Class Catalog for the appropriate semester:

Spring 2016

Summer 2016

Fall 2016

## Course Areas

Please click on a tab to review the courses and information related to your chosen concentration.

##### Power, Energy, and Control

**What is Power Engineering? **Power engineering covers three complementary areas of electrical engineering:

- power transmission and distribution systems (in short, power systems)
- energy conversion (motors, generators, and electric drives)
- power electronics

The job market is booming for graduates in electric power engineering because the workforce in the electric power sector is aging and the industry faces massive retirements. In addition, new opportunities are exploding thanks to developments in power electronics. Exciting new applications include electric cars, (more) electric aircraft and ships, renewable energy (wind power), and data centers.

**Courses in Power Engineering**

Students interested in power engineering should plan on taking the following classes.

**ECE 3600 – **Introduction to Electric Power Engineering – Fall, Junior year**ECE 3110 –** Engineering Electronics II – Spring, Junior year**ECE 5620 –** Power Systems Analysis – Spring, Junior year**ECE 5670 –** Control of Electric Motors – Spring, Junior year**ECE 5610 –** Power Electronics Fundamentals – Fall, Senior year**ECE 5630 –** Economic Operation of Power Systems – Fall, Senior year**ECE 5671 –** Electric Generators – Fall, Senior year**ECE 5960 –** Power Systems – Fall (even years), Senior year**ECE 5960 –** Electrical Forensic Engineering and Failure Analysis – Fall (odd years), Senior year**ECE 5640 –** Power System Security Analysis – Spring, Senior year**ECE 5960 –** Power System Planning and Design – Spring, Senior year

**Sponsors in Power Engineering**

The Power Engineering Program would not have been possible without the support of Utah’s industry. Major donations were provided by the Intermountain Power Agency, Rocky Mountain Power, and the Utah Rural Electric Association, with additional funding received from Questar, Utah Associated Municipal Power Systems, Utah Municipal Power Agency, Reliable Controls, Williams Pipeline and Pacificorp Energy.

**Useful Links**Power Advising

Controls Advising

Coming soon!

Coming soon!

Coming soon!

Coming soon!

## ECE Course Websites

##### Spring 2016 Semester Course Websites

ECE 5324/6324 – Antenna Theory and Design

ECE 6910/7910 – Graduate Seminar

##### Fall 2015 Semester Course Websites

ECE 2210 – Electrical & Computer Engineering for Nonmajors

ECE 2200 – ECE for Civil Engineers

ECE 3600 – Introduction to Electric Power Engineering

ECE 5350/6350 – Metamaterials and Advanced Antenna Theory

ECE 6900/7900 – Graduate Seminar

**Course Numbering System**

X2xx = Micro/Nanosystems

X3xx = Electromagnetics

X4xx = Optics

X5xx = Signal Processing/Communication

X6xx = Power

X7xx and x8xx = Computer Engineering

X9xx = Seminars or Temporary Course Numbers (courses taught first or second time)