# 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****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 Instructor’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.0), 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** Major Status

Prerequisite(s):

**AND Instructor’s Consent.**

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- or 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, Sp**

**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 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 5630 –**

**Power Systems Economics (3.0), F**

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

The course introduces the market structure of electric power systems, and the market agents including of system operator, generating companies, and customers. The course describes the basic market concepts from micro-economics and then continues with introducing the tools and models for electricity market operation, including economic dispatch, optimal power flow, and unit commitment.

**ECE 5640**–

**Power System Security Analysis (3.0), S**

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

Prerequisite(s):

Power system equipment is prone to many types of failures, weather-related outages, and (cyber/physical) attacks that may affect the reliability of the electricity service to the end-use consumers. This course starts with introducing the concepts and definitions of reliability and security in power systems. The course then introduces deterministic and stochastic models that the system operators utilize to ensure the security of power system operation against random failure and uncertainties.

** 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**

**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.0), 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.

**ECE 6221 – Micromachining (3.0), Sp**

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

Meets with ECE 5221 and ME EN 5050. 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. Graduate students only. Extra work required.

**ECE 6231 – Microsensor (3.0), F**

**Prerequisite(s):** MSE 3210

The Course Builds on ECE 5221/6221, Fundamentals of Micromachining. Topics include definitions, categorization and application fields of microsensors and actuatiors, an introductions to 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 various actuators (Relays, micromotors, inkjet printheads, micropumps), sensor packaging and assembly. Registration for a weekly lab (1) is required. Extra work required of graduate students.

**ECE 6232 – Microsensor Lab (1.0), F**

**Prerequisite(s):** ECE 5221 OR ECE 6221**Corequisite(s): **ECE 6231

The lab is a compulsory section to the lecture Microsensors and Actuators (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 assembly, 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 6261 –Physical Theory of Semiconductor Devices (3.0), F**

**Prerequisite(s):** MSE 3210 OR (ECE 3740 AND (ECE 3200 OR ECE 5201 OR MSE 5201)) OR Department Consent

Development of a thorough, working knowledge of the physics of semiconductor materials and devices, including quantum effects. Examination of advanced devices, including light emitting diodes, solar cells, detectors, and injection lasers.

**ECE 6310 – Advanced Electromagnetic Fields (3.0), Sp**

**Prerequisite(s):** ECE 3300

Review of Maxwell’s macroscopic equations in integral and differential forms including boundary conditions, power and energy computations, and time-harmonic formulations. Macroscopic-electrical properties of matter. Oblique incidence planewave propagation and polarization in multi-layered media. Separation of variable solutions of the wave equation in rectangular, cylindrical and spherical coordinates. Vector potential theory and the construction of solutions using Green’s theorem. Electromagnetic theorems of duality, uniqueness, reciprocity, reaction, and source equivalence. Waveguide, cavity, antenna, and scattering applications in rectangular, cylindrical, and spherical geometries.** **

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

**Prerequisite(s):** ECE 3300 AND MATH 2210 AND MATH 2250

Meets with ECE 5340. 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. Graduate students only. Extra work required.

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

**Prerequisite(s):** ECE 3300

Meets with ECE 5350. 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). Graduate students will have one additional project

**ECE 6451 – Nonlinear Optics (3.0), Sp**

**Prerequisite(s):** “C-” or better in ECE 5410

Theoretical development and applications of nonlinear optical processes including harmonic generation, sum and difference frequency generation, parametric oscillation. Nonlinear refractive indices and multiphoton absorption.

**ECE 6461 – Nanophotonics (3.0), F**

**Prerequisite(s):** ECE 3300 AND ECE 5410 OR Department Consent

This course surveys the broad field of nanophotonics. Nanophotonics can be described by three conponents: nanoscale confinement of optical radiation, nanoscale confinement of matter, and nanoscale photo-processes. Course topics include: photo-induced processes, near-field effects and microscopy, quantum-confined materials, plasmonics (interaction of light with metals), photonic crystals, nanocomposite materials, biomaterials, molecular nanomaterials, materials growth and characterization, and nanolithography.

**ECE 6520 – Information Theory (3.0), Sp**

**Prerequisite(s):** ECE 5510 AND ECE 5520

Concept of information and uncertainty; source and channel models; entropy and its properties; relative entropy; mutual information; Shannon’s source coding theorem; the Asymptotic Equipartitioning Property (AEP); concepts of source codes; Huffman code; arithmetic coding; variable to fixed source codes; typical sequences; rate distortion theory; channel coding; Shannon’s channel coding theorem.

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

**Prerequisite(s):** ECE 3500

