2024-2025 Academic Catalog

Computer Engineering


Eric Balster, Department Chairperson

Raúl Ordoñez, Graduate Program Director


Master of Science in Computer Engineering (CPE)

The program of study leading to the Master of Science in Computer Engineering (MSCPE) must include a minimum of 30 semester hours of credit consisting of the following:

EGR 500Academic Integrity and Responsible Conduct of Research for Engineers0
ECE 500Introduction to the Graduate Program in Electrical and Computer Engineering 10
Choose any 3 CPE Core Courses Below: 2, 49
Contemporary Digital Systems
Digital Signal Processing
Digital Integrated Circuit Design
Embedded Systems
Computer Design
Computer Networks
System Analysis
Operating Systems
Data Communications
Specialization Area: 49
Choose any 3 graduate courses from ECE 501:ECE 694 or CPS 501:CPS 694, excluding thesis courses.
Basic Engineering Science 46
Choose any 2 graduate level courses from engineering , math, computer science, excluding thesis.
Choose Non-Thesis or Thesis Option Below:6
Non-Thesis Option: Choose any two project-based learning courses 4
Digital Signal Processing
Analog Integrated Circuit Design
Microprocessor Applications
Adv Engr Software
Object-Oriented Programming Applications
Optical Information Processing
Advanced Computer Architecture
System Design
Database Management Systems
Advanced Concepts of Programming Languages
Advanced UNIX/Linux Programming
Network Security
Thesis Option: required for TA/RA's 3
Thesis
Total Hours30
1

ECE 500 must be taken during the first semester of the graduate program.  This applies only to ELE and CPE majors.

2

At least 9 of the 30 credit hours must be from ECE courses. At least 3 of the 30 credit hours must be from CPS courses.

3

Thesis Option: Six semester hours of an approved thesis. Any students employed as an RA or TA must take the thesis option.

4

Elective courses can be used to earn certificates in other programs, such as Foundations of Engineering Management, Six Sigma, Sustainability and other offerings.  A complete list of available certificates can be found in the graduate catalog: http://catalog.udayton.edu/certificatesaz/

 

Computer Science Courses

CPS 501. Advanced Programming and Data Structures. 3 Hours

A bridge course for students who already have a programming background. Covers advanced data structures and programming techniques in a high level programming language.

CPS 509. Topics in Computer Science. 1-3 Hours

Lectures in special areas of interest determined by the department. May be taken more than once for additional credit when the topics or contents change. Prerequisite(s): Permission of department chairperson.

CPS 510. System Analysis. 3 Hours

Covering process-oriented, data-oriented, and object-oriented approaches for systems development; comparison of various systems development life cycles; DFD methodology for systems analysis using state-of-the-art CASE (Computer Aided Software Engineering) tools; logical and event analyses of DFD specifications; tools and techniques for modeling real-time systems; data modeling; introduction to object-oriented analysis methodologies. Prerequisite(s): CPS 501.

CPS 518. Software Engineering. 3 Hours

Covering software process models, requirements elicitation with Use Cases, Object-oriented Analysis and Design (OOA/OOD) with UML- Domain Modeling, Design concepts, CRC Cards, Sequential Diagrams and OOD (Use Case Realizations), Architectural Design, Interface Design, Software Quality Assurance and Testing, Software Metrics, Security Engineering, and Software Engineering Ethics. Prerequisite(s): CPS 501.

CPS 520. Object-Oriented Systems Development. 3 Hours

Unified Modeling Language (UML), use cases, class diagrams, sequence diagrams, collaboration diagrams, state charts, activity diagrams, component and deployment views, design patterns, and implementation of various UML models through team projects. Prereqs: CPS 350, 510.

CPS 530. Algorithm Design. 3 Hours

The design and analysis of computer algorithms, including order notation, sorting, dynamic programming, graph algorithms, string matching, matrix multiplication, NP-completeness. Prerequisite is CPS 450.

CPS 534. Distributed Computing with Big Data. 3 Hours

This course introduces students to distributed computation frameworks (such as MapReduce) associated with massive datasets. Topics focus on parallel/distributed algorithms, data mining and machine learning algorithms for processing and analyzing very large amounts of data, and data visualization. Prerequisite is CPS 434.

CPS 536. Operating Systems. 3 Hours

Models and algorithms pertinent to the design of computer operating systems; concurrent processes including synchronization, communication and deadlock problems, process and device scheduling policies, design of file systems, reliability and protection. Prerequisite is CPS 356.

CPS 542. Database Management Systems. 3 Hours

Physical and logical organization of data files; hierarchical, network, and relational database models; data definition language and data manipulation language of a commercial database management system; query languages. Prerequisite is CPS 430.

CPS 543. Advanced Concepts of Programming Languages. 3 Hours

The study of advanced programming language concepts and paradigms. Possible topics include continuations, reflection and meta-object protocols, generative and aspect-oriented programming, metalinguistic abstraction and macros, message-passing models and new models of concurrency, with emphasis on their application to practical application domains, including security and software engineering. Prerequisite is CPS 501.

CPS 544. Advanced UNIX/Linux Programming. 3 Hours

The study of advanced topics related to software development in the UNIX/Linux environment. Topics may include advanced interprocess communication (IPC), systems administration, virtualization and security. Prerequisite is CPS 501.

