Courses in Electrical & Computer Engineering

IECE/IESE 110 Introduction to Engineering (2)

An introduction to engineering, including problem solving and other skill sets essential for engineers. Using a combination of in-class activities, assignments and classroom lectures and presentations, students will learn how to formulate, articulate, and solve engineering problems, and how to present engineering work in written and oral form. Students will learn about the different disciplines within engineering and the multidisciplinary nature of modern engineering. Students will gain a better understanding of how fundamental scientific principles relate to engineering. Three contact hours. Only one of IECE/IESE 110 may be taken for credit. Corequisite or prerequisite: AMAT 100 or AMAT 112 or AMAT 118.

IECE 111 Introduction to Electrical and Computer Engineering (4)

An introduction to fundamental concepts, skills, and technologies in Electrical and Computer Engineering. Students are introduced to modern engineering tools and logical and systematic ways to analyze and solve problems in electrical and computer engineering. Corequisite(s) or prerequisite(s): AMAT 112 or AMAT 118 and IECE/ICSI 201 or IECE 141. Course fee applies. Consult the Schedule of Classes.

IECE 141 Programming for Engineers (4)

This is an introductory programming course covering the fundamentals of structured programming using the C programming language and the fundamentals of object-oriented programming using the Java programming language. The class primarily focuses on use of the C programming to cover topics such as data types, arrays, multi-dimensional arrays, functions, strings, structures, pointers, static/stack/heap memory, file processing, and handling multiple source and header files. Java programming is introduced in the latter part of the semester and covers object-oriented programming fundamentals including objects, classes, and inheritance. Must be completed with a grade of C or better to register for IECE 213. Prerequisite(s): grade of C or better in IECE 111/150 and AMAT 112 or 118.

IECE/ICSI 201 Introduction to Computer Science (4)

This course first introduces with the elementary concepts of computer science such as CPU, memory, I/O devices and binary number system. It then focuses on developing basic programming skills. The topics include input and output data, data types, control structures, functions/methods, arrays, procedural and object-oriented programming concepts, and program debugging and compilation. Only one of ICSI/IECE 201 may be taken for credit. Prerequisites: no prerequisite; general mathematical knowledge and computer skills are recommended.

IECE 202 Introduction to Circuits (4)

Review of basic circuits, voltage and current division, and Thevenin and Norton equivalent circuits. Analysis of circuits using the matrix formulation of Kirchhoff's Current and Voltage Laws. Operational Amplifiers. Study of circuits with capacitors and inductors using linear differential equations. Sinusoidal steady state response of basic circuits, phasor circuit analysis, and frequency dependence. Passive filter design and analysis. Laplace Transform and s-domain circuit analysis. This course includes a laboratory. Must be completed with a C or better to register for IECE 300, IECE 310, IECE 371. Prerequisite(s): APHY 150 or 152 or TPHY 151. Prerequisite(s) or corequisite(s): AMAT 311 and either AMAT 220 or 222. Course fee applies. Consult the Schedule of Classes.

IECE/ICSI 210 Discrete Structures (4)

Mathematical reasoning, propositions, predicates and quantifiers; Boolean algebra, logic minimization; sets, functions, sequences, matrix algebra; mathematical induction and recursion; number theory, modular arithmetic, counting, permutations and combinations. Only one of ICSI/IECE 210 may be taken for credit. Prerequisite(s): AMAT 112.

IECE/ICSI 213 Data Structures (4)

(Formerly ICSI 310.) This course covers commonly used abstract data structures such as lists, stacks, queues, trees and graphs. The implementation and time-space analysis of these data structures is discussed in the context of recursion, sorting and searching algorithms.  May not be taken by students with credit for ICSI 310. Only one of ICSI/IECE 213 may be taken for credit. Must be completed with a grade of C or better to take ICSI 333 or IECE 332. Prerequisite(s): grade of C or better in IECE/ICSI 201, or IECE 141.

IECE 231 Digital Systems (4)