Meets with ECE 5530. 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. Graduate students only. Extra work required.

**ECE 6532 – Digital Image Processing (3.0), F**

**Prerequisite(s):** None

Introduction to image processing applications and image perception; light, color and the human visual system. The gray-level histogram and intensity transformations. Filtering in the spatial and frequency domains; 2D convolution and 2D Fourier Transform. Image filtering: smoothing, sharpening and optimal image restoration with the Wiener filter. Image reconstruction from projections; Computed Tomography (CT). Wavelet transforms in 1 and 2 dimensions. Image coding and compression. Image analysis; morphological processing, edge detection and segmentation.** **

**ECE 6540 – Estimation Theory (3.0), Sp**

**Prerequisite(s):** ECE 5510 AND ECE 5530

Bayesian parameter estimation; unbiased estimators; minimum variance estimators. Sufficient statistics; maximum-likelihood estimation; the Cramer-Rao bound. Linear estimation; minimum-mean-square-error estimation and its geometrical interpretation. Wiener filtering; spectral factorization. Kalman filtering and state-space estimation. Applications of estimation to practical problems including system identification and spectrum estimation.

**ECE 6550 – Adaptive Filters (3.0), F**

**Prerequisite(s):** ECE 5510 AND ECE 5530

Basics of minimum mean-square and least-squares estimation. Lattice orthogonalization. Stochastic gradient adaptive filters: derivations, performance analyses and variations. Recursive least-squares adaptive filters: fast algorithms, least-squares lattice filters, numerical issues, and performance comparisons with stochastic gradient adaptive filters. Adaptive IIR filters. Fundamentals of adaptive nonlinear filtering. Selected applications.

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

**Prerequisite(s):** ECE 3510

Meets with ECE 5670. Principles of operation, mathematical models, and control techniques for electric motors. Types of motors include brush DC motors, stepper motors, synchronous motors, induction motors, and brushless DC 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. Graduate students only. Extra work.

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

**Prerequisite(s):** ECE 3700 OR CS 3700

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 simulation, and commonly encountered CMOS circuit structures. Students complete design, composite layout, and simulation of a simple integrated circuit using computer-aided design tools.

**ECE 6730 – Radio Frequency Integrated Circuit Design (3.0), F**

**Prerequisite(s):** “C-” or better in ECE 6720 OR Instructor Consent.

Covers the design and analysis of radio frequency integrated circuits. Fundamental concepts such as nonlinearity, modulation and upconversion are covered. Transceiver architectures are discussed, followed by a detailed examination of the constituent components such as LNAs, PAs, mixers oscillators, and frequency synthesizers. It is recommended that you take ECE 6720 before enrolling in this course.

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

**Prerequisite(s): **None

Meets with ECE/CS 5780. 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. Graduate students only. Extra work required.

**ECE 6810 – Computer Architecture (3.0), F, Sp**

**Prerequisite(s):** ECE 3810 OR CS 3810

Principles of modern high-performance computer and micro architecture; static vs. dynamic issues, pipelining, control and data hazards, branch prediction and correlation, cache structure and policies, cost performance and physical complexity analyses.

**ECE 6950 – Special Topics (1.0-12.0), Sp, Su**

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

**ECE 7310 – Advanced Topics in Magnetic Resonance Imaging (3.0), Sp**

**Prerequisite(s):** Graduate Status in Electrical and Computer Engineering AND Instructor’s Consent.

In-depth study of physics and mathematics of MR imaging and MR spectroscopy as they relate to the imaging of biologic systems: NMR physics, Block’s equations, pulse sequences, flow and diffusion phenomena, spectroscopy principles, methodology. Laboratory.

**ECE 7320 – 3-D Reconstruction Techniques in Medical Imaging (3.0), F**

**Prerequisite(s):** Graduate Status in Electrical and Computer Engineering AND Instructor’s Consent.

The course focuses on the problem of three-dimensional (3D) image reconstruction from line integrals, which constitute a mathematical model of measurements in computed tomography (CT), and particularly x-ray computed tomography. Analytical and iterative reconstruction methods are investigated for various geometries of data acquisition. A critical goal is to provide the student with the essential tools required to understand papers on tomographic image reconstruction, from x-ray CT to emission CT, and also with a clear understanding of how efficient and accurate reconstruction algorithms are designed, using the Fourier slice theorem and back projection techniques. MATLAB laboratories and a computer project are given in support of the theory.

**CHEM 1210 – General Chemistry I (4.0), 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.0), F, Sp, Su**

**Prerequisite(s):**C- or better in Calculus I 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.0), 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.0), 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.0), 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, Su**

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):**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**