CPS 546. Advanced UNIX/Linux Programming. 3 Hours

Study of advanced tools and utilities for programming and system administration in the UNIX/Linux operating system. Graduate standing in the CPS department.

CPS 551. Advanced Emerging Programming Languages. 3 Hours

Discussion of recent trends and developments in programming languages research and practice. Topics include new concurrency and object models, type systems, functional programming, metaprogramming, multi-paradigm languages, and domain-specific languages.

CPS 552. Discrete Event Simulation Techniques. 3 Hours

Simulation models; random number generation testing, special purpose simulation languages, statistical analysis of output; regenerative models; trace-driven models. Emphasis on models related to computer operating system design and performance evaluation. Prerequisite(s): CPS 350, statistics.

CPS 560. Computer Graphics. 3 Hours

Types of graphic hardware and their characteristics. Overview of software and techniques used in computer graphics. Two- and three-dimensional graphics displays. Students registering for this course should have programming ability in a procedure-oriented language. Prerequisite is CPS 460.

CPS 561. Virtual Reality. 3 Hours

This course offers a broad introduction of virtual reality from fundamental theories to software/hardware technologies involved with the current state of the art in VR. Topics include 3D interaction techniques on virtual immersive systems, human pose/face/hands tracking, graphics and 3D animation collaborative networked virtual environment, augmented reality systems, and security. Some unforeseen security issues in many emerging VR systems are also addressed. Prerequisite is CPS 350.

CPS 563. Data Visualization. 3 Hours

The study of methodologies to visualize different kinds of data such as big data or time series data. Main topics include principal component analysis, feature selection, clustering, parallel coordinates, and different kinds of visualization charts.

CPS 564. Visual Computing and Mixed Reality. 3 Hours

The study of methodologies to comprehend and create a mixed-reality application. Main topics focus on the components of visual computing and mixed-reality applications include image filtering, feature extraction, image matching, object tracking, and rendering. Prerequisite is CPS 350.

CPS 566. Image Processing. 3 Hours

This course introduces students to a wide range of topics on digital image processing techniques. Topics includes image enhancement, 2D linear and nonlinear filtering, image compression and restoration, pattern recognition, big visual data analysis, and stochastic modeling on images. Prerequisite is CPS 350.

CPS 568. Advanced Interactive Media. 3 Hours

A broad introduction to the concepts and common problems of digital data processing and the theoretical aspects of media and interactivity. This course uses a variety of principles and techniques to demonstrate the relationship between visual data sensing and interactivity fundamentals. Prerequisite is CPS 460.

CPS 570. Data Communications. 3 Hours

The study of networks of interacting computers. The analysis of distributed processing and distributed databases. Prerequisite is CPS 470.

CPS 572. Network Security. 3 Hours

This course explores network security. Topics include fundamentals of cryptography and their application in network security, modern network security mechanisms and protocols, analysis of security requirements and mechanisms for improving network security. Prerequisite is CPS 501.

CPS 573. Security and Safety in Autonomous Systems. 3 Hours

Advanced autonomy has unique safety and security challenges due to continuous learning. This course explores methods for evaluating learning to ensure behavior(s) remain safe and secure. This course also explores advanced episodic and semantic memory structures and the ethics of autonomous systems. Prerequisite is CPS 350.

CPS 574. Language-Based Security. 3 Hours

Language-based security course covers fundamental topics of programming language-based concepts for computer security. Application-level vulnerabilities and attacks are introduced and explored. This course covers the design and implementation of security mechanisms, and software security research in the area of programming languages and security. Together with lectures, students learn hands-on experience through practical labs, programming assignments, and a term project. Prerequisite is CPS 474.

CPS 575. Secure Application Development. 3 Hours

An introduction to secure programming principles and practices to develop robust, secure software systems that are free from vulnerabilities. Constructive secure programming techniques are integrated with modern application development technologies so that security can be built in during the design phase of the development process to avoid potential software vulnerabilities and attacks. Prerequisite is CPS 501.

CPS 576. Cyber Security Fundamentals. 3 Hours

An examination of advanced topics in cybersecurity and application of those concepts to a modern networked operating system via course lectures and a project. Analytic methods for modeling fundamental cybersecurity structures are introduced. Prerequisite is CPS 471.

CPS 577. Computer System Design I. 3 Hours

Introduction to design and analysis of combinational and sequential circuits of MSI devices to design arithmetic and other computer functions. Analysis of a specific microcomputer architecture including usage of its machine and assembler language. Interfacing of various components with computers. Prerequisite(s): CPS 250.

CPS 579. Cyber Threats and Defense. 3 Hours

This course provides foundational and advanced knowledge about the threats that may exist in cyberspace. Available defense techniques to mitigate threats within a system are also discussed. Prerequisite is CPS 470.

CPS 580. Artificial Intelligence. 3 Hours

Presentation of theoretical concepts for artificial intelligence in the areas of knowledge representation and search techniques. These are examined in the context of applications for expert systems, semantic networks, and planning problems. Issues concerning functional programming and logic programming are also presented. Prerequisite is CPS 480.

CPS 581. Advanced Artificial Intelligence. 3 Hours

