Computer Science

  • CAP 5415: Principles and Algorithms of Computer Vision (3).
    Prerequisite: COP 4530. This course examines the basic computational principles and algorithms to extract information from images and image sequences. Topics include imaging models, linear and nonlinear filtering, edge detection, stereopsis and motion estimation, texture modeling, segmentation and grouping, and deformable template matching for recognition.

  • CAP 5605: Artificial Intelligence (3).
    Prerequisite: COP 4530. Introduction, representing knowledge, controlling attention, exploiting constraints, basic LISP programming, basic graph searching methods, game-playing and dealing with adversaries, understanding vision, theorem proving by computer, computer programs utilizing artificial intelligence techniques.

  • CAP 5615. Artificial Neural Networks (3).
    Prerequisite: Senior or graduate standing in science or engineering. Introduction to various aspects of artificial neural networks, with emphasis on elements of design of trainable systems. Topics include linear and nonlinear neurons, linear associators, multilayer networks, and the back-prop algorithm. Theory, simulation techniques, and applications will be covered.

  • CAP 5638. Pattern Recognition (3).
    Prerequisites: Knowledge of probability and at least one programming language. Applications of mathematical tools, in particular, probabilistic, algebraic, and linguistic tools, to problems in pattern recognition and classification. Feature selection procedures, syntactic pattern recognition. Applications of fuzzy set theory to pattern recognition and classification.

  • CAP 6417. Theoretical Foundations of Computer Vision (3).
    Prerequisite: CAP 5415. This course covers theoretical foundations of computer vision. By formulating vision as an inference process, approaches to vision are presented and analyzed systematically. Topics include Marr's computational vision paradigm, regularization theory, Bayesian inference framework, pattern theory, and visual learning theories.

  • CEN 5720. Computer-Human Interaction (3).
    Prerequisite: COP 4530. Systematic analysis of user needs and activities from the point of view of the actual user. Design and implementation of effective, user-friendly software. Methods of analysis. Performance and interface of programs. User anxiety and convenience.

  • CGS 5427. Algorithm Design and Analysis (3). (S/U grade only.)
    Prerequisites: COP 4530; MAD 2104, or 3107. For graduate non-majors and graduate majors needing foundational work in computer science; credit may not be applied toward a graduate degree in computer science. Techniques for the analysis of computer algorithms; examples of well-designed algorithms and associated data structures; principles of algorithm design and application of programming projects.

  • CGS 5409. Object-Oriented Programming in C++ for Non-majors (2).
    Topics include basics of C++ language, objects and classes, programming with classes, constructors and destructors, dynamic memory allocation, function and operator overloading, master classes, the class iostream, base and derived classes, and templates. May not be applied toward a degree in computer science.

Computational Science

  • ISC 5935. Applied Machine Learning (3).
    Prerequisites: Knowledge of C++ or Matlab or strong willingness to learn them. This course is a hands-on introduction to statistical methods for supervised, unsupervised and weakly supervised learning.

  • ISC 5305 - Introduction to Scientific Programming (3).
    Prerequisites: Know a programming language. Object oriented coding in C++, Java, Fortran 90 with applications to scientific programming. Discussion of class hierarchies, pointers, function and operator overloading, and portability. Examples include computational grids and multidimensional arrays.

  • ISC 5315 - Applied Computational Science I (3).
    Prerequisites:  ISC 5305, MAP 2302. This course provides students with high performance computational tools necessary to investigate problems arising in science and engineering with an emphasis on combining them to accomplish more complex tasks. Topics covered are from the areas of scientific visualization, data structures, linear algebra, interpolation and approximation, numerical quadrature, discrete differentiation, numerical ODEs and Monte Carlo. 

  • ISC 5316 - Applied Computational Science II (3).
    Prerequisites:  ISC 5315, MAP 2302. Provides students with high performance computational tools to investigate problems in science and engineering with an emphasis on combining them to accomplish more complex tasks. Topics include mesh generation, stochastic methods, basic parallel algorithms and programming, numerical optimization, and nonlinear solvers. 

  • ISC 5228 - Markov Chain Monte Carlo Simulations (3).
    Markov Chain Monte Carlo (MCMC) is one the most powerful and versatile methods developed in the 20th century. It uses a sequences of random numbers to solve important problems in physics, computational biology, econometrics, political science, Bayesian inference, machine learning, data science, optimization, etc. For many of these problems, simple Monte Carlo ("integration by darts") is inefficient. Often, MCMC is the answer.

  • ISC 5314 - Verification and Validation in Computational Science (3).
    Prerequisites: Consent of instructor. This course covers the theory and practice of verification and validation in computational sciences. Students learn basic terminology, are exposed to procedures and practical methods used in software implementation validation and in solution verification, employ exact and manufactured solutions, and explore elements of software quality assurance. The course introduces essential data analysis techniques and reviews software development and maintenance tools. Examples from physical sciences and engineering are used to illustrate aspects of code variation, including validation hierarchy, validation benchmarks, as well as uncertainty quantification and simulation code predictive capabilities. The computational laboratory is an essential part of this course.

  • ISC 5318 - High-Performance Computing (3).
    Prerequisite: ISC 5305. Introduces high-performance computing, the use of parallel supercomputers, computer clusters, and software and hardware, to speed up computations. Students learn to write faster code that is optimized for modern multi-core processors and clusters, using modern software-development tools and performance analyzers, specialized algorithms, parallelization strategies, and advanced parallel programming constructs.

  • ISC 5935 - Advanced Data Mining Techniques (3).
    Prerequisite: ISC3222, ISC3313, ISC4304, COP 3330 or consent of instructor. Basic data mining concepts – data representation and visualization. Classification techniques: decision trees, rule-based classifier, nearest-neighbor classifier, Bayesian classifier, artificial neural networks, support vector machines. Cluster analysis: density-based cluster, graph-based cluster. Basic learning mechanisms: supervised and unsupervised. Temporal and spatial mining: prediction, time-series, regression. Performance evaluation: ROC curves, confusion matrix. Applications of data mining: anomaly detection, remote sensing, bioinformatics and medical imaging. Programming exercises will be assigned.