**AP Calculus AB score of 4 or better OR AP Calc BC score of 3 or better.**

**Prerequisite(s):**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**

**C or better in Calculus II OR AP Calculus BC score of at least 4.**

**Prerequisite(s):**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**

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

**Prerequisite(s):**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**

**C or better in MATH 2270**

**Prerequisite(s):**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**

**C or better in MATH 2250 AND MATH 1320**

**Prerequisite(s):**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**

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

**Prerequisite(s):**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**

**C or better in MATH 2250**

**Prerequisite(s):**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.

**CS 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.

**CS **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.

**CS **2100** – Discrete Structures (3.0), F, Sp**** Prerequisite(s):** C- or better in CS 1410 AND Calculus I

Introduction to propositional logic, predicate logic, formal logical arguments, finite sets, functions, relations, inductive proofs, recurrence relations, graphs, and their applications to Computer Science.

**CS **2420** – Introduction to Algorithms and Data Structures (4.0), F, Sp**** Prerequisite(s):** C- or better in CS 1410 OR AP CS-A score of 5.

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.

**CS **3100** – Models of Computation (3.0), F**** Prerequisite(s):** C- or better in CS 2100 AND CE Major Status

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.

**CS **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.

**CS **3470** – Scripting Language Design and Implementation (3.0)**** Prerequisite(s):** C- or better in CS 2100 AND CE Major Status

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.

**CS **3500** – Software Practice (4.0), F, Sp**** Prerequisite(s):** CE Major Status

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.

**CS **3505** – Software Practice II (3.0), F, Sp**** Prerequisite(s):** C- or better in CS 3500 AND CE Major Status

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.

**CS **4150** – Algorithms (3.0), F, Sp**** Prerequisite(s):** C- or better in CS 2100 AND CS 3500 AND CE Major Status

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.

**CS **4230** – Parallel Programming (3.0)**** Prerequisite(s): **CS 4400 AND CE Major Status

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.

**CS **4300** – Artificial Intelligence (3.0), F**** Prerequisite(s):** C- or better in CS 3505 AND CS 4150 AND ECE 3530 AND CE Major Status

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.

**CS **4400** – Computer Systems (4.0), F**** Prerequisite(s):** C- or better in ECE 3810

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.

**CS **4480** – Computer Networks (4.0), Sp-Odd Years**** Prerequisite(s):** C- or better in CS 3500 AND CE Major Status

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.

**CS **4540** – Web Software Architecture (3.0), Sp**** Prerequisite(s):** C- or better in CS 3505 AND CE Major Status

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.

**CS **4600** – Introduction to Computer Graphics (3.0), F**** Prerequisite(s):** C- or better in CS 3500 AND CE Major Status

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.

**CS **4640** – Image Processing Basics (3.0)**** Prerequisite(s):** CE Major Status

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.

**CS **5100** – Foundations of Computer Science (3.0), Sp-Even Years**** Prerequisite(s):** C- or better in CS 3100 AND CS 4150 AND CE Major Status

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.

**CS **5110** – Rigorous System Design and Debugging (3.0), Sp-Odd Years**** Prerequisite(s):** C- or better in CS 3100 AND CS 4400

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.

**CS **5140** – Data Mining (3.0), Sp**** Prerequisite(s):** C- or better in CS 3500 AND ECE 3530 AND MATH 2250.

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

**CS **5310** – Robotics (3.0), F**** Prerequisite(s):** C- or better in MATH 2250 and Physics I AND CE Major Status

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.

**CS **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.

**CS **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.

**CS **5350** – Machine Learning (3.0), F, Sp-Even Years**** Prerequisite(s):** C- or better in CS 3500 AND MATH 2250 AND ECE 3530 AND CE Major Status.

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

**CS **5460** – Operating Systems (3.0), Sp**** Prerequisite(s):** C- or better in CS 4400 AND CE Major Status

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.

**CS **5490** – Network Security (3.0), F**** Prerequisite(s):** C- or better in CS 4480

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.

**CS **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.

**CS **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.

**CS **5630** – Visualization (3.0), F**** Prerequisite(s):** C- or better in CS 3505 AND CS 3200/CS 6210/MATH 5600 AND CE Major Status

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.

**CS **5610** – Interactive Computer Graphics (3.0), Sp**** Prerequisite(s):** C- or better in CS 4600 AND CE Major Status

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.