An introduction to digital logic hardware used in modern computing systems. Boolean algebra, number systems, digital arithmetic, basic logic gates, combinational logic circuits, complex logic building blocks, including multiplexers, decoders and flip-flops, registers and memory arrays. Methods and techniques for the analysis, design and synthesis of combinational logic, sequential logic and memory circuits. An introduction to, and "hands-on" experience with, state-of-the-art electronic design automation (EDA) software tools, and hardware description languages (HDL) such as VHDL for practical applications of digital logic designs and implementations using field programmable logic arrays (FPGAs). This course includes a laboratory. Prerequisite(s): IECE/ICSI 210, and a grade of C or better in IECE 141 or IECE/ICSI 201. Course fee applies. Consult the Schedule of Classes.

IECE 240 C Programming and Data Structures (4)

Designed for electrical and computer engineering students, this course builds a strong foundation in programming with the C language while introducing the essential data structures and low-level memory operations. Students will learn to work with arrays, strings, structures, pointers, and dynamic memory allocations while exploring algorithmic techniques such as searching, sorting, and complexity analysis. The course emphasizes the implementation of data structures including stack, queues, and linked lists, through engineering-relevant applications and hands-on problem solving. Special focus is placed on how data is stored, accessed, and manipulated in memory, preparing students for a wide range of applications in computer and electrical engineering where performance, efficiency, and hardware awareness are essential. This course includes a laboratory. Prerequisite(s): C or better in IECE 201.

IECE 300 Introduction to Electronics (4)

Basic electronic and physical properties of semiconductors materials. Functional characteristics and electronic models of silicon semiconductor diodes and transistors (field effect transistors and bipolar junction transistors). DC biasing, static current-voltage (I-V) characteristics, and transient behavior of transistors, and transistor circuits. Analog transistor applications such as single stage and multi-stage amplifiers. Operational amplifiers. Frequency response and feedback characteristics of transistor circuits. Digital circuit applications with single and multi-stage transistor circuits. The use of computer aided circuit design and simulation tools and techniques. Hands-on lab experimentation constructing circuits to test and measure functional and performance characteristics. Must have completed IECE 202 with a C or better to register for IECE 300. Prerequisite(s): IECE 202. Course fee applies. Consult the Schedule of Classes.

IECE 310 Engineering Electromagnetics (4)

Review of Maxwell's equations and time harmonic electric and magnetic fields. Plane waves in lossless and lossy media, group velocity, Poynting vector, and flow of electromagnetic power. Normal and oblique incidence of plane waves at plane boundaries. Transmission lines, the Smith chart, and impedance matching. Waveguides. Introduction to antennas and antenna arrays. The course includes a laboratory. Must have completed IECE 202 with a C or better to register for IECE 310. Prerequisite(s): IECE 202.

IECE 332 Computer Organization and Programming (4)

This course builds a foundational understanding of how software programs ultimately execute on a processor. Students expand their C programming skills by exploring topics such as recursion, bitwise operations, file handling, and dynamic data structures. The course then transitions to MIPS assembly, showing how control flow, memory access, and arithmetic operations are implemented using a processor's instruction set architecture. Processor design is explored through single-cycle and pipelined CPU models, including hazard detection, performance analysis, and memory hierarchy. A central goal of the course is to bridge software logic with hardware architecture, giving students a strong understanding of how high-level code is translated and executed by underlying hardware systems. This course includes a laboratory.

IECE 334 Programming Hardware Systems (4)

This course covers the design and programming of software for embedded systems and the fundamentals of embedded hardware design. Students will learn how to design finite state machine models that meet system requirements and convert these models into embedded C code. In addition, students will focus on optimizing embedded software in consideration of latency constraints, processor utilization minimization, and power consumption. Topics covered include maskable interrupts, timers, pulse-width modulation, analog-to-digital conversion, serial communication, as well as synchronous and concurrent state machines. The course is hands-on, involving the design, implementation, debugging, and testing of embedded software through regular lab sessions and a comprehensive final project. Prerequisite(s): IECE 233 or IECE 332.

IECE 360 Emerging Technologies (3)

This course will explore current emerging technologies and related technical management practices on a global basis. The content of this course will vary from semester to semester. Each offering will cover an advanced engineering topic in Computer Engineering. May be repeated for credit when content varies. Prerequisite(s): permission of instructor.

IECE 371 Signals and Systems (4)

