Course Requirements

The Computer Engineering MS and Certificate Programs define four core courses, from the published list below, which must be taken to complete the program. Because computer engineering which, as a field, combines expertise in computer architecture, computer software and computer networking, students must take at least one core course in each of these three areas. A list of core courses will be included in the ECE and CS graduate handbook every year and also on this website.

Computer Engineering Core Courses

  • EE 103 Introduction to VLSI Design (4 SHUs)
  • EE 120 Computer Animation for Technical Communications (3 SHUs)
  • EE 126 Computer Engineering w/ Lab [Computer Architecture] (4 SHUs)
  • EE 127 Information Theory (3 SHUs)
  • EE 128 Operating Systems [Computer Software/Systems] (3 SHUs)
  • EE 129 Computer Communication Networks [Computer Networks] (3 SHUs)
  • EE 155 Parallel Computing [Computer Architecture] (3 SHUs)
  • EE 156 Advanced Topics in Computer Architecture [Computer Architecture] (3 SHUs)
  • EE 200 Programming, Data Structures, and Algorithms in C++ [Computer Software/Systems] (3 SHUs)
  • EE 201 Fundamentals of Computer Systems and Engineering [Computer Architecture] (3 SHUs)
  • COMP 111 Operating Systems [Computer Software/Systems] [Cross-listed with EE128] (3 SHUs)
  • COMP 112 Networks [Computer Networks] (3 SHUs)
  • COMP 115 Database Systems [Computer Software/Systems] (3 SHUs)
  • COMP 116 Computer Systems Security [Computer Software/Systems] (3 SHUs)
  • COMP 135 Intro to Machine Learning (3 SHUs)
  • COMP 140 Advanced Computer Architecture [Computer Architecture] [Cross-listed with EE 156] (3 SHUs)
  • COMP 160 Algorithms (4 SHUs)
  • COMP 163 Cryptography (3 SHUs)
  • COMP 181 Compilers [Computer Software/Systems] (3 SHUs)

Recent Special Topics Courses that were Designated Computer Engineering Core Courses

  • EE 193 Special Topics: Software Engineering [Computer Software/Systems] <2018> (3 SHUs)
  • EE 193 Parallel Computing [Computer Architecture] <2017> (now EE 155) (3 SHUs)
  • EE 194 Advanced VLSI <2018> (3 SHUs)
  • EE 194 Advanced Computer Architecture [Computer Architecture] <2018, 2016> (now EE 156) (3 SHUs)
  • EE 194 Mobile Medical Devices and Applications [Computer Software/Systems] <2018> (3 SHUs)
  • EE 194 MITRE eCTF <2018, 2017, 2016> (3 SHUs)
  • EE 194 VLSI CAD Algorithms <2017> (3 SHUs)
  • EE 193 Intro to Internet of Things (IoT) [Computer Networking][Computer Software/Systems] <2016> (3 SHUs)

Description of Bridge Courses

For students whose undergraduate preparation did not cover core computer engineering material, we recommend taking one or both of the following bridge courses. Please talk to your advisor for details. Only one bridge course can count as one of the four computer engineering core courses.

EE200: A Machine-Centric Approach to Programming, Data Structures and Algorithms (3 SHUs)
Programming in C and C++ with coverage of data structures (linked lists, binary trees, hash tables, graphs), abstract data types (stacks, queues, maps, sets) and algorithms (sorting, graph search, minimal spanning tree). Efficiency of these structures and algorithms is compared via Big-O analysis. Brief coverage of concurrent (multi-threaded) programming. Object-oriented design: inheritance, templates and virtual methods. Emphasis is placed on embedded, high-performance and close-to-hardware applications. We also stress defensive coding and use of standard UNIX development tools. This course will give students the background necessary for advanced courses and project work in computer engineering.

Requirements: graduate status

EE201: Fundamentals of Computer Systems and Engineering (3 SHUs)
Fundamentals of digital systems and computer architecture for master's students whose undergraduate background did not cover this material. Topics covered include digital logic, assembly programming, computer architecture, memory hierarchies and technologies, IO, hardware implementation in VHDL, operating systems and networking. Analysis and hands-on implementation of complex digital systems.

Requirements: graduate status. EE201 and EE126 cannot both be taken for credit.