This course continues the studies pursued in Artificial Intelligence CPS 580. It delves more deeply into certain areas such as multiple agent systems and induction, and introduces new areas, such as neural networks and planning, not covered in CPS 580. As in CPS 580, each student shall complete a final project investigating some area of research in Artificial Intelligence. The project will encompass a literature search, paper, presentation, and implementation.

CPS 582. Automata Theory. 3 Hours

Finite automata, sequential machines. Turing machines, computability, existence of self-reproducing machines. Prerequisite is CPS 482.

CPS 583. Graph Algorithms. 3 Hours

Design and analysis of algorithms for problems based on graphs. Classical algorithms and efficient algorithms for restricted domains of graphs are covered. Analysis of algorithms, complexity classes P, NP, and NP-complete, traversals, bi-connectedness, strongly-connectedness, 2-SAT, planarity testing, and algorithms for restricted classes of graphs. Prerequisite is CPS 501.

CPS 584. Advanced Intelligent Systems and Deep Learning. 3 Hours

Course goal focuses on building software on machines that behave “intelligently,” enabling computer systems to “do the right thing” in complex environments so that they act optimally given limited information and computational resources available. Core topics of knowledge representation, reasoning, and learning are explored. Prerequisite is CPS 480.

CPS 591. Special Research Problems. 1-3 Hours

Individual readings and research in a specialized area. May be taken for at most six semester hours. Prerequisite(s): Permission of department chairperson.

CPS 592. Special Topics. 1-3 Hours

Lectures and/or laboratory experience in some areas determined by the department. Prerequisite(s): Permission of department chairperson.

CPS 595. Software Engineering Project I. 3 Hours

First of a two-course project sequence. Students, either individually or in teams, must propose a project, conduct background research, justify the adequacy of the work for a graduate project, complete analysis and design using appropriate methodologies and CASE tools, and write preliminary coding. Students are expected to write code and minimize the usage of visual or other development environments. A minimum of three class presentations is expected for project proposal, progress, and final analysis/design. Prerequisite(s): (CPS 510, CPS 530); permission of department chairperson.

CPS 596. Software Project II. 3 Hours

Continuation of CPS 595. Students are required to implement the analysis and design of their projects and make periodic presentations. Special attention needs to be given to the overall architecture of the system, usability, testing, and documentation. A minimum of two class presentations is expected for design and implementation. Prerequisite(s): CPS 595.

CPS 599. Thesis. 3-6 Hours

Thesis.

CPS 622. Software Project Management. 3 Hours

A study of effort and cost estimation models for software projects, planning techniques, productivity metrics, risk management, structuring and leading software teams, CMMI, ISO, IEEE/EIA and PMBOK frameworks for managing software projects, and ethical issues. Recommended background in CPS 510 or CPS 518.

CPS 662. Database Management Systems II. 3 Hours

Exploration and discussion of advanced database topics, with an emphasis on object-oriented and distributed database management systems. Techniques for query processing and optimization, concurrency control, recovery and security are covered. The Enhanced Entity-Relationship Model is presented as an advanced conceptual modeling tool. Emerging database technologies, such as fuzzy and deductive databases are also discussed. Prerequisites: CPS 542.

CPS 663. Advanced Visual Computing. 3 Hours

An introduction to a wide range of advanced topics on visual computing techniques. Topics include image segmentation, image style transfer, image synthesis, image classification and retrieval. Coursework includes a mandatory research project. Prerequisites: CPS 564.

CPS 664. Current Topics in Virtual/Augmented Reality. 3 Hours

Discussion of current topics in virtual reality (VR) and augmented reality (AR). VR is a computer-generated environment that simulates a realistic experience. AR is a direct or indirect live view of a physical, real-world environment whose virtual objects are augmented by computer-generated perceptual information. Course topics focus on components of VR and AR applications, including VR feedback, VR interaction, object detection, object tracking, pose estimation and rendering. Prerequisites: CPS 564.

CPS 667. Advanced Computer Vision. 3 Hours

An introduction to advanced topics in computer vision including camera imaging, multi-view geometry, feature detection and recognition, and video understanding. Students develop algorithms and automated systems for object detection, motion tracking and pattern recognition. The prerequisites are CPS 501 and CPS 566.

CPS 673. Advanced System Security Analysis. 3 Hours

An examination of computer and network security using propositional and predicate logic and formal models. The course synthesizes elements from computer networking, operating systems security, and data security using access control matrices, protection models, confidentiality, integrity, representing identity, and information flow and confinement. Prerequisite(s): CPS 576.

CPS 674. Current Topics in Autonomous Systems. 3 Hours

A survey of current research articles and seminal papers in autonomy to determine the state-of-the-art in autonomous system capabilities. Prerequisite(s): CPS 573 and CPS 576.

CPS 679. Research Methods, Performance Analysis, and Experimental Design. 3 Hours

Presentation of techniques for the measurement, simulation, and analysis of computer systems, software, and communication networks. A systematic approach to performance evaluation is developed. This course introduces and applies advanced statistical methods and analysis techniques to ensure research conclusions are rigorous, defensible, and supported by the data collected. Prerequisites: CPS 501.

CPS 680. Web 3 Science: Semantics and Knowledge. 3 Hours