This course introduces students to Signals and Systems. The course is divided into three parts: introduction, theory, and applications of continuous time signals and systems, and theory and applications of discrete­-time signals and systems. The course is organized so that students not only get a solid understanding of the theory, enhanced by analytic examples and software examples using MATLAB, but also learn about applications and develop confidence and proficiency in the material by working on analytic and computational problems. The course includes a laboratory/problem session. Must have completed IECE 202 with a C or better to register for IECE 371. Prerequisite(s): IECE 202.

IECE 401 Advanced Electronics (3)

Linear and non-linear applications of operational amplifiers, with an emphasis on circuit design. Non-ideal operational amplifier behavior, including both static and dynamic characteristics. Amplifier stability and frequency compensation techniques. Operational amplifier based oscillators. Circuit noise. Prerequisite(s): IECE 300.

IECE 402 Power Electronics (3)

An introduction to fundamentals of power electronic circuits and their role in industrial, residential and power system applications. This course covers the characteristics of power semiconductor devices including diodes, thyristors, GTOs, IGBTs and MOSFETs. Analysis and design of basic dc-dc converters, single phase and multi-phase rectifiers and inverter circuits will be introduced as well as an introduction to the fundamentals of soft switching converters. Industrial applications, such as renewable energy, telecom and computing industry will be discussed. Computer simulation will be used to analyze the detailed operation of switching converters. This course includes a laboratory. Prerequisite(s): IECE 300 and IECE 413, or permission of instructor. Course fee applies. Consult the Schedule of Classes.

IECE/ICSI 404 Computer Architecture and Organization (3)

A quantitative approach to computer architecture and organization that addresses both the software and hardware aspects of performance in modern computing systems. Topics include functional descriptions, operation, and logic design of major system components, such as the central processing unit and memory, and control and communication. Emphasis will be placed on examining the relationship of a system's architecture and organization to application performance. Only one of ICSI/IECE 404 or IECE 432 may be taken for credit. Prerequisite(s): grade of C or better in ICSI 333 or IECE 233 or IECE 332.

IECE 410 Internet of Things (3)

In this course students will study new communication paradigms that are enabled by the ubiquity of heterogeneous devices, networks and applications. The course will consist of three components: lectures on emerging networks and their artifacts along with studying research publications to understand their practical challenges; bridging of the cyber and the physical world using sensors, embedded in mobile devices and building applications using the Android sensor programming framework; and analytics for large-scale data and business models for Big Data. Students are expected to have introductory knowledge about networking and communication systems along with foundations in programming and statistics. Prerequisite(s): ICSI/IECE 416.

IECE 411 Microwave Engineering (3)

An introduction to radio frequency and microwave analysis and design. Transmission lines and waveguides, network characterization and analysis, impedance matching and tuning. Passive microwave devices such as power dividers, couplers, resonators, filters, and ferrimagnetic components. An introduction to active devices. Prerequisite(s): IECE 300 and IECE 310.

IECE 412 Antenna Engineering (3)

An introduction to the fundamental principles of antenna theory. Basic antenna parameters, including radiation resistance, input impedance, gain and directivity. Antenna radiation properties and Friis transmission formula. Elementary (dipole, linear wire and loop) antennas and their radiation properties. Impedance matching techniques and mutual coupling. Analysis and design of antenna arrays. Introduction to commonly used aperture and microstrip antennas. Prerequisite(s): IECE 300 and IECE 310.

IECE 413 Electrical Energy Systems (3)

The course starts with covering three phase circuits and power calculations in three-phase systems. Active and reactive power transfer in an electrical grid will be analyzed. Concepts of electromagnetic energy conversion and transformers will be introduced. Different types of energy sources and their interconnection to the grid will be covered such as hydro energy, wind power, solar photovoltaics and energy storage. The course is concluded with an introduction to economics of power generation and an overview of elements of smart grids. Prerequisite(s): IECE 202 or permission of instructor.

IECE 414 Electric Machines (3)

This course covers the basics of operation and design of electric machines. Fundamentals of magnetic circuits, B-H curves, Faraday's law, hysteresis, hysteresis and eddy current losses, self and mutual inductances are introduced. The analysis and operation of different types of industrial electric machines is presented, including single phase and three-phase transformers, dc motors and generators, induction machines and synchronous machines. Three-phase circuits and phase sequences in three-phase systems will also be covered. Prerequisite(s): IECE 310 and IECE 413 or permission of instructor.