**CS **5650** – Visual Perception from a Computer Graphics and Visualization Perspective (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.

**CS **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.

**BIOL 2010 – Evolution & Diversity of Life (3.0), F, Sp, Su**

**Prerequisite(s):** C- or better in BIOL 1210

The evolution of reproductive, physiologic, and morphologic diversity from the beginning of life through the origins of major lineages of organisms.

**BIOL 2020 – Principles of Cell Biology (3.0), F, Sp, Su**

**Prerequisite(s):**C- or better in BIOL 1210 AND CHEM 1210 or 1211

Structure of cells and organelles in prokaryotes and eukaryotes, function of cellular components, cell shape and movement, and differentiation and development in cell systems.

**BIOL 2030 – Genetics (3.0), F, Sp, Su**

**Prerequisite(s):**C- or better in BIOL 2020 or 2021

Study of classical genetics including the rules of inheritance, transmission genetics, and genes in populations. Also covers molecular analysis of gene structure, function, expression, and evolution.

**CHEM 1220 – General Chemistry II (4.0), F, Sp, Su**

**Prerequisite(s):**C- or better in CHEM 1210 or 1211

A continuation of CHEM 1210.

**CHEM 2310 – Organic Chemistry I (4.0), F, Sp, Su**

**Prerequisite(s):**C- or better in CHEM 1210 or 1211

Topics include reactions of organic molecules, shapes of molecules, and spectroscopic methods of identifying organic molecules.

**CHEM 2320 – Organic Chemistry II (4.0), F, Sp, Su**

**Prerequisite(s):**None

A continuation of Organic Chemistry I emphasizing reaction chemistry and mechanisms of reactions. Properties of a wide array of organic molecules, including biopolymers and organic materials, will be covered. Students need to have completed CHEM 2310 or CHEM 2311 in order to succeed in this course.

**CHEM 3060 – Quantum Chemistry and Spectroscopy (4.0), F, Sp, Su**

**Prerequisite(s):**C- or better in CHEM 1220 or 1221 AND PHYS 2220 or 3220 AND MATH 1260 or 1321 or 2210 or 2250 or 3140 or 3150

Introduction to quantum mechanics, electronic structure of molecules, and spectroscopy. Students need to have mastered the concepts in MATH 2210, PHYS 2220, and CHEM 1220 or 1221 in order to succeed in this course. Significant mastery of the concepts in MATH 2250 is also highly recommended.

**CHEM 3070 – Thermodynamics and Chemical Kinetics (4.0), F, Sp, Su**

**Prerequisite(s):**C- or better in CHEM 1220 or 1221 AND PHYS 2220 or 3220 AND MATH 1260 or 1321 or 2210

Introduction to microscopic and bulk thermodynamics, partition functions, theory of electrolytes and electrochemistry, and chemical kinetics. Students need to have mastered the concepts in MATH 2210, PHYS 2220, and CHEM 1220 or 1221 in order to succeed in this course. Significant mastery of the concepts in MATH 2250 is also highly recommended.

**CH EN 2800 – Fundamentals of Process Engineering (3.0), F, Sp, Su**

**Prerequisite(s):**C- or better in CHEM 1220 AND CH EN 2300 AND Full Major Status in Chemical Engineering

Material and energy balances, process engineering applications, degrees of freedom, fundamentals of multi-component phase equilibria, numerical and graphical calculations, and the use of modern computing tools in process -engineering calculations.

**CH EN 3353 – Fluid Mechanics (3.0), F**

**Prerequisite(s):**C- or better in MATH 2250 AND PHYS 2220 AND CH EN 2300 AND CH EN 2450 AND CH EN 2800 AND Full Major Status in Chemical Engineering

Fluid statics; application of conservation of mass, energy, and momentum to basic fluid mechanics problems; introduction to compressible flow, potential flow, boundary layer and dimensional analysis.

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

**Prerequisite(s):**C- or better in CS 1410 or EAE 1410 AND MATH 1210 or M1250 or 1310 or 1311

Introduction to propositional logic, predicate logic, formal logical arguments, finite sets, functions, relations, inductive proofs, recurrence relations, graphs, and their applications to Computer Science.

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

**Prerequisite(s):**C- or better in CS 1410 or EAE

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.

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

**Prerequisite(s):**Full Major Status in Computer Science or Computer Engineering OR Minor Status in Computer Science

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.

**CS 5100 – Theory of Computation (3.0), F, Sp, Su**

**Prerequisite(s):**C- or better in CS 3100 AND CS 4150 AND Full Major Status in Computer Science OR Computer Engineering

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.

**CS 5310 – Robotics (3.0), F, Sp, Su**

**Prerequisite(s):**C- or better in MATH 2250 or MATH 2270 AND PHYS 2210 AND Full Major status in Computer Science OR Computer Engineering

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.

**CS 5320 – Computer Vision (3.0), F, Sp, Su**

**Prerequisite(s):**C- or better in CS 3505 AND MATH 2270 AND MATH 2210 AND Full Major status in Computer Science OR Computer Engineering

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.

**CS 5460 – Operating Systems (4.0), F, Sp, Su**

**Prerequisite(s):**C- or better in CS 4400 AND Full Major status in Computer Science OR Computer Engineering

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.

**CS 6210 – Advanced Scientific Computing I (3.0), F, Sp, Su**

**Prerequisite(s):**CS 3200 AND CS 3505 AND MATH 3160

An introduction to existing classical and modern numerical methods and their algorithmic development and efficient implementation. Topics include numerical linear algebra, interpolation, approximation methods and parallel computation methods for nonlinear equations, ordinary differential equations, and partial differential equations.

**CS 6370 – Motion Planning (3.0), F, Sp, Su**

**Prerequisite(s):**MATH 2250

Motion planning stands as a central pillar in robotics and a powerful tool in a number of other fields. Motion planning enables robots and autonomous agents to move themselves and other parts of the world to a desired goal by choosing a sequence of appropriate actions. This course will cover the theoretical and algorithmic underpinnings of motion planning as well as practical issues in applying algorithms to real world problems. Applications will be examined across robotics ranging from obstacle avoidance in autonomous cars to rearrangement of furniture by humanoid robots. Examples from fields beyond robotics may also be examined such as bioinformatics, video games, or computer-aided design..

**CVEEN 2140 – Strength Materials (3.0), F, Sp **

**Prerequisite(s):**C or better in CVEEN 2010 AND Intermediate Major Status in Civil Engineering

Concept of stress, axial stress and strain, torsion, pure bending, transverse loading, transformations of stress and strain, design of beams and shafts for strength, deflection of beams, columns.

**CVEEN 5850 – Engineering Law and Contracts (3.0), F, Sp **

**Prerequisite(s):**C or better in CVEEN 3100 AND Full Major Status in Civil Engineering

Meets with CVEEN 6850. Designed to provide science and engineering students with a sufficient knowledge of law to enable them to recognize and deal with legal problems which may arise in the fields of science, engineering, or technical management. Topics covered include courts, trial procedures, evidence, contract law, engineering contracts, agency, patents, trademarks, copyrights, trade secrets, product liability, employer/employee law, business law including corporations, partnerships, joint ventures, etc..

**ENGIN 5020 – Emerging Technology and its Business Management (3.0), F, Sp**

**Prerequisite(s):**None

The overall objective of this class is to review the existing technologies, to study emerging technologies, and to apply selected ones to development of business models. This class will have two major parts; to research the businesses-social impact of the present and emerging technologies, and to carry out class projects that develop different business models and plans as an entrepreneurship exercise. The class will be divided into different groups for the class projects, and all of the groups will be required to present their business model and plans as the final class project.

**MATH 3210 – Foundations of Analysis I (4.0), F, Sp, Su**

**Prerequisite(s):**C or better in MATH 2210 or 1260 or 1280 or 1321 or 3140 AND MATH 2200 or 2270 or 2250

Logic, methods of proof and mathematical argument in mathematical analysis. Rigorous reconsideration of the real-number system, infinte series and of continuity, differentiation and integration for functions of one variable. The emphasis is on improving the student’s ability to understand and explain concepts in a logical and complete manner.

**MATH 3220 – Foundations of Analysis II (4.0), F, Sp, Su**

**Prerequisite(s):**C or better in MATH 3210

Advanced multivariable calculus. Topics include continuity, compactness, differentiation and affine approximation, chain rule, Taylor series, extremization, error estimation, inverse and implicit function theorems, Riemann integration, Fubini’s Theorem, change of variables formula. The emphasis is on further developing the student’s ability to understand more abstract concepts and to write an effective and rigorous mathematical argument.

**MATH 4200 – Introduction to Complex Variables (3.0), F, Sp, Su**

**Prerequisite(s):**C or better in MATH 3220

Complex functions and their differentiability, complex integrals, power series, the Cauchy theorem and formulas, residues and applications to evaluating integrals, conformal mappings and applications. Graduate students who need this course should consult the instructor.

**MATH 5030 – Actuarial Mathematics (3.0), F, Sp, Su**

**Prerequisite(s):**C or better in MATH 5010

Basic introduction to actuarial and insurance mathematics. Helps to prepare students for the third actuarial exam.

**MATH 5040 – Stochastic Processes and Simulation I (3.0), F, Sp, Su**

**Prerequisite(s):**C or better in MATH 5010

Meets with MATH 6810. An introductory course in the theory and practice of random processes with special emphasis on problem solving and simulation analysis.

**MATH 5080 – Statistical Inference I (3.0), F, Sp**

**Prerequisite(s):**C or better in MATH 5010

Sampling, sampling distributions, Central Limit Theorem, transformation of data, complete and sufficient statistics, point estimation, optimality.

**MATH 5210 – Introduction to Real Analysis (4.0), F, Sp, Su**

**Prerequisite(s):**C or better in MATH 3220

Metric spaces, fixed-point theorems and applications, Lebesgue integral, normed linear spaces, approximation, the Fundamental Theorem of Calculus.

**MATH 5310 – Introduction to Modern Algebra I (3.0), F, Sp, Su**

**Prerequisite(s):**C or better in MATH 3210 AND MATH 3220 or 4400 or 4510

An introduction to groups, rings, and fields.

**MATH 5600 – Survey of Numerical Analysis (4.0), F, Sp, Su**

**Prerequisite(s):**C or better in MATH 2210 or 1260 or 1280 or 1321 or 3410 AND MATH 2270 or 2250

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

**MATH 5740 – Mathematical Modeling (3.0), F, Sp**

**Prerequisite(s):**C or better in MATH 2250 or 2270 AND MATH 2280

Meets with MATH 6870. Development of mathematical models for physical, biological, engineering, and industrial phenomena and problems, and their solution using a wide variety of tools. Taught through case studies.

**MATH 5760 – Introduction to Mathematical Finance I (3.0), F, Sp, Su**

**Prerequisite(s):**C or better in MATH 5010 AND MATH 2280

Meets with MATH 6890. A basic introduction to the theory of financial derivative pricing. Topics include no arbitrage principle, risk-neutral measure, Black-Scholes theory, numerical model implementation and parameter calibration.

**ME EN 3300 – Strength of Materials (4.0), F, Sp, Su**

**Prerequisite(s):**C- or better in ME EN 2010 or 1300 or CVEEN 2010 AND MATH 2250 AND Full Major Status in Mechanical Engineering

Shear and bending moment in beams, torsion of circular and noncircular sections, bending and shear stresses in beams, deflection of beams, statically indeterminate members and structures. Failure criteria, stress concentrations, column buckling. Laboratory in mechanical behavior of materials and stress analysis included.

**ME EN 3650 – Heat Transfer (4.0), F, Sp, Su**

**Prerequisite(s):**C- or better in ME EN 3000 or 2510 or CH EN 2300 AND ME EN 2450 or 2500 or CH EN 2450 AND ME EN 3700 AND Full Major Status in Mechanical Engineering

Basic mechanisms of heat transfer, law of conservation of energy, conduction, convection, radiation, heat transfer with change of phase, heat exchangers.

**ME EN 3700 – Fluid Mechanics (4.0), F, Sp, Su**

**Prerequisite(s):**C- or better in ME EN 2030 or 2080 AND ME EN 2300 or 2510 or CH EN 2300 AND ME EN 2450 or 2500 or CH EN 2450 AND MATH 2210 or 1260 or 1321 or 3410 AND Full Major Status in Mechanical Engineering

Hydrostatics, introduction to kinematics and dynamics of Newtonian fluids. Integral and differential formulations of the conservation of mass, momentum, and mechanical energy. Similitude and dimensional analysis. Laminar and turbulent pipe flow. Boundary Layers, drag and flow over external surfaces. Introduction to gas dynamics, speed of sound, normal shocks, converging-diverging nozzles, oblique shocks

**ME EN 5000 – Engineering Law and Contracts (3.0), F, Sp, Su**

**Prerequisite(s):**Full Major Status in Mechanical Engineering

Meets with CVEEN 6850. Designed to provide science and engineering students with a sufficient knowledge of law to enable them to recognize and deal with legal problems which may arise in the fields of science, engineering, or technical management. Topics covered include courts, trial procedures, evidence, contract law, engineering contracts, agency, patents, trademarks, copyrights, trade secrets, product liability, employer/employee law, business law including corporations, partnerships, joint ventures, etc.

**ME EN 5030 – Reliability Engineering (3.0), F, Sp, Su**

**Prerequisite(s):**Full Major Status in Mechanical Engineering

Application of statistical concepts for interpretation of component and system failures, redundancy, maintainability, exponential failure laws, and failure prediction techniques. Meets with ME EN 6030.

**ME EN 5220 – Robotics (3.0), F, Sp**

**Prerequisite(s):**C- or better in ME EN 1010 or CS 1000 or CH EN 1703 AND PHYS 2210 or 3210 AND MATH 2250 AND Full Major Status in Mechanical Engineering

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.

**ME EN 5510 – Introduction to Finite Elements (3.0), F, Sp, Su**

**Prerequisite(s):**C- or better in ME EN 3300 AND MATH 2210 or 1260 or 1321 or 3140 AND Full Major Status in Mechanical Engineering

Practical approach to finite-element analysis of solid mechanics, diffusion, and fluid mechanics problems. Introduction to use of commercial finite element programs. Introduction to theoretical basis; simple elements, element stiffness, boundary conditions, and modeling considerations. Meets with ME EN 6510.

**ME EN 6960 – Special Topics (1-4.0), F, Sp, Su**

**Prerequisite(s):**Graduate Standing OR Instructor Consent

Contemporary problems in Mechanical Engineering.

**MSE 2010 – Introduction to Materials Science and Engineering (4.0), F, Sp**

**Prerequisite(s):**Full Major Status in Materials Science Engineering OR Full Major Status in Biomedical Engineering

This is an introduction course for Materials Science and Engineering undergraduate students and Biomedical Engineering undergraduate students emphasizing in Biomaterials. The course teaches the fundamental of how to predict the properties of materials based on microstructure. The students will be able to: 1) understand how atomic bonding is related to modulus, melting point, and thermal expansion, 2) differentiate between amorphous and crystalline materials on the basis of x-ray diffraction and crystallinity, 3) predict diffusion in solids and understand how this thermally activated, 4) understand how thermodynamics and kinetics combine to control the processing of advanced materials, 5) apply thermodynamics in understanding phase equilibria, 6) gain a basic understanding of what controls the electrical, optical, and thermal behavior of materials, and 7) be able to understand fundamental design considerations for materials selection. Laboratory experiments will illustrate these principles including work hardening, brittle fracture, and phase transformation. Laboratory safety, methods of literature search, data representation, elementary statistical analysis of data, routine property measurements, and report writing are emphasized.