A presentation of current research techniques for semantic web technologies and knowledge graphs. Topics include RDF and RDFS, ontology engineering, SPARQL language, linked open data, data quality, semantic data extraction, knowledge representation and knowledge capture. Recommended background in CPS 580 or CPS 542.

CPS 682. Text Mining. 3 Hours

A combination of lecture and seminar covering topics related to text classification, clustering, vector representation and topic modeling on various types of corpora. This covers corpus collected from social media, blogs, reviews, forums, newspapers and domain-specific literature such as biomedical domain. Prerequisites: CPS 584, 580.

CPS 683. Advanced Topics in Knowledge Graph. 3 Hours

A combination of lecture and seminar covering advanced topics in information integration, reasoning, knowledge representations and knowledge management. Prerequisites: CPS 680.

CPS 684. Information Extraction. 3 Hours

A lecture-based course with the inclusion of several seminars. Core topics relate to entity extraction, entity linking, relation extraction and fact extraction. Discussion of these topics are mainly empowered by ontology-based approaches. Prerequisites: CPS 584, CPS 680.

CPS 699. Dissertation. 1-9 Hours

Research for the doctoral degree.

Electrical & Computer Engr Courses

ECE 500. Introduction to the Graduate Program in Electrical and Computer Engineering. 0 Hours

Introduction to ECE graduate program, research methods in ECE, technical writing, literature research, ethics, software and resources.

ECE 501. Contemporary Digital Systems. 3 Hours

An introduction to modern digital hardware logic design using a hierarchical system approach including a top-down development process. An introduction to alternative design implementation forms including hardware description languages (HDLs) for the design of simple and complex combinatorial logic circuits and sequential logic designs with finite state machines. Good HDL coding practices such as readability, reconfigurability, and efficient execution are emphasized along with the use of programmable logic circuits including Field-Programmable Gate Arrays (FPGAs). Required Background: ECE215 or equivalent. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Prerequisite: ECE 500.

ECE 503. Random Processes. 3 Hours

Random variables as applied to system theory, communications, signal processing and controls. Topics include advanced engineering probability, random variables, random vectors and an introduction to random processes. Required background: ECE 340 or equivalent.

ECE 504. Power Electronics. 3 Hours

The course introduces the characteristics of different power semiconductor devices and their application to power conversion, different types of electric power converters topologies and controls like ac-dc rectifiers, dc-dc converters, and dc-ac inverters. It will also include the applications of such power converters for renewable energy sources, hybrid electric vehicles, and power supplies. Required Background: ECE 204, ECE 316.

ECE 505. Digital Signal Processing. 3 Hours

A study of one-dimensional digital signal processing, including a review of continuous system analysis and sampling. Topics include z-transform techniques, digital filter design and analysis, and fast Fourier transform processing techniques. Required background: ECE 334 or equivalent course.

ECE 506. Microelectronic Devices. 3 Hours

Crystalline structure of matter, quantum mechanics and energy band theory; bulk properties of semiconductors; p-n and metal-semiconductor junctions; bipolar junction transistors; field-effect transistors; heterostructures; optical properties of semiconductors; devices, modeling and applications. Required background: ECE 304 or equivalent.

ECE 507. Electromagnetic Fields I. 3 Hours

Fundamental concepts, wave equation and its solutions; wave propagation, reflection and transmission; potential theory; construction of modal solutions; various electromagnetic theorems: concept of source, uniqueness, equivalence, induction and reciprocity theorems. Required background: ECE 333 or equivalent.

ECE 509. Analysis of Linear Systems. 3 Hours

State variable representation of linear systems and its relationship to the frequency domain representation using transfer functions and the Laplace transform. State transition matrix and solution of the state equation, stability, controllability, observability, state feedback and state observers are studied.

ECE 510. Microwave Circuits for Communications. 3 Hours

Microwave transmission, planar transmission lines, microwave components and filters. Microwave tubes, microwave communication, radar systems, and electronic support measures. Prerequisite(s): ECE 507.

ECE 511. Antennas. 3 Hours

Fundamental principles of antennas; analysis and synthesis of arrays; resonant antennas; broadband and frequency independent antennas; aperture and reflector antennas; applications to radar and communication systems. Prerequisite(s): ECE 507 or equivalent.

ECE 520. The Internet of Things. 3 Hours

Introduction to the multi-disciplinary topic of Internet of Things (IoT), a blend of engineering and science. The course begins with a fundamental technical understanding of the IoT architecture. From this foundation, students experience hands-on labs in a team environment with theoretical justification. The applied work features environmental sensor networking with geospatial data. Each surface area in IoT is explored from sensors and embedded devices to protocols and virtual servers highlighted by current trends within IoT. Lastly, the history, software and influential people will be discussed to provide class context. Ultimately, students scaffold their knowledge through a series of labs, team challenges and supporting lectures to create a final business proposal for a real client IoT value proposition.

ECE 521. Digital Communications I. 3 Hours

Fundamentals of digital transmission of information over noisy channels; modulation schemes for binary and M-ary digital transmission; optimum receivers; coherent and noncoherent detection; signal design; intersymbol interference; error control coding; the Viberti algorithm; channel capacity and Shannon limits on reliable transmission.

ECE 523. Satellite Communications. 3 Hours

