MSE in Computer Engineering

Students applying for the master’s program in computer engineering are expected to have an undergraduate background in computer engineering. All entering students must demonstrate knowledge of the material covered in the foundation requirements described below.

Foundation Courses

  • EE 315: Introduction to Electronic Analysis and Design
  • CS 317: Introduction to Design and Analysis of Algorithms
  • CPE 434/534 or CS 490: Operating Systems
  • CPE 323: Intro to Embedded Computer Systems
  • CPE 431/CPE 531: Introduction to Computer Architecture
  • EE 385: Random Signals and Noise, or ISE 390: Probability and Statistics

More Information

An entering student can demonstrate knowledge of the material in one of the following ways: completing the courses at UAH, completing similar courses at another institution, or evidence based on employment experience. A student may be required to successfully pass a placement exam to demonstrate their knowledge of the material. CPE 534 and CPE 531 may be applied towards a student’s graduate program under the following conditions:

  • The student has completed the foundation courses at UAH as a part of their graduate program. The student is enrolled in Plan II (non-thesis) MSE in the CPE program.
  • Note: Any course taken during an undergraduate program and applied to the undergraduate degree cannot be used for a graduate degree program.

Coursework requirements for MSE Degree Programs in Computer Engineering

In addition to the department coursework requirements for the MSE degree, the MSE degree in Computer Engineering has the following coursework requirements for I) math minor, II) CPE core courses, III) engineering minor, and IV) thesis (Plan I students) or supporting courses (Plan II students).

I. Math Minor

Students must complete an approved 2-course sequence with mathematical or theoretical foundation for Computer Engineering graduate studies. The courses must be approved by the student’s academic advisor.

Recommended Course Sequences

  • MA540: Combinatorial Enumeration MA640: Graph Theory
  • MA585 Probability CPE 619: Modeling and Analysis of Computer and Communication Systems
  • MA640: Graph Theory MA740: Combinatorial Algorithms
  • EE 629: Analytical and Computational Methods in Electrical Engineering I, and EE 630: Analytical ... II
    Computational Methods in EE II Methods in EE I
  • CS 524: Programming Languages
  • CS 603: Formal Languages and Development Automata Theory

II. CPE Core

Students must complete all of the following courses. Students who have completed these or similar courses elsewhere may request course substitutions. All substitutions must be approved by the student’s academic advisor.

  • CPE 512: Introduction to Parallel Programming
  • CPE 526: VLSI Design Using Hardware Description Languages, Modeling, and Synthesis
  • CPE 631: Advanced Computer Systems Architecture

III. Engineering Minor

Students must select an approved 2-course sequence from one of the following areas of specialization or from an approved engineering department. At least one should be at 600 level. The selected courses must be approved by the student’s academic advisor.


  • Real-Time and Embedded Systems
  • Parallel/Distributed and Cloud-enabled Computing
  • System Software (Operating Systems, Translation Methods and Compilers)
  • Computer Organization and Architecture
  • Software Safety and Security
  • Reconfigurable Hardware and VLSI Systems
  • Computer Communications and Networks

IV. Thesis or Supporting Courses

For Plan I, one more course is required preferably at the 600 level, and the student must complete a thesis.
For Plan II, Student must select 4 additional supporting courses, including the ECE capstone course EE 693. At least 2 must be at 600 level. A student may complete CPE 695: Projects in Computer Engineering as one of the courses. All courses must be approved by the student’s academic advisor