**MSE 3210 – Electronic Properties of Solids (3.0), F, Sp**

**Prerequisite(s):**C or better in MSE 2010 AND Full Major Status in Materials Science Engineering OR Full Major Status in Biomedical Engineering

Theory and applications of electrical conduction, semi conduction, dielectric, magnetic and optical properties of materials. Variation of these properties with composition, temperature, pressure structural and processing. Applications to electrical, electronic magnetic, thermoelectric and optical devices.

**PHYS 3150 – Energy and Sustainability: A Global Perspective(3.0), F, Sp, Su**

**Prerequisite(s):**None

Meets with PHYS 5150. An introduction to the global issues of environment and sustainability for students in science and engineering. This course addresses the relationship between energy use and the environment through the fundamental laws of physics. This quantitative course is meant to provide a scientific foundation for understanding the energetic and environmental issues facing our country and world so that students can make informed contributions to the ever-evolving debate surrounding this important global issue. Recommended Prerequisites: PHYS 2010 OR 2210, AND MATH 1210.

**PHYS 3410 – Foundations of Modern Optics (4.0), F, Sp, Su**

**Prerequisite(s):**None

Meets with PHYS 6750. This lecture and laboratory course teaches basic to advanced principles of optics. The lecture and laboratory are closely synchronized. Topics include electronmagnetic theory and waves in vacuum and matter; geometric optics, optics of the human eye, microscopes and telescopes; polarization, interference, diffraction; quantization of light; modern optical systems and techniques such as lasers and astronomical telescopes and instruments. Students are required to write lab reports for each activity. Recommended Prerequisites: PHYS 2220.