Topics related to the theory, design and orbital placement of geostationary and geosynchronous satellites and their communications applications, including transmitters and receivers in the RF, microwave and optical operational windows, the associated modulation and communication strategies, system hardware and international satellite networks. Required background: ECE 507 or permission from instructor.

ECE 528. Avionics, Navigation and Guidance. 3 Hours

Importance and Role of Avionics, Aerodynamics and Aircraft Control, Fly-by-Wire Flight Control, Inertial Sensors and Attitude Derivation, Navigation Systems, Air Data and Air Data Systems, and Avionics Systems Integration.

ECE 530. Digital Integrated Circuit Design. 3 Hours

Integrated circuit design and layout concepts, design methodology, fabrication process and limitations, MOSFET models for digital design, inverter and logic gates, interconnect and delay, combinational circuits, sequential circuits, datapath subsystems, memory circuits, digital phase lock loops. Required background ECE 304.

ECE 531. Analog Integrated Circuit Design. 3 Hours

Integrated circuit design concepts and layout; system perspective on analog design; MOS device theory and processing technology; current mirrors and biasing circuits; voltage and current references; single-stage, differential and operational amplifiers; CAD utilization to realize the design process. Required background: ECE 304 or equivalent.

ECE 532. Embedded Systems. 3 Hours

This course will introduce the student to the concept of embedded systems and the constraints imposed on hard real-time systems. Course will consist of design, development and test of selected hard-deadline hardware and software using Altera's DE2 development boards. The student will design selected hardware interfaces and develop real-time executive and application code in assembly language and C. Each student will design and implement hardware using Verilog HDL. Required Background: ECE 444 or equivalent.

ECE 533. Computer Design. 3 Hours

Design considerations of the computer; register transfer operations; hardware implementation of arithmetic processors and ALU; instruction set format and design and its effect on the internal micro engine; hardware and micro-programmed control design; comparative architectures. Required background: ECE 314 or equivalent. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 536. Microprocessor Applications. 3 Hours

Project studies, applications of microprocessors in practical implementations; logic implementation using software; memory-mapped I/O problems and interrupt structure implementation; use of compilers; study of alternate microprocessor families including industrial controllers. Required background: ECE 314 or equivalent. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 538. Object-Oriented Programming Applications. 3 Hours

A semi-formal approach to the engineering applications of object-oriented programming. Application of the concepts of classes, inheritance, polymorphism in engineering problems. Introduction to the use of class libraries. Effective integration of the concepts of application programmer interfaces, language features, and class libraries. The required background is C programming experience. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 545. Automatic Control. 3 Hours

Study of mathematical methods for control systems and analysis of performance characteristics and stability. Design topics include pole-placement, root locus, and frequency domain techniques. The student will also learn feedback loop sensitivity, basic loop shaping, performance bounds, and other introductory aspects of robust control. The required background is ECE 415 or equivalent. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 547. Non-Linear Systems & Control. 3 Hours

Introduction to nonlinear phenomena in dynamical systems. A study of the major techniques of nonlinear system analysis including phase plane analysis and Lyapunov stability theory. Application of the analytical techniques to control system design including feedback linearization, backstepping, and sliding mode control. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 549. Engineering Systems for the Common Good. 3 Hours

In this course we will mathematically examine a number of social systems and develop quantitative models describing their behavior. We will review and learn fundamental systems theory concepts, such as block diagrams, feedback loops, and continuous and discrete-time dynamics, as needed. You will apply these concepts to mathematically model and analyze social systems, and in this process, you will learn how the powerful ideal of Human Rights is understood via social system models. You will learn how to study and numerically simulate social dynamics in a methodical, mathematical manner. You will use simulation software to numerically investigate and understand social systems such as sustainability, homelessness, environmental justice, the poverty cycle, and others. For each system, we will highlight its connections to specific human rights. At the conclusion of the course, you will have achieved a deeper understanding of the connection between engineering principles and tools, human rights, and the common good. Required background: differential equations; ECE509 or ECE547 (or equivalent).

ECE 550. Artificial Neural Networks. 3 Hours

This course introduces the fundamental concepts, mathematical models, design architectures, and learning algorithms of artificial neural networks (ANNs) which learn from examples. ANNs are biologically inspired systems that mimic the structural and perceptual behavior of the human brain. Artificial neural networks are the basis and foundation of deep learning systems.

ECE 552. Visual Perception for Autonomy. 3 Hours

This course introduces the fundamental concepts and models of visual perception for autonomous systems with a practical treatment of design, development, implementation, and applications of algorithms for scene analysis and understanding. The class will briefly cover topics in visual data analysis, color perception, region localization, visual feature extraction, visual recognition, perceptual manifolds, motion perception, and visual tracking. Required Background: ECE445 or equivalent. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 554. Applied Robotics. 3 Hours

Within this course, focus will be on project-based learning with robotic systems. Extensive usage of student kits and industrial robotic platforms will enable hands-on learning experiences, which will encourage students to think critically and deepen their knowledge through experimentation. Using a combination of online learning content and classroom lectures, multiple comprehensive projects will be covered, such as a drawing robot, a webcam-controlled rover or industrial arm, and/or a self-balancing motorcycle. Students will use software (MATLAB, Simulink, ROS) programming to implement model-based design, control systems, image and signal processing, and more. The major learning objective is for students to get prepared for real-life environments by using the same tools as industry professionals. Students are expected to have completed a linear algebra course.