IECE/ICSI 416 Computer Communication Networks (3)

This course covers fundamentals in computer communication networks and the principles of distributed systems that leverage these networks. The course will focus on key Internet application architectures, principles and protocols, covering reliable data transfer and transport protocols; routing and forwarding; data link layer communications and principles of shared media access. Students will also be introduced to various physical layer techniques like error correction and bandwidth efficiency; content delivery networks; and software-defined networks. The students will apply their understanding of networking fundamentals while working on hands-on programming assignments, packet trace analysis and Internet measurements. Prerequisite(s): ICSI 333 or IECE 233 or IECE 332, and AMAT 367 or AMAT 370.

IECE 417 Optical Communications (3)

The future provision of Internet-based high-bandwidth applications has led to an explosion in demand for high-speed optical communication systems. This course aims to provide knowledge of the strategies and techniques involved in the design and implementation of optical communication technologies and how these optical links form networks. This course is designed to present the operation of modern optical devices driving the growth in optical communication systems and the broader picture of optical fiber and free space networks for future communication applications. The course covers: building blocks of optical communication systems such as transmitters, receivers, transmission fibers, and amplifiers; fundamental considerations in system design including signal to noise ratio, fiber nonlinearity, chromatic dispersion, polarization mode dispersion, modulation formats, etc.; and the latest developments in high data rate, high spectral efficiency optical communication systems. Many practical and useful examples are also included. Prerequisite(s): IECE 202, AMAT 220 and 311.

IECE 418 Power Systems Analysis (3)

This course covers principles of electric power systems, three-phase transformers, transmission line parameters, admittance model, impedance model, network work calculations, power-flow solution, symmetrical faults, symmetrical components and sequence network, asymmetrical faults, elements of power system protection and power system stability. Prerequisite(s): IECE 413 or permission of instructor.

IECE 419 Fundamentals of Electric and Hybrid Electric Transportation Systems (3)

This course presents a comprehensive systems-level perspective of electric, hybrid electric and plug-in hybrid electric vehicles with emphasis on component/subsystem analysis, basic design guidelines and mathematical relationships. Specific topics include electric and hybrid electric drive trains, energy storage, electromechanical energy conversion (induction and permanent magnet motors and generators), power-electronic drives and battery interface converters, vehicle-level modeling and control, and impact of electric vehicle integration on the power grid. Coursework will include design and simulation projects of the various subsystems. Prerequisite(s): IECE 413 or equivalent or permission of instructor.

IECE 420 Introduction to VLSI (3)

An introduction to Very Large Scale Integrated (VLSI) circuit design. The device, circuit, and system aspects of VLSI design will be covered in an integrated fashion. Emphasis is placed on NMOS, PMOS and CMOS technology. Using transistors, simple gates such as XOR, AND, OR, AOI, OAI, and flip flops, are constructed and simulated using Cadence Design Systems tools. Verilog-A is used to provide input vectors and test the correctness of the output. Prerequisite(s): IECE 300.

IECE 421 Digital ASIC Design (3)

The design of complex digital Application Specific Integrated Circuits (ASICs). Standard cell libraries and the Verilog language are used to build complex digital synchronous circuits using Cadence layout synthesis tools. Interconnect delay estimation, clock tree synthesis, repeater and pipeline stage design are introduced. A synchronous digital circuit utilizing 100s of flip flops and digital gates is designed as a final project and sent to MOSIS for fabrication. Prerequisite(s): IECE 420.

IECE 422 Integrated Circuit Devices (3)

Modern solid-state devices and their operational principles. Solid state physics fundamentals, such as carriers and their mobility, band structures, doping concentrations and PN junctions. The operation of PN diodes, PIN diodes, and Schottky diodes, as well as three terminal devices, such as BJTs, JFETs, SCRs, MESFETs and MOSFETs. Device modelling and behavior. Prerequisite(s): IECE 300.

IECE 425/INEN 405 Micro and Nano Materials Processing Technologies (4)

