**Courses**

**Electrical and Computer Engineering**

- ECE 20100 Linear Circuit Analysis I (3 cr.) P: or C: MATH 26100 and PHYS 25100. C: ECE 20700. Class 3. Volt-ampere characteristics for circuit elements; independent and dependent sources; Kirchhoff's laws and circuit equations. Source transformations; Thevenin's and Norton's theorems; superposition. Transient response of resistor capacitor (RC), resistor inductor (RL), and resistor inductor capacitor (RLC) circuits; sinusoidal steady-state and impedance. Instantaneous and average power.
- ECE 20200 Linear Circuit Analysis II (3 cr.) P: ECE 20100, MATH 26100, and PHYS 25100. P: or C: MATH 26600. Class 3. Continuation of ECE 20100. Use of computer-aided design programs. Complex frequency plane, resonance, scaling, and coupled circuits. Two-port network parameters. Laplace transform methods. Use of general loop and nodal equations, matrix formulations.
- ECE 20400 Introduction to Electrical and Electronic Circuits (4 cr.) P: or C: PHYS 25100 and MATH 26100 Class 3. Lab 3. Students will learn basics of electrical and electronic circuits including introduction to analog and digital electronic circuits. Measurement of electrical signals using meters, probes, and oscilloscopes are covered in the laboratory component of the course. Circuits are designed for minimum hardware with emphasis on understanding analog and digital electronics with practical use of digital and analog microchips. Non-ECE majors who complete this course can continue the digital course sequence offered by the ECE department including microprocessor systems and interfacing, and digital signal processing. No credit will be given for ECE majors.
- ECE 20700 Electronic Measurement Techniques (1 cr.) C: ECE 20100. Lab 3. Experimental exercises in the use of laboratory instruments. Voltage, current, impedance, frequency, and waveform measurements. Frequency and transient response. Use of operational amplifiers in instrumentation systems.
- ECE 20800 Electronic Devices and Design Laboratory (1 cr.) P: ECE 20700. C: ECE 25500. Lab 3. Laboratory experiments in the measurement of electronic device characteristics. Design of biasing networks, small signal amplifiers and switching circuits.
- ECE 21000 Sophomore Seminar (1 cr.) P: Completion of all freshman engineering requirements. Class 1. A lecture series on ECE Department curriculum-related topics, electrical and computer engineering systems, skills, and career topics.
- ECE 25500 Introduction to Electronics Analysis and Design (3 cr.) P: ECE 20100. C: ECE 20800. Class 3. Diode, bipolar transistor, and field effect transistor (FET) circuit models for the design and analysis of electronic circuits. Single-stage and multistage analysis and design. Computer-aided design calculations, amplifier operating point design, and frequency response of single and multistage amplifiers. High-frequency and low-frequency designs are emphasized.
- ECE 26100 Engineering Programming Lab (1 cr.) P: Completion of a pre-calculus course or equivalent; completion of 12 credit hours. C: ECE 26300. Lab 3. Introduction to problem solving using software tools, in particular the C programming language.
- ECE 26300 Introduction to Computing in Electrical Engineering (3 cr.) P: Completion of a pre-calculus course or equivalent; completion of 12 credit hours. C: ECE 26100. Class 3. An introductory course in computing programming with an emphasis on program decomposition and program structure. The objective of the course is to introduce the student to problem solving using high-level languages. The students are also introduced to number concepts fundamental in electrical engineering. Programming will be in "C" in order to develop a structured approach to problem solving. Problems drawn from the field of electrical engineering will require no prior engineering knowledge.
- ECE 26400 Advanced C Programming (3 cr.) P: ENGR 19700 within previous 2 semesters. Class 3. Continuation of a first programming course. Topics include files, structures, pointers, and the proper use of dynamic data structures. Basic knowledge of the UNIX operating system and an introductory C programming course. C programming knowledge should include basic syntax, control structures, and file I/O, as well as experience in declaring and using functions.
- ECE 27000 Digital Logic Design (4 cr.) P: or C: ECE 20100 and knowledge of electrical circuits. Class 3, Lab 3. Introduction to logic design, with emphasis on practical design techniques and circuit implementation. Topics include Boolean algebra; theory of logic functions; mapping techniques and function minimization; hardware description language; logic equivalent circuits and symbol transformations; electrical characteristics; propagation delays; signed number notations and arithmetic; binary and decimal arithmetic logic circuits; theory of sequential circuits; timing diagrams; analysis and synthesis of SR-, D-, T-, and JK-based sequential circuits; clock generation circuits; algorithmic state machine method of designing sequential circuits. A series of logic circuit experiments using CMOS integrated circuits for combination of logic and sequential circuits.
- ECE 28200 UNIX Programming for Engineers (1 cr.) P: ECE 26100 and ECE 26300. Lab 2. Introduction to the UNIX operating system, including the UNIX file system, as well as UNIX tools and utilities. Introduction to Shell Programming. The emphasis will be on how these tools/utilities are utilized in the Computing Engineering field.
- ECE 29500 Selected Topics in Electrical and Computer Engineering I (0-4 cr.) Variable topic and experimental courses appropriate at the sophomore level, as approved by the ECE Curriculum Committee at IUPUI.
- ECE 30100 Signals and Systems (3 cr.) P: ECE 20200 and MATH 26600. Class 3. Signal and system representation. Fourier series and transforms, sampling and discrete Fourier transforms. Discrete-time systems, difference equation, Z-transforms. State equations, stability, characteristic values and vectors. Continuous-time systems, time and frequency domain analysis. Continuous systems with sampled inputs.
- ECE 30200 Probabilistic Methods in Electrical and Computer Engineering (3 cr.) P: or C: ECE 30100. Class 3. An introductory treatment of probability theory, including distribution and density functions, moments, and random variables. Applications of normal and exponential distributions. Estimation of means and variances. Introduction to random processes, correlation functions, spectral density functions, and response of linear systems to random inputs.
- ECE 30500 Semiconductor Devices (3 cr.) P: ECE 25500, MATH 26600, and PHYS 25100. Class 3. Materials- and phenomena-based examination of devices, emphasizing the how and why of solid-state device operation.
- ECE 31100 Electric and Magnetic Fields (3 cr.) P: MATH 26600 and PHYS 25100. Class 3. Continued study of vector calculus, electrostatics, and magnetostatics. Maxwell's equations, introduction to electromagnetic waves, transmission lines, and radiation from antennas. Students may not receive credit for both 311 and PHYS 330.
- ECE 31500 Fundamentals of Electrical Energy Engineering (3 cr.) P: ECE 20400. Class 3. Resistive circuit analysis with controlled sources. Sinusoidal frequency response, filters and Bode plots. Complex power in AC circuits, ideal transformers and three-phase power. Power electronic circuits including diodes, transistor switches, rectifiers and AC-DC converters. Magnetic circuits, magnetic materials and B-H curves. Transformer equivalent circuit models. No credit will be given for ECE majors.
- ECE 32100 Electromechanical Motion Devices (3 cr.) P: ECE 20200. C: ECE 31100. Class 3. The general theory of electromechanical motion devices relating to electric variables and electromagnetic forces. Basic concepts and operational behavior of DC, induction, brushless DC, and stepper motors used in control applications.
- ECE 32600 Engineering Project Management (3 cr.) P: Sophomore Standing. Class 3. Project management is an important skill that is needed in the private and public sectors as well as specialty businesses. This course explores the challenges facing today's project managers and provides a broad understanding of the project management environment focused on multiple aspects of the project.
- ECE 32700 Engineering Economics (3 cr.) P: Sophomore Standing. Class 3. Engineering economics is the application of economic techniques to the evaluation of design and engineering alternatives. The role of engineering economics is to assess the appropriateness of a given project, estimate its value, and justify it from an engineering standpoint. This course covers the time value of money and other cash-flow concepts, reviews economic practices and techniques used to evaluate and optimize engineering decisions, and discusses the principles of benefit-cost analysis.
- ECE 34000 Simulation, Modeling, and Identification (3 cr.) P: ECE 20700 and ECE 30100. Class 2, Lab 3. Investigation and evaluation of design problems through simulation of systems described by ordinary differential and difference equations. Development of simulation models from physical parameters and from experimental data. Topics include continuous, discrete, and hybrid models of electrical, mechanical, and biological systems. Laboratory experiences demonstrate concepts studied in text and lecture.
- ECE 35900 Data Structures (3 cr.) P: ECE 26300. Class 3. An introductory course in computer engineering, with emphasis on data structure and program design using the C language. The classical concepts of structured programming such as stack, queue, linked list, tree, recursion, sorting, and searching. Applications of structured programming in engineering.
- ECE 36200 Microprocessor Systems and Interfacing (4 cr.) P: ECE 27000 and ECE 26300. Class 3, Lab 3. An introduction to basic computer organizations, microprocessor instruction sets, assembly language programming, the design of various types of digital as well as analog interfaces, and microprocessor system design considerations. Laboratory provides practical hands-on experience with microprocessor software application and interfacing techniques. Design and implementation of a simple three-bus computer; detailed study of a particular microcomputer architecture and instruction set (Motorola 6812); assembly language programming techniques; system control signals and I/O port design and handshaking protocols; interrupt control systems; LSI parallel and serial interfaces; analog data and control interfaces.
- ECE 36500 Introduction to the Design of Digital Computers (3 cr.) P: ECE 36200. Class 3. The hardware organization of computer systems: ARM instruction set architecture, processing unit, pipeline, arithmetic/logic unit design, hardwired and microprogrammed control schemes, memory and cache organization, I/O and interrupt interface design.
- ECE 37200 Principles of Software Design (3 cr.) P: CSCI 24000. Recommended CSCI 36200. Class 3. This course is designed to teach students best practices in designing and implementing object-oriented systems of high quality. To accomplish this task, we start with an overview of software design patterns and their role in developing high-quality software. We then begin surveying different design-level software design patterns, such as the Bridge, Strategy, Wrapper Facade, and Visitor software design patterns. Next, we touch on software design patterns for building distributed systems. Finally, we finish the course by surveying Software anti-patterns, which are common design mistakes that negatively impact system quality, such as degrading performance as the system scales in size and complexity. Students will have the opportunity to apply learned techniques on several programming projects throughout the semester.
- ECE 38200 Feedback System Analysis and Design (3 cr.) P: ECE 30100. Class 3. Classical concepts of feedback system analysis and associated compensation techniques. In particular, the root locus, Bode diagram, and Nyquist criterion are used as determinants of stability.
- ECE 39501 Selected Topics in Electrical and Computer Engineering II (0-4 cr.) Variable topic and experimental courses appropriate at the junior level, as approved by the ECE Curriculum Committee at IUPUI.
- ECE 40100 Engineering Ethics and Professionalism (1 cr.) P: Senior Standing. Class 1. Some ethical, social, political, legal, and ecological issues that practicing engineers may encounter.
- ECE 40800 Operating Systems and System Programming (3 cr.) P: ECE 36200, and CSCI 36200 or ECE 35900. Class 3. Students will learn to design and construct operating systems for both individual computers and distributed systems, and to apply and utilize operating system functionality to their application development. The course will cover basic concepts and methods for managing processor, main memory, storage, and network resources, including their system functions. Detailed examples are taken from a number of operating systems, emphasizing the techniques used in networked UNIX and embedded Linux.
- ECE 42100 Advanced Digital System Design (3 cr.) P: ECE 27000 and ECE 26300. Class 3. Advanced topics in digital design. Boolean logic. Logic optimization, VLSI and ASIC design basics. Design. Simulation. Placement and routing. Logic synthesis. FPGA structure. FPGA implementation. FPGA design flow. Verilog and VHDL coding.
- ECE 42400 Electromechanical Systems and Applied Mechatronics (3 cr.) P: ECE 30100. Class 3. Design, optimization, and control of electromechanical and mechatronic systems. Comprehensive dynamic analysis, modeling, and simulation of electric machines, power electronics, and sensors. Application of advanced software and hardware in mechatronic systems design and optimization.
- ECE 42700 Power Electronics (3 cr.) P: ECE 25500. Class 3. Introduction to the fundamental operating principles of power conditioning circuits that are currently being used to effect power flow from ac to dc and vice versa. Emphasis is on the relationship between form and function of these circuits. Circuits discussed will include ac/dc line-commutated converters, dc/dc converters, dc/variable frequency converters, resonant converters and ac/ac converts. Computer simulations will be used as part of the course work.
- ECE 43201 Elementary Power Systems Engineering (3 cr.) P: ECE 32100 or A- or higher in ECE 20100. Class 3. Fundamental concepts of power system analysis, transmission line parameters, basic system models, steady state performance, network calculations, power flow solutions, fault studies, symmetrical components, operating strategies and control.
- ECE 45500 Integrated Circuit Engineering (3 cr.) P: ECE 25500. Class 3 Analysis, design and fabrication of silicon bipolar and MOSFET monolithic integrated circuits. Consideration of amplifier circuit design, and fabrication techniques with circuit simulation. Integrated operational amplifiers with difference amplifiers, current sources, active loads, and voltage references. Design of IC analog circuit building blocks.
- ECE 44000 Transmission of Information (4 cr.) P: ECE 30100 and ECE 30200. Class 3, Lab 3. Analysis and design of analog and digital communication systems. Emphasis on engineering applications of theory to communication system design. The laboratory introduces the use of advanced engineering workstations in the design and testing of communication systems.
- ECE 46100 Software Engineering (3 cr.) P: CSCI 24000 and ECE 37200. Class: 3. Introduction to software engineering principles with special emphasis on the process, methods, and tools needed to develop and test quality software products and systems.
- ECE 46300 Introduction to Computer Communication Networks (3 cr.) P: ECE 26300 and ECE 30200. Class 3. An introduction to the design and implementation of computer communication networks. The focus is on the concepts and the fundamental design principles that have contributed to the global Internet's success. Topics include: digital transmission, switching and multiplexing, protocols, MAC layer design (Ethernet/802.11), LAN interconnects and switching, congestion/flow/error control, routing, addressing, performance evaluation, internetworking (Internet) including TCP/IP, HTTP, DSN, etc. This course will include one or more project.
- ECE 46800 Introduction to Compilers and Translation Engineering (3 cr.) P: ECE 36200 and CSCI 36200 or ECE 35900. Class 3. Design and construction of compilers and other translators. Compilation goals, organization of a translator, grammars and languages, symbol tables, lexical analysis, syntax analysis (parsing), error handling, intermediate and final code generation, assemblers, interpreters, and an introduction to optimization/parallelization. Emphasis on engineering, from scratch, a compiler or interpreter for a small programming language, typically a C or Pascal subset. Projects involve implementation (and documentation) of such a system using C on UNIX.
- ECE 47100 Embedded Microcontroller, Microprocessor, and DSP-Based Systems (3 cr.) P: ECE 36200 and ECE 26300. Class 3. A structured approach to the development and integration of embedded microcontroller/microprocessor/DSP-based systems. The course provides students with design experience of embedded systems. The course covers the microprocessor selection, the configuration of peripheral components, and the hardware abstraction techniques. The course also covers the C programming techniques for embedded systems and using a fixed point microprocessor for floating point calculations.
- ECE 48300 Digital Control System Analysis and Design (3 cr.) P: ECE 38200. Class 3. An introduction to real-time computer-controlled systems analysis and design in both frequency domain and state space. Sampling theory and its effect on digital control design. Implementation, application, and industrial practice of digital control using digital signal processors and other microprocessors. Matlab/Simulink and its toolboxes are used. Regular computer and lab assignments.
- ECE 48700 Senior Design I (1 cr.) P: Senior standing in the engineering degree program and intent to graduate within 2 semesters. A real-life experience in engineering problem solving in a group setting from identification, planning and execution to professional-quality written and oral presentations. This is the first semester of a two semester course sequence.
- ECE 48800 Senior Design II (2 cr.) P: ECE 48700. A real-life experience in engineering problem solving in a group setting from identification, planning and execution to professional-quality written and oral presentations. This is the second semester of a two semester course sequence.
- ECE 49600 Electrical and Computer Engineering Projects (1-3 cr.) P: Consent of instructor. Hours and credits to be arranged.
- ECE 51000 Introduction to Biometrics (3 cr.) P: ECE 30200 or graduate standing. Class 3. Basic concepts of biometrics, biometrics systems, and fundamental theories in biometrics; help student learn how to design and develop a biometric system for multi-level security applications. Topics include introduction to biometrics, face recognition, iris recognition, fingerprint recognition, speaker recognition, other biometrics, multimodal biometrics, issues and concerns in biometrics, and future biometrics.
- ECE 51501 Smart Grid (3 cr.) P: Graduate Standing, or senior standing in the degree program and ECE 30100. This course analyzes the history of the U.S. power grid and the basic concepts on the current electric power system. The main challenges on the transition of the traditional power system with unidirectional power flow to the new and complex system.
- ECE 52301 Nanosystems Principles (3 cr.) P: Graduate standing, or senior standing and ECE 25500 in an engineering or science degree program, or consent of instructor. This is the introductory course in the nanosystems area. It introduces students to the principles and applications of nanosystems. The course begins with an introduction to the nanometer scale phenomena. It then introduces students to the basic elements resulting in nanosystems; nanoscale materials, processes, and devices. It also provides students with a basic understanding of the tools and approaches that are used for the measurement and characterization of nanosystems, and their modeling and simulation. Moreover, the course covers the applications of nanosystems in a wide range of industries, including information technology, energy, medicine, and consumer goods. The course concludes with a discussion of the societal and economical significance of these applications, including benefits and potential risks.
- ECE 52601 Integrated Nanosystems Processes and Devices (3 cr.) P: ECE 52301. This course covers processes and devices associated with integrated nanosystems. Integrated nanosystems refer to systems which consist of integrated micro-, meso-, and/or macro-scale parts, and their core components are realized by nano-scale materials, processes, and devices. The course, while covering processes which result in integrated nanosystems, will focus on the theory and operation of select electronic, electromechanical, and biomedical devices which are used for information technology, sensing, medical, and other applications. The lectures will be complemented by hands-on laboratory experience.
- ECE 52702 Advanced Power Electronics Converters (3 cr.) P: Graduate standing, or senior standing and ECE 20200, ECE 42700. Class 3. This course introduces students to advanced power electronics converters dealing with ac voltage. The power electronics topologies considered in this course are sorted into two groups: a) neutral-point-clamped, b) cascade, c) flying capacitor, and d) non-conventional multilevel configurations. The back-to-back converters presented are: a) three-phase to three-phase, b) single-phase to three-phase, c) single-phase to single-phase ac-dc-ac converters. A new methodology will be employed to present comprehensively multilevel and back-to-back converters topologies. The main applications of those converters are in renewable energy systems, active power filters, energy efficiency devices and motor drive systems.
- ECE 53200 Computational Methods for Power System Analysis (3 cr.) P: Senior standing in the degree program and ECE 43200, or Graduate Standing. System modeling of three-phase power networks. Computational methods and problem formulation related to load flow and fault studies, and economic dispatch of electric power systems. Assigned projects will involve implementing some of the methods and conducting simple studies.
- ECE 53301 Wireless and Multimedia Computing (3 cr.) P: Graduate Standing, or senior standing in the degree program and ECE 30100 and ECE 36200. A treatment of Voice and Video over IP and wireless communication algorithms, protocols, standards and implementation using multicore digital signal processors and communications processor modules. Discussion of voice over IP and wireless communication algorithms, protocols and standards, and advanced wireless and voice over IP applications.
- ECE 53401 Embedded Autonomous Systems in Automotive Platforms (3 cr.) P: Graduate Standing, or senior standing in the degree program and ECE 30100, ECE 30200, and ECE 36200. A treatment of embedded and autonomous systems: motor control, image vision, sensors, security, nural networks, SLAM, machine and deep learning, protocols, standards, and implementation using multiprocessors, multicores, ISP, Bluebox, and APEX.
- ECE 53700 Multimedia Applications (3 cr.) P: ECE 30100 and ECE 36200, or Graduate Standing. Class 3. Treatment of multimedia algorithms and their hardware and software implementations using FPGA and ASIC. Detailed discussion of entropy coding, transform coding, speech compression, image compression, and video compression.
- ECE 53800 Digital Signal Processing I (3 cr.) P: Senior standing in the degree program and ECE 30100, ECE 30200, and ECE 36200, or Graduate Standing. Class 3. Theory and algorithms for processing of deterministic and stochastic signals. Topics include discrete signals, systems, transforms, linear filtering, fast Fourier transforms, nonlinear filtering, spectrum estimation, linear prediction, adaptive filtering, and array signal processing.
- ECE 53801 Discrete Event Dynamic Systems (3 cr.) P: Graduate standing or senior standing in the degree program and ECE 30200. Class 3. This course introduces discrete event dynamic systems with their applications in system modeling, analysis, and control. Models such as automata, Petri nets, Markov chain, and queueing systems are introduced, along with analysis of their dynamics. Discrete event simulation methods are included. Examples from various engineering applications are given.
- ECE 53900 Foundations of Advanced Engineering I (3 cr.) P: Senior standing in the degree program and ECE 27000 and ECE 30200, or graduate standing. Class 3. Several mathematical tools applied in the engineering discipline are discussed. Statistical methods, including construction of confidence interval and hypothesis testing, as well as regression and regression analysis, are discussed. Discrete tools are discussed; these include logic and mathematical reasoning, combinatorics, groups and finite fields. Applications of some of these tools in engineering problems are introduced. Decision Theory include Bayes Theorem and applying Bayes Theorem to form decision problems.
- ECE 54400 Digital Communications (3 cr.) P: ECE 44000 or Graduate Standing. Class 3. Introduction to digital communication systems and spread spectrum communications. Analog message digitization, signal space representation of digital signals, binary and M-ary signaling methods, detection of binary and M-ary signals, comparison of digital communication systems in terms of signal energy and signal bandwidth requirements. The principal types of spread-spectrum systems are analyzed and compared. Application of spread spectrum to multiple-access systems and to secure communication systems is discussed.
- ECE 54700 Introduction to Computer Communication Networks (3 cr.) P: Senior standing in the degree program and ECE 30200, or Graduate Standing. Class 3. A qualitative and quantitative study of issues in design, analysis, and operation of computer communication and telecommunication networks as they evolve toward the integrated networks of the future, employing both packet and circuit-switching technology. Packet and circuit switching, the OSI standards for architecture and protocols, elementary queuing theory for performance evaluation, random access techniques, local area networks, reliability and error recovery, and integrated networks.
- ECE 54800 Introduction to 2D & 3D Digital Image Processing (3 cr.) P: Senior standing in the degree program and ECE 30100. Class 3. An introduction to 2D and 3D image processing. Lecture and projects covering a wide range of topics including 2D and 3D image analysis, image segmentation; color image processing, image sharpening, linear and filtering, image restoration, and image registration.
- ECE 55400 Electronic Instrumentation and Control Circuits (3 cr.) P: Senior standing in the degree program and ECE 25500 and ECE 30100, or Graduate Standing. Class 3. Analysis and design of special amplifiers, pulse circuits, operational circuits, DC amplifiers, and transducers used in instrumentation, control, and computation.
- ECE 55801 Advanced Systems on a Chip (SoC) Designs for Image Processing using FPGAs (3 cr.) P: Senior standing in the degree program and ECE 30100 and ECE 42100, or graduate standing. Class 3. This class covers advanced concepts in using Field Programmable Gate Arrays (FPGAs) designed with an HDL (VHDL for example: Very High Speed IC Hardware Description Language). The students will learn complex interface design, advanced hardware and embedded system design and parallel processing. Projects and lessons will focus on applications in Digital Imaging Systems. Lecture and projects covering topics including: VHDL mapped to FPGA for state machine design, hardware and software VGA control, image filtering, data transfer to bus, and embedded controller integration.
- ECE 55900 MOS VLSI Design (3 cr.) P: ECE 30500 and ECE 36500 or Graduate Standing. Class 3. Introduction to most aspects of large-scale MOS integrated circuit design, including device fabrication and modeling; useful circuit building blocks; system considerations; and algorithms to accomplish common tasks. Most circuits discussed are treated in detail, with particular attention given those whose regular and/or expandable structures are primary candidates for integration. All circuits are digital and are considered in the context of the silicon-gate MOS enhancement-depletion technology. Homework requires the use of existing IC mask layout software; term projects assigned.
- ECE 56401 Computer Security (3 cr.) P: Senior standing in the degree program and ECE 30200 and ECE 36200, or Graduate Standing. In this course we will discuss the following topics: (not necessarily in this order) security policies, confidential policies, integrity policies, security models, security design, access control, cryptography, key management, authentication, program and software, security, malicious logic, intrusion detection, network security, security attacks and countermeasures, operation system security, smartcard tamper-resistant devices, phishing, legal and ethical issues in computer security, and selected topics.
- ECE 56500 Computer Architecture (3 cr.) P: Senior standing in the degree program and ECE 36500, or Graduate Standing. Class 3. An introduction to problems of designing and analyzing current machine architectures. Major topics include performance and cost analysis, pipeline processing, instruction level parallelism, GPU architecture and programming, memory hierarchy, and multiprocessor architectures.
- ECE 56601 Real-time Operating Systems and Application (3 cr.) P: Senior standing in the degree program and ECE 36200, or Graduate standing. Class 3. This course introduces students to the principles of modern operating systems focusing on real-time operating systems and embedded operating systems and their applications.
- ECE 56810 Design with Embedded and Digital Signal Processors (3 cr.) P: Senior standing in the degree program and ECE 36200, or graduate standing. Class 3. This course provides an overview of the architectures, design considerations. Features and applications of embedded processors with digital signal processing capabilities, single-core and multi-core digital signal processors (DSPs). The course emphasizes design consideration for embedded and DSP-based real-time systems. Different applications such as internet of things, Voice over IP, wearable devices, medical instrumentation, machine to machine, smart homes and wireless systems will be considered.
- ECE 56900 Introduction to Robotic Systems (3 cr.) P: Senior standing in the degree program and ECE 38200, or Graduate Standing. Class 3. Basic components of robotic systems; selection of coordinate frames; homogeneous transformations; solutions to kinematics of manipulator arms; velocity and force/torque relations; dynamic equations using Euler-Lagrange formulation; digital simulation of manipulator motion; motion planning; obstacle avoidance; controller design using torque method; and classical controllers for manipulators. Lab experiments and final project required.
- ECE 57000 Artificial Intelligence (3 cr.) P: Senior standing in the degree program and ECE 35900 or CSCI 36200, or Graduate Standing. Class 3. Basic understanding of data structures, including the proper use of arrays, lists, trees, and queues. Understanding of searching and sorting concepts. Basic understanding of probability and statistics, including Bayes rule, statistical tests of significance, and normal distribution.
- ECE 57101 System Modeling and Design for Smart Devices (3 cr.) P: Senior standing in the degree program and consent of advisor, or Graduate standing. Class 3. Introduction to the mobile computing and the principles to design and implement application system for a smart device, including mobile computing architecture, mobile and pervasive computing environments, applications and services, context-aware computing, and human-computer interaction.
- ECE 58000 Optimization Methods for Systems and Control (3 cr.) P: Senior standing in the degree program and consent of Advisor, or graduate standing. Class 3. Introduction to optimization theory and methods, with applications in systems and control. Nonlinear unconstrained optimization, linear programming, nonlinear constrained optimization, various algorithms and search methods for optimizations, and their analysis. Examples from various engineering applications are given.
- ECE 59500 Selected Topics in Electrical and Computer Engineering (1-3 cr.) Formal classroom or individualized instruction on topics of current interest.
- ECE 60000 Random Variables and Signals (3 cr.) P: Graduate standing. Class 3. Engineering applications of probability theory. Problems of events, independence, random variables, distribution and density functions, expectations, and characteristic functions. Dependence, correlation, and regression; multivariate Gaussian distribution. Stochastic processes, stationarity, ergodicity, correlation functions, spectral densities, random inputs to linear systems, Gaussian processes.
- ECE 60200 Lumped System Theory (3 cr.) P: MATH 511 or consent of instructor. Class 3. An investigation of basic theory and techniques of modern system theory, emphasizing linear state model formulations of continuous- and discrete-time systems in the time and frequency domains. Coverage includes notion of linearity, time invariance, discrete- and continuous-times state models, canonical forms, associated transfer functions and impulse response models, the state transition matrix, the Jordan form, controllability, observability, and stability.
- ECE 60400 Electromagnetic Field Theory (3 cr.) P: Graduate Standing. Class 3. Review of general concepts (Maxwell's equations, materials interaction, boundary conditions, energy flow); statics (Laplace's equation, Poisson's equation); distributed parameter systems (classification of solutions, transmission lines, and waveguides); radiation and antennas (arrays, reciprocity, Huygen's principle); a selected special topic (e.g. magnetostatics, waves in anisotropic media and optical fibers).
- ECE 60600 Solid State Devices (3 cr.) P: Graduate Standing. Class 3. A relatively broad, moderate-depth coverage of semiconductor devices and related topics. Semiconductor fundamentals required in the operational analysis of solid-state devices; detailed examination of the positive-negative (PN) junction diode and PN junction devices; heterojunction surface devices including Schottky diode, the MOS capicator, and the MOSFET.
- ECE 60800 Computational Models and Methods (3 cr.) P: Graduate Standing. Class 3. Computation models and techniques for the analysis of algorithm complexity. The design and complexity analysis of recursive and nonrecursive algorithms for searching, sorting, and set operations; graph algorithms; matrix multiplication; polynomial evaluation; FFT calculations; and NP-complete problems.
- ECE 61000 Energy Conversion (3 cr.) P: Graduate Standing. Class 3. Electromechanical energy conversion, reference frame theory, induction machines, wound-rotor synchronous machines, permanent magnet synchronous machines, dc-to-ac conversion, brushless dc motor drives, induction motor drives.
- ECE 62700 Introduction to Cryptography and Secure Communication (3 cr.) P: Graduate Standing. Class 3. This course introduces the basic concepts of cryptography, emphasizing both privacy and integrity. Various cipher systems and cryptographic tools are presented including stream ciphers, block ciphers, public-key ciphers (RSA, El Gamal and others), hash functions, message authentication codes and digital signature systems. Methods used to attack the cipher systems are discussed. As well as how the cryptographic tools are used in today’s communication systems.
- ECE 62900 Intro to Neural Networks (3 cr.) Class 3. An introduction to basic concepts in the design, analysis, and application for computational neural networks. Topics include highly parallel fine grain architectural models such as the Boltzmann machine, Rosenblatt's Perception, Hopfields' neural nets, backpropogation, and their associated learning algorithms. Proposed architectures and related simulation techniques are discussed. Applications to signal/image processing and recognition, optimization, and controls are examined.
- ECE 63700 Digital Image Processing I (3 cr.) P: ECE 53800 and Graduate Standing. Class 3. Introduction to digital image-processing techniques for enhancement, compression, restoration, reconstruction, and analysis. 2-D signals and systems; sampling and scanning; random fields; discrete cosine transform; discrete Karhunen-Loeve transform; grayscale transformations; linear, ranked order, and morphological filters; human vision, printing, and display of images; entropy-based compression; vector quantization; block truncation coding; transform coding; predictive coding; image degradation models; Wiener filter; constrained deconvolution; computed tomography; edge detection; shape representation; and segmentation.
- ECE 63901 Error Correction Coding and Secret Sharing (3 cr.) P: Graduate standing or consent of instructor. Class 3. The theory and practice of error control coding is examined. The study includes the arithmetic of Galois fields as well as linear block, cyclic, and convulution codes. Some applications of codes in digital communication systems and in computer systems are presented. The dual of error coding, secret sharing is also discussed. Several secret sharing schemes will be presented. Applications of secret sharing are discussed.
- ECE 66200 Pattern Recognition and Decision Making Processes (3 cr.) P: Graduate Standing. Class 3. Introduction to the basic concepts and various approaches of pattern recognition and decision making process. The topics include various classifier designs, evaluation of classifiability, learning machines, feature extraction and modeling.
- ECE 68000 Modern Automatic Control (3 cr.) P: ECE 60200 or Consent of Instructor. Class 3. Theoretical methods in optimal control theory. Topics include the calculus of variations and the Pontryagin minimum principle with applications to minimum fuel and minimum energy problems. Geometric methods will be applied to the solution of minimum time problems. Computational methods, singular problems, observer theory, and sufficient conditions for existence of solutions are also discussed.
- ECE 68400 Linear Multivariable Control (3 cr.) P: ECE 60200 or equivalent. Class 3. A state space investigation of multi-input multi-output control design problems from the geometric perspective. The course will detail the theory and design algorithms needed for a solution to the state feedback eigenvalue assignment problem, the disturbance decoupling problem with and without internal stability, the output stabilization problem, and the tracking (or regulator) problem with internal stability.
- ECE 68500 Introduction to Robust Control (3 cr.) P: ECE 60200 or Equivalent Class. Class 3. Introduction to the analysis and design of robust feedback control systems. Modeling and paradigms for robust control. Robust stability and measures of robust performance. Analysis of and design for robust stability and performance.
- ECE 69311 Advanced Internship (1-3 cr.) Graduate-level internship based course, in an off-campus internship position. Internship must be in the area of Electrical & Computer Engineering. Individual Internship must be preapproved by the supervising ECE faculty member before the student can register for the course. A written report must be submitted and approved by the faculty before credit is accepted. This course cannot be used to satisfy the minimum course requirements for the Master's or Ph.D. degrees.
- ECE 69401 ECE Graduate Seminar (0 cr.) Seminar presentations by ECE faculty, staff and others from academia and industry. The presentations introduce students to a wide variety of current topics relevant to the technical, educational and career aspects of electrical and computer engineering. Graduate standing required. This course cannot be used to satisfy the Ph.D. seminar requirements.
- ECE 69401 ECE Graduate Seminar (0 cr.) Seminar presentations by ECE faculty, staff and others from academia and industry. The presentations introduce students to a wide variety of current topics relevant to the technical, educational and career aspects of electrical and computer engineering. Graduate standing required. This course cannot be used to satisfy the Ph.D. seminar requirements.
- ECE 69409 ECE PhD Residency Course (0 cr.) This course is for ECE PhD students who are required to be enrolled at Purdue West Lafayette for their PhD program although research instruction and all related activities occur at the IUPUI campus.
- ECE 69500 Advanced Topics in Electrical & Computer Engineering (1-3 cr.) Formal classroom or individualized instruction on advanced topics of current interest.
- ECE 69600 Advanced Electrical Engineering Projects (1-4 cr.) Individual research projects to be approved by the supervising faculty member before registering for the course. An approved written report must be filed before credit is given. (This course cannot be used on a Ph.D. plan of study for the primary area.)