Computer Engineering

  • Master of Science in Computer Engineering

Guru Subramanyam, Department Chairperson

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:

ECE 500Introduction to the Graduate Program in Electrical and Computer Engineering0
ECE courses:6
Contemporary Digital Systems
Embedded Systems
Computer Design
CPS course:3
System Analysis
Operating Systems I
Data Communications
Concentration Area: 19-12
Communications and Networking
Digital Signal Processing
Adv Engr Software
Computer Networking
Operating Systems & Computer Architecture
Microprocessor Applications
Advanced Computer Architecture
Systems Programming
Software Engineering
Adv Engr Software
Object-Oriented Programming Applications
System Design
Advanced Concepts of Programming Languages
Database Management Systems
Embedded Systems
CMOS Analog Circuit Design
Microprocessor Applications
Technical electives: 26-9
Thesis Option: 36
Academic Experience Option 4
Total Hours30

At least 12 semester hours are required in the concentration area for the non-thesis option. 


 At least 9 semester hours of technical electives are required for the non-thesis option.


 Students receiving 50% assistantship/stipend over one academic year or more will be required to pursue the thesis option. 


Options for a successful completion of a:

  1. Master's Thesis or
  2.  a non-thesis research of design project, including submission of a written report and a seminar presentation or
  3. 6 approved credit hours requiring extensive project-based learning.

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

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

CPS 512. System Design. 3 Hours

Principles of design, introduction to software design methodologies; issues in transition from analysis to logical and physical designs; detailed discussion of structured design methodology (Yourdon, Constantine, Myers); design guidelines; transform analysis; Warnier/Orr design methodologies; designing methodologies for real-time systems; introduction to object-oriented design; CASE tools and code generators. Prerequisite(s): CPS 510.

CPS 518. Software Engineering. 3 Hours

No description available.

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. Prerequisite(s): CPS 350, CPS 510.

CPS 522. Software Project Management. 3 Hours

Cost and effort estimation models for software projects, planning techniques, productivity metrics, risk management, maintenance, reuse, quality assurance, configuration management, Capability Maturity Models (CMM and P-CMM), and ISO 9001. Prerequisite(s): CPS 510 or CPS 518 or CPS 520.

CPS 530. Algorith 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(s): CPS 350.

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(s): CPS 350.

CPS 536. Operating Systems I. 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(s): CPS 350.

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(s): CPS 350.

CPS 543. Advanced Concepts of Programming Languages. 3 Hours

This course involves the study of advanced programming language concepts and paradigms. Possible topics, covered at the discretion of the instructor, include metalinguistic abstraction and macros, fixed-point combinators, reflection and meta-object protocols, and generative and aspect-oriented programming with emphasis on applying these concepts in practical application domains. Prerequisite(s): CPS 352.

CPS 544. Systems Programming. 3 Hours

Analysis of compilers and their construction; programming techniques discussed in the current literature; advanced computer applications in both mathematical and nonnumeric areas. Prerequisite(s): CPS 350.

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. Prerequisite(s): CPS 350; programming ability in a procedure-oriented language.

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(s): CPS 350.

CPS 562. Database Management Systems II. 3 Hours

Study of query execution and optimization, transaction management, concurrency control, recovery and security techniques. Advanced data models and emerging trends in database systems, like object-oriented database systems, distributed database systems, client-server architecture, multidatabase and heterogeneous systems. Other current database topics and emerging technologies will be discussed. Prerequisite(s): CPS 542.

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(s): CPS 350.

CPS 570. Data Communications. 3 Hours

The study of networks of interacting computers. The analysis of distributed processing and distributed databases. Prerequisite(s): CPS 350.

CPS 572. Computer Networking. 3 Hours

A unified view of the broad field of local area and long haul networks. A survey of the state of the art. Topics covered include networking theory, design approaches, standards, topologies and protocols. Prerequisite(s): CPS 536, CPS 570.

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 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(s): CPS 350.

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(s): CPS 528.

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(s): CPS 501.

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


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.

ECE 501. Contemporary Digital Systems. 3 Hours

Introduction to sequential logic; state machines; high-performance digital systems: theory and application of modern design; alternative implementation forms and introduction to HDL; productivity, recurring and non-recurring costs, flexibility, and testability; software drivers; hardware/software integration; finite state machines. Required background: ECE 215 or equivalent.

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 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 515. Engineering Magnetic Materials & Their Function in Green Energy. 3 Hours

Magnetic fundamentals including spontaneous magnetization; advanced magnetic materials, computer modeling of magnetic circuits using 2D/3D finite element analysis. Applications of magnetic materials in electric machines. Prerequisite(s): MAT 501; college physics or permission of instructor.

ECE 518. Electromagnetic Fields II. 3 Hours

Classification and construction of solutions. Plane cylindrical and spherical wave functions. Integral equations, mathematical theory of diffraction. Green's function. Prerequisite(s): ECE 507.

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 522. Digital Communications II. 3 Hours