**PHYS 3719 – Physics Undergraduate Laboratory (4.0), F, Sp, Su**

**Prerequisite(s):**None

Transformative experiments in the development of the modern era in physics, including measurement of some fundamental constants of the universe, will be used as vehicles to test models of physical behavior. Students will be introduced to the craft of experimental design with a focus on optimizing data-taking and analysis to understand the sources and significance of errors. Critical thinking skills will be honed through qualitative and quantitative justification of results. Recommended Prerequisites: PHYS 3740 AND MATH 2250.

**PHYS 3760 – Principles of Thermodynamics and Statistical Mechanics (3.0), F, Sp**

**Prerequisite(s):**None

Principles of thermodynamics, including laws of thermodynamics, reversible and irreversible processes, entropy, TdS equations, phase transitions, Clapeyron’s equation, electric and nuclear magnetism, adiabatic demagnetization, and negative temperatures. Introduction to classical statistical mechanics, basic ideas, simple applications, and the relation of microscopic dynamics to thermodynamics. Recommended Prerequisites: PHYS 2220 AND MATH 2250.

**PHYS 4060 – Observational Astronomy for Scientists (3.0), F, Sp**

**Prerequisite(s):**None

Meets with PHYS/ASTR 2060. This course will serve as an introduction to the tools and techniques used in optical and radio astronomy. Using the facilities at the University of Utah Observatory, we will explore the cosmos and study the Sun, planets, asteroids, stars and galaxies. Measurements of basic properties of astronomical objects will be performed. Quantitative analysis of these measurements will enable us to determine such things as the mass of Jupiter as well as the ages of stars. Recommended Prerequisites: Familiarity with computers, MATH 1210.