Provides a basic knowledge of manufacturing processes utilized in the fabrication of semiconductor devices in the 300 and 450 mm fab environment. Processing that includes oxide deposition, photolithography, ion implantation, doping, passivation, etching, electroplating, planarization etc. that are used in state-of-the-art fabrication of transistors, integrated circuits and similar device structures will be reviewed. Prerequisite(s): Restricted to Seniors.

IECE 426 Analog CMOS Integrated Circuits (3)

An introductory course on analog CMOS integrated circuit design. Topics covered include basic MOS device physics, single-stage amplifiers, differential amplifiers, current mirrors and biasing techniques, noise, and feedback circuits. Prerequisites: IECE 420.

IECE 431 Reconfigurable Computing (3)

This course provides a study of FPGA architecture with detailed discussion on opportunities and challenges in this flexible platform. Topics include device architecture, programming languages and models for FPGAs including streaming and I/O, Mapping, Placement and Routing in reconfigurable logic, application design, development, verification and application specific optimization techniques. Prerequisite(s): ICSI/IECE 404 or IECE 233 or IECE 332.

IECE 441 GPU Architecture and Programming (3)

This course introduces the students the concept of massively-parallel programming. It is divided into two parts: in the first part, the students are expected to develop multi-threaded programs in the C programming language using pthreads. In the second part, the concepts that are learned in the first part are extended to the GPU architecture. Nvidia CUDA programming language is used as the main tool to develop GPU programs. Prerequisite(s): IECE 141 or IECE/ICSI 201, and IECE 233 or IECE 332 or ICSI 333.

IECE 442 Systems Analysis and Design (3)

The application of systems analysis and systems design methodologies is especially important to the success of engineering projects in a real-world environment. While the nature and the scope of hardware and software design varies widely depending on the context, a successful development begins with analyzing client needs and desires and developing engineering requirements and constraints. This course aims to provide engineering students with a solid understanding of the important methodologies, tools and techniques related to the analysis of engineering problems and the design and development of systems in a variety of contexts. Prerequisite(s) or corequisite(s): IECE 300, IECE 332, and IECE 371.

IECE 451 Robotics (3)

An introduction to the fundamentals of robotics, including configuration space, transformation matrix, kinematics, motion planning, and a brief introduction to robot manipulation. In addition to simulation environments, the course uses robot arms and small drones as hardware platforms for students to practice programming and test algorithms. Current final projects include navigating drones through a small field of obstacles and the use of a robot arm to pick up objects. Prerequisite(s): AMAT 220, IECE/ICSI 210 and 213.

IECE 453 Cyber-Physical Systems (3)

This course is an introduction to the basics of models, analysis tools, and control for embedded systems operating in real time. Topics include models of computation, basic analysis, control, and systems simulation, interfacing with the physical world, mapping to embedded platforms and distributed embedded systems. This course has a lab component. Prerequisite(s): IECE 371 and ICSI 333 or IECE 233. Course fee applies. Consult the Schedule of Classes.

IECE 460 Mobile Design Engineering (3)

Building on students' basic knowledge of wired computer networks, this course will explore mobile wireless networks. Students will learn about current protocols and technologies in mobile networks. Through hands-on exercises students will gain experience in wireless networks operation and configuration. Successful completion of the course will require detailed prior understanding of network-based communications, Internet protocol operations, strong systems programming skills and familiarity with UNIX. Prerequisite(s): ICSI/IECE 400 and ICSI/IECE 416.

IECE 462 Digital Signal Processing (3)

This course covers the techniques of modern digital signal processing that are fundamental to a wide variety of application areas. The course covers the mathematical basis of discrete-time signal analysis, discusses the theory and implementation of fast Fourier transform algorithms, and discusses the design and implementation of digital filters. The coverage of the fundamentals is complemented with introductory treatments of several advanced techniques including linear prediction, adaptive filtering, and two-dimensional signal processing. The course concludes with a discussion of the application of digital signal processing techniques toward the solution of various types of practical problems. This course makes extensive use of MATLAB as an analysis, design, and visualization tool. Prerequisite(s): IECE 371.

IECE 463 Digital Image Processing (3)

An introduction to digital image and video processing. The course starts with an introduction of digital image processing. It continues with fundamentals of video processing and covers closely related topics in computer vision. The course focuses on both the theory and the practical application of digital image and video processing. Students will learn hands-on programming implementation using Python, Matlab, or C++. Prerequisite(s): IECE 141 or IECE/ICSI 201 and IECE 462.