ECE 557. Autonomous Systems. 3 Hours

At the intersection of mechanical engineering, electrical engineering, and computer science, autonomous systems involve the implementation of mechatronic technologies which operate independently (autonomously) from human intervention. This course emphasizes the practical implementation of modern control systems for the purposes of creating fully- or semi-autonomous systems. Topics include programming syntax and structure, integration of peripherals (sensors and actuators) with controllers, and data communications both within and external to the systems. Equal mix of lecture and laboratory with significant time dedicated to advanced design projects. Students are expected to have an undergraduate level background in controls and electronics.

ECE 558. Robot Modeling. 3 Hours

This course covers the fundamentals of modeling the movement of spatial systems with a focus on robots, particularly industrial robots. Topics include planar and spatial robotics, forward kinematics including the Denavit-Hartenberg formalism, inverse kinematics, manipulator velocities and the robotics-specific Jacobian, static loads in robots, and the product-of-exponentials formalism. Students are expected to have completed a linear algebra course.

ECE 560. Computational Imaging. 3 Hours

Computation imaging refers to a modality of image capture where image signals are measured not by direct means, but indirectly by a co-designed combination of image acquisition hardware and post-capture processing techniques. Hardware designs may involve modifications to conventional optics and sensor hardware, or using the optics and sensor hardware in an unusual way. Post-capture processing addresses the "inverse problems" within the computational imaging systems designed to estimate the image signal from the measured sensor data. In this class, students will learn how to design calibration experiments, will capture scenes and objects using real hardware, and will develop algorithms to recover the image signal. The class topics may include various modalities of computational imaging, including hyperspectral imaging, digital camera processing pipeline, time of flight cameras, lightfield imaging, structured light imaging, polarization imaging, neuromorphic cameras, and spherical imaging. Required background: ECE 334 (Discrete Signals & Systems) or ECE 505 (Digital Signal Processing), or equivalent.

ECE 563. Image Processing. 3 Hours

An introduction to image processing including the human visual system, image formats, two-dimensional transforms, image restoration, and image reconstruction. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Prerequisites: ECE 505. Corequisites: ECE 500.

ECE 564. 3D Computer Vision. 3 Hours

Develop the skills needed to generate synthetic images of 3D objects and to recover 3D structure from one or more views (projections) of 3D objects. Feature recognition in 2D views (images) of a scene based either on actual photographs or synthetic images (computer graphics generated). Applications in robot pose recognition and mobile robot navigation. Students should have experience with MATLAB programming and image processing. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 565. Fundamentals of Solid-State Batteries. 3 Hours

Introduction to the fundamental of solid-state, safe, durable, batteries, including working principles of a battery, state-of-the-art battery (Li-ion battery based on liquid-state electrolytes- advantages/disadvantages), battery safety, need for a safe battery system for low-high power applications (electric vehicles / unmanned-/manned aircraft, space vehicles, etc.), different design of solid-state batteries (planner-stacked, 3 dimensional, etc.), engineering the structural battery (dual functionality system that can carry the mechanical load and store energy), characterization methods to evaluate structure / electrical/electrochemical properties of all-solid-state battery materials (cathode, anode, electrolytes), interfaces (electrodes/electrolyte), and electrical/ electrochemical testing of complete battery cells. Also, electrical test methods to evaluate solid-state Li-ion battery (including structural battery) performances, etc.), and understanding the degradation mechanism of solid-state battery systems (including structural battery) will be discussed. Required background: ECE 304 or equivalent. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 566. Fundamentals of Hybrid Electrochemical Power. 3 Hours

Introduction to the fundamentals of hybrid electrochemical power (battery + capacitor + fuel cell – integrated systems) including working principles of batteries, capacitors, lithium-ion capacitors, and fuel cells. Discussion of the advantages/disadvantages, necessity to hybridize batteries, fuel cells, capacitors. Electrical hybridization methods, electrochemical testing of hybrid power systems, degradation mechanism, and applications. Hybrid electrochemical power is highly desirable to meet requirements for a wide range of products (such as electronic gadgets, transportation vehicles, and space vehicles) requiring low to high power/energy, cycle-life, fast/slow charge/discharge, etc. Required background: ECE 304 or equivalent. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 567. Machine Learning & Patterning. 3 Hours

This course introduces the fundamental concepts and models of machine learning with a practical treatment of design, analysis, implementation, and applications of algorithms that learn from examples. Topics include supervised and unsupervised learning, self-organization, pattern association, feed-forward, and recurrent architectures, manifold learning, dimensionality reduction, and model selection. Required background in ECE445 or Graduate Student status. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 568. Detection and Estimation. 3 Hours

This course will provide a fundamental understanding of detection, estimation, and their use in solving engineering problems. Students will be able to solve problems involving hypothesis testing, develop a discrete-time signal detector, and compute optimum parameter estimates. Students will become familiar with foundational concepts of likelihood ratio, randomized decision, sufficient statistic, Cramer-Rao bounds, and risk estimation. Students will also develop an understanding of linear least square estimation, minimum mean square estimation, minimum mean absolute error estimation, maximum a posteriori estimation, maximum likelihood estimation, minimum variance unbiased estimation, empirical Bayes estimation, and minimum risk shrinkage operator estimation, expectation-maximization algorithm. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Prerequisites: ECE 503. Corequisites: ECE 500.

