Computer Engineering Master of Science Degree

The computer engineering master’s degree emphasizes the adoption of design methodology and the application of sophisticated engineering tools to the design and development of computer-integrated systems.


88%

Outcomes Rate of RIT Graduates from this degree

$104.3K

Average First-Year Salary of RIT Graduates from this degree


Overview for Computer Engineering MS

Why Study Computer Engineering at RIT?


  • STEM-OPT Visa Eligible: The STEM Optional Practical Training (OPT) program allows full-time, on-campus international students on an F-1 student visa to stay and work in the U.S. for up to three years after graduation.

  • Five Dynamic Research Tracks: These tracks include: computer architecture; computer vision and machine intelligence; integrated circuits and systems; networks and security; or signal processing, control, and embedded systems.

  • Flexible Core Clusters: Choose one course from each of the following core clusters: Computer Architecture and Digital Design; Computing, Communications and Algorithms.
    Hands-On Problem Solving: Your choice of a graduate project or thesis research to round out your master's degree.

The master's in computer engineering focuses on the design and development of computer and computer-integrated systems, with consideration of such engineering factors as function, performance, security, and sustainability. Computer engineers design and build these systems to meet application and system requirements with attention to the hardware-software interaction. The program emphasizes the careful adoption of design methodology and the application of sophisticated engineering tools. The intensive programming and laboratory work requirements ensure significant, high-level, specialized knowledge and experience with modern facilities and state-of-the-art design tools.

RIT’s Computer Engineering Master’s Degree

The MS in computer engineering provides you with a high level of specialized knowledge in computer engineering. You'll strengthen your ability to successfully formulate solutions to current technical problems while gaining significant independent learning experience that can prepare you for further graduate study or continuing professional development at the leading edge of the field. The master's degree in computer engineering accommodates applicants with undergraduate degrees in computer engineering or related programs such as electrical engineering or computer science. Some additional bridge courses may be required for applicants with undergraduate degrees outside of computer engineering.

The degree consists of a required course, flexible core courses, graduate electives, graduate seminar, and your choice of a thesis research or a graduate project. 

Flexible Core: You will choose one course from each of the following core clusters, with your faculty advisor’s guidance.

  • Computer Architecture and Digital Design
  • Computing, Communications and Algorithms

Graduate Electives: With advisor and department approval, you may request to take graduate courses outside of the department. The graduate electives are selected among the available research tracks. You are encouraged to choose most of your graduate electives within a single track, by consulting with your advisor. You must take a minimum of two electives from the department of computer engineering.

Thesis Research: Thesis research is an independent investigation of a research problem that contributes to the state of the art. Students who pursue the thesis option seek to answer a fundamental science/engineering question that contributes new knowledge in the field. You are expected to formulate the problem under a faculty advisor’s guidance and conduct extensive quantitative or qualitative analyses with sound methodology. A thesis committee will guide your research activities. Your findings are expected to be repeatable and generalizable, with sufficient quality to make them publishable in technical conferences and/or journals. For detailed information on thesis research timeline and requirements, please refer to Computer Engineering Thesis Research.

Graduate Project: The graduate project is a scholarly undertaking that addresses a current technical problem with tangible outcomes. The project generally addresses an immediate and practical problem, a scholarly undertaking that can have tangible outcomes. Examples of typical projects include implementing, testing, and evaluating a software and/or hardware system or conducting a comprehensive literature review with a comparative study. You are expected to give a presentation or demonstration of the final deliverables of your project. For detailed information on a graduate project timeline and requirements, please refer to Computer Engineering Graduate Project.

Master's in Computer Engineering Research Tracks