Electrical and Computer Engineering

  • EEL 4930/5930. Image Processing (3).
    Introduction to image processing techniques involving theoretical developments, analysis, and practical implementations of imaging techniques for the solution of real-world problems. (Prerequisites: EEL 3135 or elementary knowledge of the Fourier transform, Fourier series, the discrete Fourier transform, and their use in linear system analysis).

  • EEL 5173. Signal and System Analysis (3).
    Prerequisite: EEL 3135 or 4652. Continuous and discrete dynamic models with an emphasis on state variable models; Laplace transform, z-transform, and the time domain solutions. Includes real-time digital simulation and sampling theory

  • EEL 5247. Power Conversion and Control (3).
    This course introduces solid-state power conversion and control circuits, including analysis and design of nonlinear mutiple-phase circuits with sinusoidal and non-sinusoidal variables; constant-frequency and variable-frequency input converters; variable-frequency inverters; sensing and processing circuits supporting control systems; and embedded microprocessor control systems.

  • EEL 5542. Random Processes (3).
    Prerequisite: EEL 3135, 4021. Random processes; analysis and processing of random signals; modeling of engineering systems by random processes; selected applications in detection; filtering; reliability analysis; and system performance modeling.

  • EEL 5667. Robot Kinematics and Dynamics (3).
    Prerequisite: EEL 4652. Introduction to robot kinematics and dynamics, including forward kinematics, inverse kinematics, and differential kinematics. Also covers rigid motion and homogenous transformations, velocity and force/torque relations and resolved motion rate control; serial, parallel and kinematically redundant manipulators.

  • EEL 5812. Advanced Neural Networks (3).
    Prerequisite: EEL 4810. This course is designed to provide students with an in-depth knowledge of advanced topics in nueral networks such as universal approximation networks, transformation-based neural networks, information theoretic models, and foundations of neurodynamics.

  • EEL 5930. Pattern Recognition and Data Mining (3).
    Fundamentals of pattern classification and data mining. Bayesian Decision Theory, Parametric and Non-parametric techniques. Include real world applications.

  • EEL 6266. Power Systems Operation and Control (3).
    Prerequisite: EEL 5250. This course examines modern power system operational and control problems and solution techniques, including state estimation, contingency analysis, load-frequency control, and automatic generation control. Additional subjects covered include load-flow analysis, unit commitment, and external equivalents for steady-state operations. 

  • EEL 5930: Embedded Microprocessor System Design (3). 
    Prerequisite: EEL 4710 or graduate standing. This course will give you an in-depth understanding of the design process of field programmable logic devices (FPLDs) and system level design procedures. 

  • EEL 5930: Machine Intelligence (3).
    Prerequisite: EEL MAS 3105, EEL 3135.This course is designed for senior undergraduate and first-year graduate students from engineering disciplines and is intended to educate students in the theory and applications of computational intelligence including neural networks, fuzzy logic, genetic algorithms, swarm optimization, linear discriminant analysis (LDA), principal component analysis (PCA), Independent Component Analysis (ICA), support vector machines (SVM), and other machine learning methods.