Fundamentals of source coding and compression, Shannon's Theorem, Huffman coding; sysem synchronization; equalization techniques; multiplexing and multiple access systems; spread-spectrum systems and their applications; pseudo-noise, direct sequence systems, frequency hopping, jamming; encryption and decryption systems. Prerequisite(s): ECE 521.

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. Prerequisite(s): ECE 507 or permission of instructor.

ECE 531. Microelectronics Systems. 3 Hours

Introduction to the design and application of engineering micro-electronics; bipolar and MOS device theory and processing technology; CMOS logic and circuitry; design principles fundamental to chip design and fabrication; case studies employing introduction to HDL. 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. Prerequisite(s): ECE 501 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 microengine; hardware and micro-programmed control design; comparative architectures. Required background: ECE 501 or equivalent.

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.

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 for this course is Cprogramming experience.

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 loopshaping, performance bounds and other introductory aspects of robust control. The required background for this course is ECE 415 or equivalent. :.

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. Prerequisite(s): ECE 509 or permission of instructor.

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

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. However, accommodations will be made for students with experience in only one of these areas. Prerequisite(s): ECE 538, ECE 563, or permission of instructor.

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: ECE 445 or equivalent.

ECE 572. Linear Systems & Fourier Optics. 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. Prerequisite(s): Acceptance into the ECE graduate program or permission of the department chairperson.

ECE 573. Electro-Optical Devices & Systems. 3 Hours

Solid-state theory of optoelectronic devices; photoemitters; photodetectors; solar cells; detection and noise; displays; electro-optic, magneto-optic, and acousto-optic modulators; integration and application of electro-optical components in electro-optical systems of various types. Prerequisite(s): ECE 507 or permission of department chairperson.

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. Prerequisite(s): ECE 507 or permission of department chairperson.

ECE 575. Electro-Optic Sensors. 3 Hours

Optical sensors, including amplitude, phase, wavelength, polarization and modal interference based sensors. Photoelasticity effects in stressed optical materials. Quadrature point stabilization, linearity, dynamic range and sensitivity. Modulation and demodulation by both passive and active means. General sensor characteristics. Optical sources and detectors, optical signal-to-noise ratio analysis and general sensor characteristics. Fiber optic sensors and smart skin/structure technology. Prerequisite(s): ECE 574 or permission of department chairperson.

ECE 577L. Electro-Optics Laboratory. 1 Hour

Fiber optic principles and systems: numerical aperture, loss, dispersion, single and multimode fibers, communications and sensing systems; project oriented investigations of Electro/fiber-optic systems and devices in general, sources, detectors, image processing, sensor instrumentation and integration, Electro-optic components, display technology, and nonlinear optical devices and systems. Prerequisite(s): ECE 574 or permission of department chairperson.

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. Prerequisite(s): ECE 506 or permission of instructor.

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. Prerequisite(s): ECE 506 or permission of instructor.

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

Particular assignments to be arranged and approved by the department chair.

ECE 599. Thesis. 1-6 Hours

Thesis in Electrical and Computer Engineering.

ECE 632. Contemporary Microelectron Design. 3 Hours

CMOS analog circuit design (oscillators, amplifiers, op-amps), mixed signal design (data converters), introduction to microelectron-mechanical system (MEMS) and wireless communications systems design, advanced VLSI digital design projects, seminar topics covering contemporary designs and techniques. Prerequisite(s): ECE 531.

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

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 Minimum Principle and its application to the linear case, leading to linear optimal control. Prerequisite(s): ECE 509 or permission of instruction.

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. Prerequisite(s): ECE 547 or permission of instructor.

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. Prerequisite(s): ECE 503, ECE 505.

ECE 662. Adaptive Signal Processing. 3 Hours

An overview of the theory, design, and implementation of adaptive signal processors. This includes discussions of various gradient search techniques, filter structures, and applications. An introduction to neural networks is also included. Prerequisite(s): ECE 661.

ECE 663. Statistical Pattern Recognition. 3 Hours

This course provides a comprehensive treatment of the statistical pattern recognition problem. The mathematical models describing these problems and the mathematical tools necessary for solving them are covered in detail. Prerequisite(s): ECE 661.

ECE 674. Integrated Optics. 3 Hours

Asymmetric dielectric slab wave-guides; cylindrical wave-guides; multi-layer wave-guides; dispersion, shifting and flattening; mode coupling and loss mechanisms; selected nonlinear wave-guiding effects; integrated optical devices. Prerequisite(s): ECE 574.

ECE 676. Quantum Electronics. 3 Hours

Principles of the quantum theory of electron and photon processes; interaction of electromagnetic radiation and matter; applications to solid state and semiconductor laser systems. Prerequisite(s): ECE 506, EOP 506/ECE 573 or equivalent.

ECE 682. Nano-Fabrication Laboratory. 3 Hours

This laboratory course will provide hands-on experience in state-of-the-art device fabrication technology. The course will be conducted primarily in a clean room laboratory with some classroom sessions for discussions. The students will have an opportunity to design, fabricate and test their own devices. Prerequisite(s): 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.