You are encouraged to choose most of your graduate electives within a single research track by consulting with your advisor. You may take relevant courses from other academic programs, including electrical engineering, computer science, and software engineering, to support a specific research focus. The following research tracks are available:

  • Computer Architecture–Computer architecture area deals with hardware resource management, instruction set architectures and their close connection with the underlying hardware, and the interconnection and communication of those hardware components. Some of the current computer architecture challenges that are being tackled in the computer engineering department include energy-efficient architectures, high-performance architectures, graphic processing units (GPUs), reconfigurable hardware, chip multiprocessors, and Networks-on-Chips.
  • Computer Vision and Machine Intelligence–Visual information is ubiquitous and ever more important for applications such as robotics, health care, human-computer interaction, biometrics, surveillance, games, entertainment, transportation, and commerce. Computer vision focuses on extracting information from image and video data for modeling, interpretation, detection, tracking, and recognition. Machine Intelligence methods deal with human-machine interaction, artificial intelligence, agent reasoning, and robotics. Algorithm development for these areas spans image processing, pattern recognition and machine learning, and is intimately related to system design and hardware implementations.
  • Integrated Circuits and Systems–Modern processors demand high computational density, small form factors, and low energy dissipation with extremely high-performance demands. This is enabled by the nanoscale and heterogeneous integration of transistors and other emerging devices at the massive-scale. Such nanocomputers will open unimaginable opportunities as well as challenges to computer engineers. This research focuses on designing computers with emerging novel technologies in the presence of severe physical constraints; investigating dynamic reconfigurability to exploit the power of nano-scale electronics for building reliable computing systems; and studying the applicability of emerging technologies to address challenges in computing hardware of the future.
  • Networks and Security–The prevalence of interconnected computing, sensing, and actuating devices has formed our way of life. Ubiquitous access to data using/from these devices with reliable performance as well as presents exciting challenges for engineers and scientists. Being resilient to environmental uncertainty, system failures, and cyber-attacks requires advances in hardware, software, and networking techniques. This research track focuses on intelligent wireless and sensor networks, cryptographic engineering, and predictive cyber situation awareness.
  • Signal Processing, Control, and Embedded Systems–This research area is concerned with algorithms and devices used at the core of systems that interact with our physical world. As such, this area considers the sensing, analysis and modeling of dynamic systems with the intent of measuring information about a system, communicating this information and processing it to adapt its behavior. Application areas are robust feedback-based control where uncertainty in the dynamics and environment must be considered during the design process and signal processing algorithms and devices for system sensing and adaptation.
Loading...

Careers and Cooperative Education

Typical Job Titles

Computer Engineer Data Scientist Embedded Systems Software Developer
Product Developer Engineer Computer Vision Engineer Hardware Design Engineer
Machine Learning Engineer

Post-Graduation Salary and Career Info for Computer Engineering MS

Cooperative Education

What makes an RIT education exceptional? It’s the opportunity to complete relevant, hands-on engineering co-ops and internships with top companies in every single industry. At the graduate level, and paired with an advanced degree, cooperative education and internships give you the unparalleled credentials that truly set you apart. Learn more about graduate co-op and how it provides you with the career experience employers look for in their next top hires.

Cooperative education is optional but strongly encouraged for graduate students in the computer engineering master’s program.

Featured Work and Profiles

Curriculum for 2024-2025 for Computer Engineering MS

Current Students: See Curriculum Requirements

Computer Engineering (thesis option), MS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
CMPE-610
Analytical Topics in Computer Engineering
This course begins by reviewing signal and system analysis techniques for analyzing linear systems. It includes Fourier techniques and moves on to present fundamental computational techniques appropriate for a number of applications areas of computer engineering. Other topics include symbolic logic and optimization techniques. (Prerequisites: CMPE-480 and (MATH-251 or 1016-345) or graduate standing in the CMPE-MS program.) Lecture 3 (Fall, Spring).
3
CMPE-795
Graduate Seminar
The graduate seminar prepares graduate students to effectively conduct their thesis research and expose them to current research in various areas of computer engineering. Current literature topics are reviewed through interactive presentations and discussions. (This class is restricted to students in the CMPE-MS, CMPE-BS/MS program.) Seminar (Fall, Spring).
0
Choose one of the following flexible core courses:
3
   CMPE-630
 Digital Integrated Circuit Design
