MS in Computer Engineering

The College of Engineering is no longer admitting students to the MS in Computer Engineering. This degree can only be attained by students enrolled in the PhD in Computer Engineering program as progress toward their degree. Students who are continuing in this program should note the following degree requirements.

The Master of Science (MS) program in Computer Engineering is designed to prepare students for technically demanding careers in industry as well as for post-master’s graduate studies in computer engineering or related fields. More specifically:

  • It requires students to build depth in a computer engineering specialization, selected from areas such as hardware and computer architecture, computer communications and networks, and software.
  • It requires students to take at least 4 units of an ECE course at the 700 level.
  • It affords students the opportunity to flexibly choose graduate electives to explore technical or professional interests within engineering.
  • It has a practicum requirement that is satisfied by doing a 4-unit thesis, a 4-unit project, or taking two project-intensive courses.

Admission to the MS in Computer Engineering program is based on the same academic standards as the MEng in Computer Engineering with regard to standardized tests, undergraduate GPA, and undergraduate coursework preparation.

Curriculum

The MS curriculum in computer engineering requires completion of 32 graduate-level units, while satisfying a specialization requirement and a practicum requirement. The remaining units can be selected from a broad range of graduate electives. The units of a course can only be used to fulfill the MS requirements if the student receives a grade of C or better in the course. Students should also maintain a cumulative GPA of 3.0 across all graduate-level courses taken while enrolled in the MS program.

The specialization requirement is met by taking four structured graduate courses from a specialization. Students with appropriate prerequisites may petition to use two 700-level courses to meet the specialization requirement.

The graduate electives can be electrical & computer engineering (ECE) graduate courses, non-ECE College of Engineering graduate courses, or College of Arts & Sciences graduate courses in scientific/technical areas. Graduate electives may include at most 8 units of courses at the 9XX level.

The MS program in electrical engineering also requires at least one 4-unit ECE course at the 700 level.

MS Specialization Areas in Computer Engineering

The course listings for the various MS specialization areas in computer engineering are given below. Please consult the ECE department for the most current updates to these listings.

Hardware and Computer Architecture

  • ENG EC 513 Computer Architecture
  • ENG EC 527 High-Performance Programming with Multicore and GPUs
  • ENG EC 535 Introduction to Embedded Systems
  • ENG EC 551 Advanced Digital Design with Verilog and FPGA
  • ENG EC 561 Error-Control Codes
  • ENG EC 571 VLSI Principles and Applications
  • ENG EC 580 Modern Active Circuit Design
  • ENG EC 582 RF/Analog IC Design Fundamentals
  • ENG EC 713 Parallel Computer Architecture
  • ENG EC 749 Interconnection Networks for Multicomputers
  • ENG EC 752 Theory of Computer Hardware Testing
  • ENG EC 753 Fault-Tolerant Computing
  • ENG EC 757 Advanced Microprocessor Design
  • ENG EC 772 VLSI Graduate Design Project
  • ENG EC 782 RF/Analog IC Design

Computer Communications and Networks

  • ENG EC 505 Stochastic Processes
  • ENG EC 508 Wireless Communications
  • ENG EC 515 Digital Communication
  • ENG EC 521 Cybersecurity
  • ENG EC 524/ME 524 Optimization Theory and Methods
  • ENG EC 534 Discrete Stochastic Models
  • ENG EC 541 Computer Communication Networks
  • ENG EC 544 Networking the Physical World
  • ENG EC 561 Error-Control Codes
  • ENG EC 715 Wireless Communications
  • ENG EC 724/ME 724 Advanced Optimization Theory and Methods
  • ENG EC 725/ME 725 Queueing Systems
  • ENG EC 727 Advanced Coding Theory
  • ENG EC 733 Discrete Event and Hybrid Systems
  • ENG EC 741 Randomized Network Algorithms
  • ENG EC 744 Mobile Ad Hoc Networking and Computing
  • ENG EC 749 Interconnection Networks for Multicomputers

Software

  • ENG EC 504 Advanced Data Structures
  • ENG EC 511 Software Systems Design
  • ENG EC 512 Enterprise Client-Server Software Systems Design
  • ENG EC 521 Cybersecurity
  • ENG EC 527 High-Performance Programming with Multicore and GPUs
  • ENG EC 535 Introduction to Embedded Systems
  • ENG EC 544 Networking the Physical World
  • ENG EC 712 Advanced Software for Computer Engineers
  • ENG EC 730 Information-Theoretical Design of Algorithms

Cybersecurity

  • CAS CS 538 Fundamentals of Cryptography
  • CAS CS 548 Advanced Cryptography
  • CAS CS 558 Computer Networks Security
  • ENG EC 504 Advanced Data Structures
  • ENG EC 521 Cybersecurity
  • ENG EC 541 Computer Communication Networks