Industrial Engineering

  • EIN 5930r. Special Topics in Industrial Engineering (1-6).
    Prerequisite: Instructor consent. Topics in industrial engineering with particular emphasis on recent developments. May be repeated to a maximum of 6 credit hours.


  • MAP 5207. Optimization (3).
    Prerequisites: MAC 2313; MAD 3703; MAS 3105. Linear programming, unconstrained optimization, searching strategies, equality and inequality constrained problems.

  • MAD 5420. Numerical Optimization (3).
    Prerequisites: MAC 2313; MAS 3105; C, C++, or Fortran. Unconstrained minimization: one-dimensional, multivariate, including steepest-descent, Newtons method, Quasi-Newton methods, conjugate-gradient methods, and relevant theoretical convergence theorems. Constrained minimization: Kuhn-Tucker theorems, penalty and barrier methods, duality, and augmented Lagrangian methods. Introduction to global minimization.

Mechanical Engineering

  • EML 5311. Design and Analysis of Control Systems (3).
    Prerequisite: MAP 3306. Mathematical modeling of continuous physical systems. Frequency and time domain analysis and design of control systems. State variable representations of physical systems.

  • EML 5317. Advanced Design and Analysis of Control Systems (3).
    Design of advanced control systems (using time and frequency domains) will be emphasized. Implementation of control systems using continuous (operational amplifier) or digital (microprocessor) techniques will be addressed and practiced.

  • EML 5361. Multivariable Control (3).
    Prerequisite: EML 4312 or 5311. Course covers H(sub 2) and  H(sub infinity) control design for linear systems with multiple inputs and multiple outputs and globally optimal techniques, fixed-structure (e.g., reduced-order) techniques. It introduces concepts in robust control.  It covers model predictive control, including newer sampling methods that have had success with nonlinear problems.

  • EML 5802. Introduction to Robotics (3).
    Prerequisite: Graduate standing in mechanical engineering. A study of the fundamentals of robot operation and application including: basic elements, robot actuators and servo-control, sensors, senses, vision, voice, microprocessor system design and computers, kinematic equations, and motion trajectories.

  • EGM 5444. Advanced Dynamics (3).
    Prerequisites: EGN 3321; EML 3220; MAP 3306. Topics include particle and rigid body kinematics, particle and rigid body kinetics, D'Alembert Principle, Lagranges equations of motion, system stability, computational techniques, orbital dynamics, multi-body dynamics.

  • EML 5930. Vehicle Design (3).
    Prerequisites: EML3014C, EML3018C. This is an introductory course in vehicle design concentrating primarily on vehicle dynamics. In particular it examines the primary features of vehicle design that relate to performance: suspension, steering, chassis, and tires. It uses the latest in industry standard software to examine the various design parameters influencing vehicle performance and handling.

  • EML 4840/5841. Multivariable Control (3).
    Prerequisite: Graduate standing or instructor's approval. Analytical dynamic modeling and dynamic simulation of mobile robots; mobile robot sensors; basic methods of computer vision; Kalman filtering and mobile robot localization; basic concepts of mapping; path planning and obstacle avoidance; intelligent control architectures.

  • EML 5831. Introduction to Mobile Robotics (3)
    Prerequisite: Graduate standing. This course examines analytical dynamic modeling and dynamic simulation of mobile robots, mobile robot sensors, basic computer vision methods, Kalman filtering and mobile robot localization, basic mapping concepts, path planning and obstacle avoidance, and intelligent-control architectures.

  • EML 5930. Biorobotic Locomotion (3). 
    Prerequisite: EML 3014C Dynamic Systems II.  This course introduces the fundamental concepts for biological and robotic locomotion with limbs.  Muscular-skeletal biomechanics for vertebrate and invertebrate animals are briefly reviewed including an overview of the function of muscles. Morphology, gaits, posture, and the effect of scale on legged locomotion are discussed. The history of legged robots is reviewed. Reduced-order dynamic models of walking and running are introduced.  Techniques for analyzing the stability of these periodic hybrid-dynamic systems are covered.  The course includes the development of simulation and hardware platforms of locomotion systems.

  • EML 5930. Advanced Mechatronics (3). 
    Prerequisite: Mechatronics II. This class focuses on developing greater competence in the application of electro-mechanical components to solve engineering problems and build ‘smart’ systems.  The focus is on the design interplay between electrical and mechanical systems. Microprocessors, circuits, sensors, and actuators will be used in both labs and projects to develop multi-purpose electro-mechanical devices.  The class provides instruction and practical exercises in: programming, electronics, signal conditioning, communication protocols, mechanical design, prototyping techniques, and system integration.

  • EML 5930. Mechatronics in Art (3). 
    Prerequisite (one of the following): EML 4/5930 Mechatronic Design; ART 4928C Mechatronic Art I; special permission from an instructor. Mechatronic Art II is an interdisciplinary course that provides art students and mechanical engineering students an opportunity to collaboratively create and exhibit works of art and design that draw from the techniques and materials of mechatronics. These works will take the form of interactive, responsive, electronic, and electromechanical objects and installations. The structure of the course promotes hands­on experiential learning, cross­disciplinary interaction, and group projects that combine formal engineering processes and artistic practices. The students' work will culminate in an exhibition at the Challenger Learning Center.