This course will cover the basic theory and techniques of Digital Integrated Circuit Design in CMOS technology. Topics include CMOS transistor theory and operation, design and implementation of CMOS circuits, fabrication process, layout and physical design, delay and power models, static and dynamic logic families, testing and verification, memory and nanoscale technologies. Laboratory assignments and project facilitate in hands-on learning of circuit-level design and simulation, layout and parasitic extractions, pre and post-layout verification and validation, full-custom flow and Synthesis based flow, using industry standard CAD tools. (Prerequisites: CMPE-260 and EEEE-282 and (EEEE-380 or EEEE-381) or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
 
   CMPE-660
 Reconfigurable Computing
The objective of this course is to present the foundations of reconfigurable computing methodologies from both hardware and software perspectives. Topics covered are: architectures of modern field programmable gate arrays (FPGAs), digital system design methodologies using FPGAs, hardware-software co-design with embedded processors, hardware optimization techniques, system level integration under operating system, dynamic reconfiguration. Laboratory projects in which students will acquire a solid capability of Xilinx CAD tools and FPGA devices are required. The projects include the whole design flow: design of the system, VHDL modeling, software and hardware development, FPGA verification. (Prerequisites: CMPE-260 or equivalent course or graduate standing in the CMPE-MS program.) Studio 3 (Fall).
 
   CMPE-755
 High Performance Architectures
This course will focus on learning and understanding the available hardware options to satisfy the needs of high performance and computational intensive applications. Special attention will be paid to single platform massively parallel devices, their programming and efficient use of the hardware resources. The course will include hands on work with the actual device, lab work, and technical reports and conference paper reading as a relevant source information. (Prerequisite: CMPE-350 or equivalent course or graduate standing in the CMPE-MS program.) Lecture 3 (Fall).
 
Choose one of the following flexible core courses:
3
   CMPE-655
 Multiple Processor Systems
The course introduces basic concepts of parallel and high-performance computing and current methodologies and trends in the design and programming of multiprocessor systems. Theoretical models of parallel computing and performance metrics are studied and contrasted with practical parallel system architectures, programming environments, and benchmarking techniques. Parallel architectures are classified according to mode and degree of parallelism, memory organization, and type and typology of interconnection networks used in the design. The suitability of various architectures in meeting demands is studied in depth including the study of representative examples of current commercial machines. Students will complete programming assignments on a parallel computer illustrating practical issues. A review and analysis of a commercial parallel processor system or an active research area is required; written review presented in class. (Prerequisite: CMPE-550 or equivalent course or graduate standing in the CMPE-MS program.) Lecture 3 (Fall, Spring).
 
   CMPE-670
 Data and Communication Networks
This course gives an overview of the technologies, architectures, and protocols used to build various types of computer and communication networks. The course emphasizes various network design problems and solution approaches. Specific issues covered include framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling, and switching. (Prerequisites: CMPE-380 and MATH-251 or equivalent courses or graduate standing in the CMPE-MS program.) Lecture 3 (Fall, Spring).
 
   CMPE-677
 Machine Intelligence
Machine intelligence teaches devices how to learn a task without explicitly programming them how to do it. Example applications include voice recognition, automatic route planning, recommender systems, medical diagnosis, robot control, and even Web searches. This course covers an overview of machine learning topics with a computer engineering influence. Includes Matlab programming. Course topics include unsupervised and supervised methods, regression vs. classification, principal component analysis vs. manifold learning, feature selection and normalization, and multiple classification methods (logistic regression, regression trees, Bayes nets, support vector machines, artificial neutral networks, sparse representations, and deep learning). (Prerequisites: CMPE-380 and CMPE-480 and MATH-251 or graduate standing in the CMPE-MS, CMPE-BS/MS program.) Lecture 3 (Fall).
 
 
Graduate Electives*
9
Second Year
CMPE-790
Thesis
Thesis research investigates an independent problem to demonstrate professional maturity. A formal written thesis and an oral defense are required. The student must obtain the approval of an appropriate faculty adviser to guide the thesis before registering. (Enrollment in this course requires permission from the department offering the course.) Thesis (Fall, Spring, Summer).
9
 
Graduate Elective
3
Total Semester Credit Hours
30

* At least two graduate electives must come from the computer engineering department.

Computer Engineering (project option), MS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
CMPE-610
Analytical Topics in Computer Engineering
This course begins by reviewing signal and system analysis techniques for analyzing linear systems. It includes Fourier techniques and moves on to present fundamental computational techniques appropriate for a number of applications areas of computer engineering. Other topics include symbolic logic and optimization techniques. (Prerequisites: CMPE-480 and (MATH-251 or 1016-345) or graduate standing in the CMPE-MS program.) Lecture 3 (Fall, Spring).
3
CMPE-795
Graduate Seminar
The graduate seminar prepares graduate students to effectively conduct their thesis research and expose them to current research in various areas of computer engineering. Current literature topics are reviewed through interactive presentations and discussions. (This class is restricted to students in the CMPE-MS, CMPE-BS/MS program.) Seminar (Fall, Spring).
0
Choose one of the following flexible core courses:
3
   CMPE-630
 Digital Integrated Circuit Design
This course will cover the basic theory and techniques of Digital Integrated Circuit Design in CMOS technology. Topics include CMOS transistor theory and operation, design and implementation of CMOS circuits, fabrication process, layout and physical design, delay and power models, static and dynamic logic families, testing and verification, memory and nanoscale technologies. Laboratory assignments and project facilitate in hands-on learning of circuit-level design and simulation, layout and parasitic extractions, pre and post-layout verification and validation, full-custom flow and Synthesis based flow, using industry standard CAD tools. (Prerequisites: CMPE-260 and EEEE-282 and (EEEE-380 or EEEE-381) or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
 
   CMPE-660
 Reconfigurable Computing
The objective of this course is to present the foundations of reconfigurable computing methodologies from both hardware and software perspectives. Topics covered are: architectures of modern field programmable gate arrays (FPGAs), digital system design methodologies using FPGAs, hardware-software co-design with embedded processors, hardware optimization techniques, system level integration under operating system, dynamic reconfiguration. Laboratory projects in which students will acquire a solid capability of Xilinx CAD tools and FPGA devices are required. The projects include the whole design flow: design of the system, VHDL modeling, software and hardware development, FPGA verification. (Prerequisites: CMPE-260 or equivalent course or graduate standing in the CMPE-MS program.) Studio 3 (Fall).
 
   CMPE-755
 High Performance Architectures
This course will focus on learning and understanding the available hardware options to satisfy the needs of high performance and computational intensive applications. Special attention will be paid to single platform massively parallel devices, their programming and efficient use of the hardware resources. The course will include hands on work with the actual device, lab work, and technical reports and conference paper reading as a relevant source information. (Prerequisite: CMPE-350 or equivalent course or graduate standing in the CMPE-MS program.) Lecture 3 (Fall).
 
Choose one of the following flexible core courses:
3
   CMPE-655
 Multiple Processor Systems
The course introduces basic concepts of parallel and high-performance computing and current methodologies and trends in the design and programming of multiprocessor systems. Theoretical models of parallel computing and performance metrics are studied and contrasted with practical parallel system architectures, programming environments, and benchmarking techniques. Parallel architectures are classified according to mode and degree of parallelism, memory organization, and type and typology of interconnection networks used in the design. The suitability of various architectures in meeting demands is studied in depth including the study of representative examples of current commercial machines. Students will complete programming assignments on a parallel computer illustrating practical issues. A review and analysis of a commercial parallel processor system or an active research area is required; written review presented in class. (Prerequisite: CMPE-550 or equivalent course or graduate standing in the CMPE-MS program.) Lecture 3 (Fall, Spring).
 
   CMPE-670
 Data and Communication Networks
This course gives an overview of the technologies, architectures, and protocols used to build various types of computer and communication networks. The course emphasizes various network design problems and solution approaches. Specific issues covered include framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling, and switching. (Prerequisites: CMPE-380 and MATH-251 or equivalent courses or graduate standing in the CMPE-MS program.) Lecture 3 (Fall, Spring).
 
   CMPE-677
 Machine Intelligence
Machine intelligence teaches devices how to learn a task without explicitly programming them how to do it. Example applications include voice recognition, automatic route planning, recommender systems, medical diagnosis, robot control, and even Web searches. This course covers an overview of machine learning topics with a computer engineering influence. Includes Matlab programming. Course topics include unsupervised and supervised methods, regression vs. classification, principal component analysis vs. manifold learning, feature selection and normalization, and multiple classification methods (logistic regression, regression trees, Bayes nets, support vector machines, artificial neutral networks, sparse representations, and deep learning). (Prerequisites: CMPE-380 and CMPE-480 and MATH-251 or graduate standing in the CMPE-MS, CMPE-BS/MS program.) Lecture 3 (Fall).
 
 
Graduate Electives*
9
Second Year
CMPE-792
Graduate Project
Graduate Project is a scholarly undertaking that addresses an immediate and practical problem with tangible outcomes. A formal report, presentation, or demonstration is required. The student must obtain the approval of an appropriate faculty adviser to guide the project before registering. (This class is restricted to students in the CMPE-MS, CMPE-BS/MS program.) Project (Fall, Spring, Summer).
3
 
Project Focus Electives
6
 
Graduate Elective*
3
Total Semester Credit Hours
30

* At least two graduate electives must come from the computer engineering department.

Computer Engineering (comprehensive exam option†), MS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
CMPE-610
Analytical Topics in Computer Engineering
This course begins by reviewing signal and system analysis techniques for analyzing linear systems. It includes Fourier techniques and moves on to present fundamental computational techniques appropriate for a number of applications areas of computer engineering. Other topics include symbolic logic and optimization techniques. (Prerequisites: CMPE-480 and (MATH-251 or 1016-345) or graduate standing in the CMPE-MS program.) Lecture 3 (Fall, Spring).
3
CMPE-795
Graduate Seminar
The graduate seminar prepares graduate students to effectively conduct their thesis research and expose them to current research in various areas of computer engineering. Current literature topics are reviewed through interactive presentations and discussions. (This class is restricted to students in the CMPE-MS, CMPE-BS/MS program.) Seminar (Fall, Spring).
0
   
Primary Flexible Core MS
9
 
Secondary Flexible Core MS
3
 
Graduate Electives*
3
Second Year
 
Graduate Electives*
12
Total Semester Credit Hours
30

* At least three graduate electives must come from the computer engineering department.

† Completing this option requires passing a comprehensive examination.

Students identify a primary flexible core cluster and a secondary flexible core clusters. Students take all courses from the primary cluster and select one course from the secondary cluster.

Flexible Core Cluster I

Computer Architecture and Digital Design
CMPE-630
Digital Integrated Circuit Design
This course will cover the basic theory and techniques of Digital Integrated Circuit Design in CMOS technology. Topics include CMOS transistor theory and operation, design and implementation of CMOS circuits, fabrication process, layout and physical design, delay and power models, static and dynamic logic families, testing and verification, memory and nanoscale technologies. Laboratory assignments and project facilitate in hands-on learning of circuit-level design and simulation, layout and parasitic extractions, pre and post-layout verification and validation, full-custom flow and Synthesis based flow, using industry standard CAD tools. (Prerequisites: CMPE-260 and EEEE-282 and (EEEE-380 or EEEE-381) or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
CMPE-660
Reconfigurable Computing
The objective of this course is to present the foundations of reconfigurable computing methodologies from both hardware and software perspectives. Topics covered are: architectures of modern field programmable gate arrays (FPGAs), digital system design methodologies using FPGAs, hardware-software co-design with embedded processors, hardware optimization techniques, system level integration under operating system, dynamic reconfiguration. Laboratory projects in which students will acquire a solid capability of Xilinx CAD tools and FPGA devices are required. The projects include the whole design flow: design of the system, VHDL modeling, software and hardware development, FPGA verification. (Prerequisites: CMPE-260 or equivalent course or graduate standing in the CMPE-MS program.) Studio 3 (Fall).
CMPE-755
High Performance Architectures
This course will focus on learning and understanding the available hardware options to satisfy the needs of high performance and computational intensive applications. Special attention will be paid to single platform massively parallel devices, their programming and efficient use of the hardware resources. The course will include hands on work with the actual device, lab work, and technical reports and conference paper reading as a relevant source information. (Prerequisite: CMPE-350 or equivalent course or graduate standing in the CMPE-MS program.) Lecture 3 (Fall).

Flexible Core Cluster II

Computing, Communications, & Algorithms
CMPE-655
Multiple Processor Systems
The course introduces basic concepts of parallel and high-performance computing and current methodologies and trends in the design and programming of multiprocessor systems. Theoretical models of parallel computing and performance metrics are studied and contrasted with practical parallel system architectures, programming environments, and benchmarking techniques. Parallel architectures are classified according to mode and degree of parallelism, memory organization, and type and typology of interconnection networks used in the design. The suitability of various architectures in meeting demands is studied in depth including the study of representative examples of current commercial machines. Students will complete programming assignments on a parallel computer illustrating practical issues. A review and analysis of a commercial parallel processor system or an active research area is required; written review presented in class. (Prerequisite: CMPE-550 or equivalent course or graduate standing in the CMPE-MS program.) Lecture 3 (Fall, Spring).
CMPE-670
Data and Communication Networks
This course gives an overview of the technologies, architectures, and protocols used to build various types of computer and communication networks. The course emphasizes various network design problems and solution approaches. Specific issues covered include framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling, and switching. (Prerequisites: CMPE-380 and MATH-251 or equivalent courses or graduate standing in the CMPE-MS program.) Lecture 3 (Fall, Spring).
CMPE-677
Machine Intelligence
Machine intelligence teaches devices how to learn a task without explicitly programming them how to do it. Example applications include voice recognition, automatic route planning, recommender systems, medical diagnosis, robot control, and even Web searches. This course covers an overview of machine learning topics with a computer engineering influence. Includes Matlab programming. Course topics include unsupervised and supervised methods, regression vs. classification, principal component analysis vs. manifold learning, feature selection and normalization, and multiple classification methods (logistic regression, regression trees, Bayes nets, support vector machines, artificial neutral networks, sparse representations, and deep learning). (Prerequisites: CMPE-380 and CMPE-480 and MATH-251 or graduate standing in the CMPE-MS, CMPE-BS/MS program.) Lecture 3 (Fall).

Students are also interested in

Admissions and Financial Aid

This program is available on-campus only.

Offered Admit Term(s) Application Deadline STEM Designated
Full‑time Fall or Spring Rolling Yes
Part‑time Fall or Spring Rolling No

Full-time study is 9+ semester credit hours. Part-time study is 1‑8 semester credit hours. International students requiring a visa to study at the RIT Rochester campus must study full‑time.

Application Details

To be considered for admission to the Computer Engineering MS program, candidates must fulfill the following requirements:

English Language Test Scores

International applicants whose native language is not English must submit one of the following official English language test scores. Some international applicants may be considered for an English test requirement waiver.

TOEFL IELTS PTE Academic
79 6.5 56

International students below the minimum requirement may be considered for conditional admission. Each program requires balanced sub-scores when determining an applicant’s need for additional English language courses.

How to Apply Start or Manage Your Application

Cost and Financial Aid

An RIT graduate degree is an investment with lifelong returns. Graduate tuition varies by degree, the number of credits taken per semester, and delivery method. View the general cost of attendance or estimate the cost of your graduate degree.

A combination of sources can help fund your graduate degree. Learn how to fund your degree

Research

The faculty and students in the Kate Gleason College of Engineering are engaging in numerous areas of research, which takes place across all of our engineering disciplines and often involves other colleges at RIT, local health care institutions, and major industry partners. Explore the college's key research initiatives to learn more about our research in:

AWARE-AI NSF Research Traineeship Program

The AWARE-AI National Science Foundation Research Traineeship Program provides a unique opportunity to RIT's graduate students, who are poised to become future research leaders in developing responsible, human-aware AI technologies.

Students in the computer engineering master’s degree are eligible to apply for traineeships in the AWARE-AI NSF Research Traineeship (NRT) Program. Trainees experience convergent AI research guided by accomplished RIT faculty who work in cross-disciplinary research tracks. In addition to high-touch mentoring, students also engage in curated, career-advancement activities. Learn more about the benefits of the trainee program, including training opportunities, application requirements, and deadlines.

Related News

Contact

Admissions Contact
Program Contact
Andres Kwasinski, Graduate Program Director