IECE 465 Introduction to Machine Learning for Engineers (3)

This course offers a comprehensive introduction to machine learning (ML). Students will gain both theoretical knowledge and practical skills required to utilize ML techniques for building Internet-of-Things (IoT) applications. The theory covers the mathematical methods that are utilized to train and test ML models. The course curriculum is designed to focus on applying ML models to realize various signal processing, communication, and control operations. The course assignments and projects involve coding-based tasks that enable the students to design and implement their own ML models and optimize them for targeted IoT applications. The high-level overview of the topics covered in this course includes the extraction of feature vectors for signal processing, deep learning (DL) for communication, and reinforcement learning (RL) control. Prerequisite(s): AMAT 214, AMAT 220, IECE 371 and either IECE 233 or IECE 332.

IECE 466 Deep Learning (3)

This course is an introduction to deep learning, which provides a fundamental understanding of neural networks (NNs). The course will cover different NNs, activation functions, optimization algorithms, hyperparameter tuning, and regularization techniques, with the objective to develop intuition and capability for creating application specific neural network architectures. Prerequisite(s): A C or better in IECE 332, AMAT 220, AMAT 370 or IEGR 370.

IECE 470 Human Computer Interaction (3)

An introduction to the design principles of Human-Computer Interaction (HCI), including techniques for rapid prototyping and evaluation of multiple interface alternatives. The study of the computer visual interface, including human face tracking, expression recognition, hand gesture tracking and recognition, pedestrian detection and tracking, pose tracking and action recognition. A survey of the latest research papers and technologies in the field. The course includes a project, where students will pick and implement a relevant visual tracking or recognition project in HCI. Prerequisite(s): ICSI 333 or IECE 233 or IECE 332.

IECE 471 Communication Systems (3)

An introduction to analog and digital communication signals and systems. Representation of analog and digital signals and their spectra. Baseband pulse and digital signaling, including PAM, PCM, DM and DPCM. Bandlimited signaling without inter-symbol interference. Analog and digital bandpass signaling, including AM, FM, PM, OOK, PSK, FSK, MSK, QAM and OFDM. Transmitter and receiver operations and systems. Performance in the presence of noise. Prerequisite(s): IECE 371 and AMAT 370.

IECE 472 Advanced Digital Communications (3)

An introduction to digital communications, including signal generation, signal detection, synchronization, channel modeling, and coding. Baseband pulse modulation. Signal space representation of signals and optimal receiver structures. Bandpass modulation techniques including PSK, QAM and FSK. Carrier, symbol, and frame synchronization. Channel characterization and modeling, including terrestrial channels. Error control coding. Prerequisite(s): IECE 471.

IECE 473 Radiowave Propagation and Remote Sensing (3)

In this course the basic physical mechanisms of electromagnetic wave propagation in the troposphere and ionosphere, and the fundamentals of microwave remote sensing will be studied. Theoretical and empirical models which describe several propagation mechanisms will be discussed to understand the design and analysis of communications and remote sensing (radar and radiometer) systems. Prerequisite(s): IECE 310 and IECE 371.

IECE 474 Modern Wireless Systems (3)

This course provides a comprehensive study of physical layer design of recent wireless data and telecommunication networks. Topics include fundamentals of wireless coding and modulation, signal propagation, cellular networks: 1G/2G/3G, LTE, LTE-Advanced, and 5G, IEEE 802.11a/b/g/n/ac wireless local area networks, 60 GHz millimeter wave gigabit wireless networks, vehicular wireless networks, and wireless protocols for Internet of Things including Bluetooth, BLE, 802.15.4, Zigbee, LoRA and SigFox. Prerequisite(s): IECE 472.

IECE 475 Probability and Random Processes (3)

A foundation in the theory and applications of probability and stochastic processes with an emphasis on applications within the broad areas of electrical and computer engineering such as signal processing, detection, estimation, and communications. Fundamental probabilistic results such as the axioms of probability, random variables, distribution functions, functions and sequences of random variables, stochastic processes, and representations of random processes and their application in electrical and computer engineering. Prerequisite(s): AMAT 370 or IEGR 370.

IECE 481 Linear Control Theory (3)