ECE 569. Advanced Random Processes. 3 Hours

This course will provide students with a fundamental understanding of probability, random variables, and random processes, and their use in solving engineering problems. Students will be able to solve problems involving various noise processes and their probability distributions, describe random signals and will analyze linear systems with stochastic inputs. Some advanced topics such as Wiener filtering, Kalman filtering, and Karhunen-Loeve decomposition will be covered. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Prerequisites: ECE 503. Corequisites: ECE 500.

ECE 572. Optical Information Processing. 3 Hours

Mathematical techniques pertaining to linear systems theory; Fresnel and Fraunhoffer diffraction; Fourier transform properties of lenses; frequency analysis of optical systems, spatial filtering, applications such as optical information processing and holography. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 573. Photonic Devices & Systems. 3 Hours

Solid-state theory of optoelectronic devices; semiconductor photo emitters; LED's, optical amplifiers and semiconductor lasers; photodetectors: PIN, APD, photocells, PMT, detection, and noise; solar cells; cameras and displays; electro-optic and magneto-optic devices; integration and application of electro-optical components in systems of various types. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Prerequisites: ECE 507 or permission of department chairperson. Corequisites: ECE 500.

ECE 574. Guided Wave Optics. 3 Hours

Light propagation in slab and cylindrical waveguides; signal degradation in optical fibers; optical sources, detectors, and receivers; coupling; transmission link analysis; fiber fabrication; fiber sensor and communication systems. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Prerequisites: ECE 507 or permission of department chairperson. Corequisites: ECE 500.

ECE 576. Introduction to Radar. 3 Hours

Introduction to the radar range equation, fields and Waves, antennas and phased arrays, beamforming, targets, and clutter radar cross-section, fast time, slow time, detection processing, tracking, space-time adaptive processing, FMCW radar, SAR and ISAR, electronic warfare, transmitters, receivers, and signal processors. Required background: ECE303, ECE332, ECE340, or equivalent. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 577. Introduction to Electronic Warfare (EW). 3 Hours

Overview of the Principles of Electronic Warfare (EW). Review of radar (and radio frequency communication) systems engineering, including fields and waves, waveforms, antennas and array beamforming, target detection and image processing, tracking, space-time adaptive processing (STAP), synthetic aperture radar (SAR), Inverse SAR (ISAR). Principles of direction finding (DF), Electronic Attack (EA) of MTI (moving target indication) radar, SAR, and digital radio frequency memory (DRFM). Principles of Electronic Protection (EP) in MTI and SAR. Low Probability of Intercept (LPI) radar and communications, Electronic Intelligence and STAP, Electronic Support Measures (ESM). Required Background: ECE303, ECE332, ECE340, or equivalent. Recommended: ECE576. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 578. Advanced Radar. 3 Hours

Review of the radar range equation, fields and waves, antennas and phased arrays, beamforming, targets and clutter radar cross-section, fast time, slow time, detection processing, tracking, frequency modulated continuous wave (FMCW) radar, synthetic aperture radar (SAR) and Inverse SAR (ISAR), electronic warfare (EW), transmitters, receivers, and signal processors. Advanced space-time adaptive processing (STAP) techniques, including the Generalized Likelihood Ratio Test, Non-Homogeneity Detection, Knowledge-Based STAP, and Constant False Alarm Rate detection processing. Required Background: ECE303, ECE332, ECE340 or equivalent. Recommended: ECE576. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 580. Principles of Nanofabrication. 3 Hours

Basic principles of processes used in microelectronic and photonic device fabrication: vacuum systems, plasma processes, physical and chemical vapor deposition, properties of silicon and other substrate materials, photolithography and non-optical lithography, wet chemical, and plasma etching, thermal oxidation of silicon, semiconductor doping, ion implantation, metallization, electrical contacts, and micro-metrology. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 581. Nanoelectronics. 3 Hours

Introduction to the physics of materials on the nanoscale; quantum confinement theory; electronic and optical properties of semiconductor nanostructures; single-electron transistors (SETs); tunneling and ballistic devices; nanostructured LEDs, photodetectors, and lasers; nanophotovoltaics and nanomagnetics; quantum computing and molecular electronics; nanoelectronic fabrication, state-of-the-art, and emerging nanoscale devices and applications. Required background in ECE 506 or equivalent. Corequisites: ECE 500.

ECE 583. Advanced Photovoltaics. 3 Hours

Science and applications of photovoltaics, with special emphasis on inorganic and organic semiconductors, ferroelectrics, chalcopyrites, metamaterials, quantum structures, and photovoltaics archictecture. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Prerequisites: ECE 506 or permission of instructor. Corequisites: ECE 500.

ECE 586. Computer Networks. 3 Hours

Introduction to the fundamental of computer networks, including the Open Systems Interconnection reference model, transmission media, medium access protocol, data link protocols, routing, congestion control, applications, and network security. Required background: ECE 303 or equivalent. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 587. Wireless Security. 3 Hours