**PHYS 5110 – Introduction to Nuclear and Particle Physics (3.0), F, Sp, Su**

**Prerequisite(s):**None

An introduction to nuclear physics, including the fundamentals of nuclear structure, stability, and decay, with application to other fields, and with applications to societal issues of nuclear power and radiation safety. An introduction to elementary particle physics, including the particles, symmetries, and processes of the standard model of the strong, electromagnetic, and weak interactions, with applications to cosmology, and with emphasis on key discoveries and outstanding questions. Recommended Prerequisites: PHYS 3740 OR Equivalent.

**PHYS 5510 – Solid-State Physics I (3.0), F, Sp, Su**

**Prerequisite(s):**None

Introductory survey of solid-state physics. Topics covered bonding and mechanical properties of solids; crystal structure, diffraction techniques, reciprocal space; thermal properties, Bose-Einstein statistics of phonons; electrical properties in free electron approximation; electron in periodic potentials, Bloch theorem, electronic band structure, insulators, conductors and semi-conductors; electron – electron interactions, Thomas-Fermi screening, many-particle wave functions, Hartree-Fock approximation; magnetic properties of solids. Recommended Prerequisites: CHEM 3060 AND PHYS 3740.

**PHYS 5520 – Solid-State Physics II (3.0), F, Sp, Su**