An introduction to the analysis and design of linear control systems. Mathematical models, including state variable models. Feedback control, and stability. Root locus and frequency response compensation methods. Prerequisite(s): IECE 371.

IECE 482 Modern Control Theory and Design (3)

Introduction to the basic tools for modeling and analysis of linear systems theory. Topics covered include (1) a review of linear algebra, followed by state-space modeling techniques for the study of multivariable linear systems (2) system structural properties including stability, controllability, observability, canonical forms, and minimal realizations (3) feedback system design, state feedback and estimation, and observers for estimating states (4) optimum feedback control, dynamic programming and numerical methods. The course content will be motivated by examples from different application domains and presented in such a way to make it of interest to students with background in subjects including control and dynamical systems, communications, signal and image processing, artificial intelligence and machine learning, and computer science. Prerequisite(s): IECE 482 and recommended AMAT 220 or equivalent.

IECE 490 ECE Design Lab I (3)

Part one of a two-semester-long capstone design experience that provides the opportunity for teams of students to propose, prototype/design, build, test, demonstrate, present and fully document a working prototype of a sophisticated electronic system. In this first part, student teams interact with industry sponsors and/or faculty to develop a proposal for a system, component or process to meet desired needs and specifications within constraints. Student teams will identify opportunities, develop requirements, perform analysis and synthesis, generate multiple solutions, evaluate solutions against requirements, consider risks, and make trade-offs. IECE 300, IECE 371, IECE 442, and either IECE 310 or IECE 334.

IECE 491 ECE Design Lab II (3)

Part two of a two-semester-long capstone design experience that provides the opportunity for teams of students to propose, prototype/design, build, test, demonstrate, present and fully document a working prototype of a sophisticated electronic system. In this second part, student teams continue to interact with industry sponsors and/or faculty as they implement their design and conduct validation experiments to demonstrate that their design meets all engineering specifications, standards, and constraints. In documenting their work, student teams will also evaluate their designs in global, cultural, social, environmental, and economic context and develop recommendations for future development. Prerequisite(s): IECE 490.

IECE 492 Honors ECE Design Lab I (3)

Part one of a two-semester-long capstone design experience that provides the opportunity for teams of students to propose, prototype/design, build, test, demonstrate, present and fully document a working prototype of a sophisticated electronic system. In this first part, student teams interact with industry sponsors and/or faculty to develop a proposal for a system, component or process to meet desired needs and specifications within constraints. Student teams will identify opportunities, develop requirements, perform analysis and synthesis, generate multiple solutions, evaluate solutions against requirements, consider risks, and make trade-offs. Course meets with IECE 490 and, in addition to the team project activities for IECE 490, honors students will develop a separate, individual honors thesis proposal that expands on the team project. Prerequisite(s): IECE 300, IECE 371, IECE 442, and either IECE 334 or IECE 310. For ECE Honors majors only.

IECE 493 Honors ECE Design Lab II (3)

Part two of a two-semester-long capstone design experience that provides the opportunity for teams of students to propose, prototype/design, build, test, demonstrate, present and fully document a working prototype of a sophisticated electronic system. In this second part, student teams continue to interact with industry sponsors and/or faculty as they implement their design and conduct validation experiments to demonstrate that their design meets all engineering specifications, standards, and constraints. In documenting their work, student teams will also evaluate their designs in global, cultural, social, environmental, and economic context and develop recommendations for future development. Course meets with IECE 491 and, in addition to the team project activities for IECE 491, students will continue their work on the thesis proposal developed in IECE 492 and produce a separate, individual honors thesis paper and presentation that expands on the team project. Prerequisites: IECE 492. For ECE Honors majors only.

IECE 494 Topics in Electrical and Computer Engineering (3)

This course will explore current emerging technologies and related technical management practices on a global basis. The content of this course will vary from semester to semester. Each offering will cover an advanced engineering topic in Electrical and Computer Engineering. May be repeated for credit when content varies. Prerequisite(s): permission of instructor.

IECE 497 Independent Research in Electrical and Computer Engineering (1-3)

Independent research project under faculty guidance. Students will present their research as appropriate. May be repeated for credit up to a total of 6 credits with permission of department. Prerequisite(s): permission of instructor.