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 CPE 112 : Introduction to Computer Programming in Engineering CPE 212 : Fundamentals of Software Engineering CS 317: Introduction to Design and Analysis of Algorithms EE 202 : Introduction to Digital Logic Design EE 315: Introduction to Electronic Analysis and Design CPE 323: Intro to Embedded Computer Systems CPE 431/CPE 531: Introduction to Computer Architecture 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. Up to 3 credit hours from CPE 531, or EE 500 may be applied towards a student's graduate program if: (1) The student has completed the foundation courses at UAH as a part of their graduate program and 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. Commonly Approved Math Foundation Course Sequences MA540 Combinatorial Enumeration and MA640 Graph Theory MA585 Probability and CPE 619 Modeling and Analysis of Computer and Communication Systems MA640 Graph Theory and MA740 Combinatorial Algorithms EE 629 and EE 630 Analytical and Computational Methods in Electrical Engineering I and II MA 508 Applied Linear Algebra and CPE 645 Computer Network Security 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. AREAS OF SPECIALIZATION 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 Cybersecurity 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. As a part of completing a thesis, students must register for at least 6 hours of CPE 699: Master's 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 thecourses. All courses must be approved by the student's academic advisor.