Wireless security is a very important topic and attracting more and more attention from industry, research, and academia. This course gives a comprehensive overview of the recent advances in wireless network and system security. It will cover security issues and solutions in emerging wireless access networks and systems as well as multi-hop wireless networks. Required background: ECE203 or equivalent. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 590. Biomedical Engineering and Healthcare Electronics. 3 Hours

This survey course will introduce students to the interdisciplinary field of Biomedical Engineering. Students will learn about the application of electrical and computer engineering in healthcare solutions. This course is project oriented, covering topics such as: bioethics, anatomy and physiology, biomimetics, skeletal and cardiac biomechanics, biomaterials & prosthetics, biosensors, bioinstrumentation, neuroscience and traumatic brain injury, rehabilitation engineering/assistive technology, biomedical modeling and medical additive manufacturing. Students may have the opportunity to attend industry site visits with internal and external partners in the medical field to apply knowledge learned in the classroom to real-world experiences. Required background: Introduction to Circuits (ECE 201 or EGR 203) or Introduction to Mechatronics (MEE 298 or MEE 205) or equivalent.

ECE 591. Medical Imaging. 3 Hours

This course will introduce students to the field of Medical Imaging. Students will learn about the different modalities (Ultrasound, X-ray, CT, MRI, Nuclear Medicine) utilized in healthcare and gain an understanding about which techniques are most appropriate for various medical pathology through open-ended clinical case studies. Students may have the opportunity to attend industry site visits with internal and external community partners in the medical field through collaboration with a local community hospital to apply knowledge learned in the classroom to real-world experiences. This course is project oriented, covering topics such as bioinstrumentation, medical image processing, medical additive manufacturing and sustainable healthcare solutions for developing countries. Required background: Introduction to Circuits (ECE 201 or EGR 203) or Introduction to Mechatronics (MEE 298 or MEE 205) or equivalent. Introduction to MATLAB Programming (ECE 203) or equivalent.

ECE 595. Special Problems in Electrical Engineering. 1-6 Hours

Particular assignments to be arranged and approved by the department chair. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 599. Thesis. 1-6 Hours

Thesis in Electrical and Computer Engineering. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Corequisites: ECE 500.

ECE 604. Advanced Power Electronics. 3 Hours

The course provides the characteristics and detailed design of power semiconductors, power conversion typologies, and controls. Passive components design and selection and optimization, advanced control strategy and typologies of DC-DC converter and DC-AC Inverters. Prerequisites: ECE 402 or 504.

ECE 633. Advanced Computer Architecture. 3 Hours

Examination of modern high-performance computing architectures, including out-of-order execution RISC multicore processors and GPGPUs. Design projects integrate the concepts learned in class. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Prerequisites: ECE 533. Corequisites: ECE 500.

ECE 642. Optimal Control & Estimation. 3 Hours

Introduction to optimal control, starting with dynamic programming for stochastic optimal control; continuous-time optimal control, including Pontryagin's Maximum Principle and its application to the linear case, leading to linear optimal control. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Prerequisites: ECE 509 or permission of instruction. Corequisites: ECE 500.

ECE 645. Adaptive Control. 3 Hours

On-line approximation based adaptive control techniques for nonlinear systems. An introduction to neural networks and fuzzy systems as part of the control loop is given, leading to a diversity of advanced methods for controlling and stabilizing nonlinear systems subject to uncertainties. Adaptive observers and adaptive output feedback are also introduced. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Prerequisites: ECE 547 or permission of instructor. Corequisites: ECE 500.

ECE 661. Statistical Signal Processing. 3 Hours

This course studies discrete methods of linear estimation theory. Topics include random vectors, linear transformations, linear estimation theory, optimal filtering, least-squares techniques, linear prediction, and spectrum estimation. Concurrency Requirement: Students must be enrolled in or have completed ECE 500 to register for this course. Prerequisites: ECE 503, ECE 505. Corequisites: ECE 500.

ECE 675. SILICON PHOTONICS. 3 Hours

Photonic Integrated Circuits and Components on the silicon platform, Optical fiber coupling into single mode waveguides, Power Splitting Components, Polarization Manipulation Components, Integrated Photonic Thermo-Optic, and Electro-Optic Modulators, Photonic Circuit Modeling , Silicon Photonics Foundry Fabrication, Design Project with Ansys/Lumerical software. Prerequisites: ECE 333 or equivalent or Permission of Instructor.

ECE 695. Special Problems in Electrical and Computer Engineering. 1-6 Hours

Special topics in electrical engineering not covered in regular courses. Course sections arranged and approved by the chair of the student's doctoral advisory committee and the department chair.

ECE 696. Graduate Seminar. 0-3 Hours

Research oriented independent study course intended for doctoral level graduate students. The student will perform an in-depth research on a selected topic of mutual interest with his/her doctoral adviser, and achieve sufficient expertise to do a technical presentation about the topic in front of his/her peers. The student will prepare a report and present it in one of the graduate seminar sessions during the semester. The student is expected to attend all the seminars presented by other graduate students during the semester and to interact with them to improve the depth and breath of his/her knowledge.

ECE 699. PhD Dissertation. 1-15 Hours

Original research in electrical engineering that makes a definite contribution to technical knowledge. Results must be of sufficient importance to merit publication in a refereed journal.