**Prerequisite(s):**None

Continuation of PHYS 5510. The course covers physic of semiconductors. Topics covered: band structure of semiconductors, donors and acceptors, transport and optical properties of semiconductors, organic semiconductors, physics of semiconductor devices. Recommended Prerequisites: PHYS 5510.

**PHYS 5590 – Stellar Astrophysics and Compact Objects (3.0), Sp**

**Prerequisite(s):**None

A core course intended for graduate students of Physics & Astronomy. This course develops a physical methodology to understand the origin and evolution of stars. Discusses formation of stars, stellar evolution, star clusters, novae and supernovae, white dwarfs, neutron stars, and black holes. Topics include Cepheid variables, Wolf-Rayet Stars, binary stellar systems and accretion disks. Recommended Prerequisites: (PHYS 5010 AND PHYS 5020) OR Equivalent.

**PHYS 6770 – Optical Measurement Techniques and Instrumentation (3.0), F, Sp, Su**

**Prerequisite(s):**B- or better in PHYS 2210 AND PHYS 2220 AND PHYS 3410

Physical principles and practical use of optical measurement techniques and instrumentation. Photodetectors, lasers, optical ranging, interferometry, acousto-optic modulation, ellipsometry, optical pyrometry, optical spectroscopy, fibers and optical microscopy. Topics include fundamental sensing limits, noise sources, system characterization, error analysis, signal averaging/filtering, impedance loading, and frequency/time analysis. Laboratory provides hands on experience with these optical techniques and measurement systems.

**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 offerings 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 (3.0) – **Introduction to Electric Power Engineering – Fall, Junior year**ECE 3510 (4.0) –** Introduction to Feedback Systems – Spring, Junior year**ECE 5620 (3.0) –** Power Systems Analysis – Spring, Junior year

**ECE 5670**Control of Electric Motors – Spring, Junior year

**(3.0)**–**ECE 5610**Power Electronics Fundamentals – Fall, Junior year

**(4.0)**–**ECE 5671 (3.0) –** Electric Generators – Fall, Senior year

**ECE 5630 (3.0) –**Power Systems Economics – Fall (even years), Senior year

**ECE 5640**

**(3.0)**– Power System Security Analysis – Spring, Senior year

**ECE 5960 –**Electrical Forensic Engineering and Failure Analysis – Fall (odd years), 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!

ECE 3700 is a universal prerequisite for all computer and digital design classes. It is recommended that you complete this class no later than Spring semester of the 2nd year.

##### recommended classes

**ECE **3810** – Computer Organization (4.0), F, Sp**

Prerequisite(s): C- or better in CS 1410 AND Major Status**ECE 3710 – Computer Design Laboratory (3.0), F**

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

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

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

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

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

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

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

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

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

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

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

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