Computer Engineering Master of Science Degree


Computer Engineering
Master of Science Degree
Breadcrumb
- RIT /
- Rochester Institute of Technology /
- Academics /
- Computer Engineering MS
Inquire about graduate study Visit Apply
585‑475‑5532, [email protected]
585‑475‑5139, [email protected]
Department of Computer Engineering
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.
Overview
The computer engineering masters focuses on the design and development of computer and computer-integrated systems, with consideration to 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.
The MS degree in computer engineering provides students with a high level of specialized knowledge in computer engineering, strengthening their ability to successfully formulate solutions to current technical problems, and offers a significant independent learning experience in preparation for further graduate study or for continuing professional development at the leading edge of the discipline. The program 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 from undergraduate degrees outside of computer engineering).
Program Goals and Learning Objectives
The MS in computer engineering prepares graduate students to:
- demonstrate independent learning, which is necessary in order to update their skills in a changing workplace and economy, and
- successfully formulate solutions to current technical problems in computer engineering or related disciplines.
The program's student learning outcomes are:
- Tools and Techniques: The ability to utilize state-of-the-art tools and techniques in the field of computer engineering.
- Depth: A depth of knowledge in a specialty area of computer engineering.
- Research: The ability to perform independent research.
Plan of Study
The degree requires one required course, two flexible core courses, four graduate electives, two semesters of graduate seminar, and options to conduct thesis research or a graduate project. The core courses and graduate electives provide breadth and depth of knowledge. The Computer Engineering Graduate Seminar (CMPE-795) provides students with exposure to the state-of-the-art research in computer engineering and related disciplines.
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 take nine semester credit hours of thesis research to answer a fundamental science/engineering question that contributes to new knowledge in the field. Students are expected to formulate the problem under a faculty advisor’s guidance and conduct extensive quantitative or qualitative analyses with sound methodology. The student’s thesis committee must have at least three and no more than four faculty members, including the primary thesis advisor. Two of the committee members must be computer engineering faculty. The findings through thesis research should 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. Students who pursue the graduate project option take six semester credits of project focus graduate electives and three semester credits of Graduate Project, to obtain specialized education through additional courses and conduct a professionally executed project under the supervision of a faculty advisor. The project generally addresses an immediate and practical problem, a scholarly undertaking that can have tangible outcomes. Typical projects may implement, test and evaluate a software and/or hardware system, conduct a comprehensive literature review with comparative study, etc. Students are expected to give a presentation or demonstration of the final deliverables of the project. For detailed information on graduate project timeline and requirements, please refer to Computer Engineering Graduate Project.
Flexible Core
One course is chosen from each of the following core clusters with faculty advisor’s guidance.
Computer Architecture and Digital Design
- CMPE-630 Digital Integrated Circuit Design
- CMPE-660 Reconfigurable Computing
- CMPE-755 High Performance Architectures
Computing, Communications and Algorithms
- CMPE-670 Data and Communication Networks
- CMPE-655 Multiple Processor Systems
- CMPE-677 Machine Intelligence
Graduate Electives
Computer engineering graduate electives are 600 level and above. With advisor and department approval, students may request to take graduate courses outside of the department. The graduate electives are selected among the available research tracks. Students are encouraged to choose most of their graduate electives within a single track, by consulting with their advisor. Each student must take a minimum of two electives from the department of computer engineering. For graduate level math courses as electives, students may choose from the following:
- SEE-601 Systems Modeling and Optimization
- ISEE-701 Linear Programming
- ISEE-702 Integer and Nonlinear Programming
- MATH-603 Optimization Theory
- MATH-605 Stochastic Processes
- MATH-611 Numerical Analysis
- MATH-651 Combinatorics and Graph Theory I
Research Tracks
Students are encouraged to choose most of their graduate electives within a single research track, by consulting with their advisor. Each student must take a minimum of two electives from the department of computer engineering. Students are allowed to take relevant courses from other academic programs, including electrical engineering, computer science, and software engineering, for 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 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 have transformed our way of life. Ubiquitous access to data using/from these devices with reliable performance as well as security assurance presents exciting challenges for engineers and scientists. 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 system that interacts 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.
Students are also interested in: Computer Science MS, Microelectronic Engineering MS, Electrical Engineering MS
Join us virtually
Discover how graduate study at RIT can help further your career objectives.
Join us virtually
Discover how graduate study at RIT can help further your career objectives.
Join us virtually
Discover how graduate study at RIT can help further your career objectives.
Careers and Experiential Learning
Typical Job Titles
Computer Engineer | Computer Vision Engineer |
Data Scientist | Embedded Software Test Engineer |
Embedded Systems Software Developer | Hardware Design Engineer |
Product Development Engineer | Machine Learning Engineer |
Salary and Career Information for Computer Engineering MS
Cooperative Education
What’s different about RIT’s engineering education? It’s the opportunity to complete engineering co-ops and internships with top companies in every single industry. You’ll earn more than a master’s degree. You’ll gain real-world career experience that sets you apart.
Cooperative education, or co-op for short, is full-time, paid work experience in your engineering field of study. And it sets RIT engineering graduates apart from their competitors. RIT co-op is designed for your success.
Cooperative education is optional but strongly encouraged for graduate students in the computer engineering master's program.
Curriculum for Computer Engineering MS
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 will give an overview of the technologies, architectures and protocols used to build various types of computer and communication networks - wired or wireless. The emphasis will be placed on discussions of various network design problems and solution approaches. Specific issues covered in this course include: framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling and switching. (Prerequisite: MATH-251 or 1016-345 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 will give an overview of the technologies, architectures and protocols used to build various types of computer and communication networks - wired or wireless. The emphasis will be placed on discussions of various network design problems and solution approaches. Specific issues covered in this course include: framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling and switching. (Prerequisite: MATH-251 or 1016-345 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.
Admission Requirements
To be considered for admission to the MS program in computer engineering, candidates must fulfill the following requirements:
- Complete an online graduate application. Refer to Graduate Admission Deadlines and Requirements for information on application deadlines, entry terms, and more.
- Submit copies of official transcript(s) (in English) of all previously completed undergraduate and graduate course work, including any transfer credit earned.
- Hold a baccalaureate degree (or US equivalent) from an accredited university or college in computer engineering or a related field.
- Recommended minimum cumulative GPA of 3.0 (or equivalent).
- Submit a current resume or curriculum vitae.
- Two letters of recommendation are required. Refer to Application Instructions and Requirements for additional information.
- Not all programs require the submission of scores from entrance exams (GMAT or GRE). Please refer to the Graduate Admission Deadlines and Requirements page for more information.
- Submit a personal statement of educational objectives. Refer to Application Instructions and Requirements for additional information.
- International applicants whose native language is not English must submit official test scores from the TOEFL, IELTS, or PTE. Students below the minimum requirement may be considered for conditional admission. Refer to Graduate Admission Deadlines and Requirements for additional information on English requirements. International applicants may be considered for an English test requirement waiver. Refer to Additional Requirements for International Applicants to review waiver eligibility.
Learn about admissions, cost, and financial aid
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:
- Advanced Manufacturing
- Artificial Intelligence and Machine Learning Systems
- Biomedical and Healthcare Engineering
- Cyber-physical Systems
- Data Analysis, Modeling, and Simulations
- Energy and the Environment
- Micro/Nanoscale Systems, Devices, and Materials
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.
Latest News
-
December 10, 2021
RIT trailblazers make the Forbes 30 Under 30 list
Forbes has identified a few of the RIT alumni set to define the next decade—and beyond. Two RIT alumni—and a third just a few months shy of the age cut-off—were named on the Forbes 30 Under 30 list for 2022. Jackie Wiley ’16 (game design and development) was honored in the Games category, and Dylan Ayrey ’15 (computer engineering) was named in the Enterprise Technology category.
-
September 13, 2021
RIT again ranked among the best universities in the nation by ‘U.S. News’
RIT has again been recognized as one of the best national universities by U.S. News & World Report, which also cited the university as among the most innovative, best valued, and with highly regarded cooperative education and internship programs.
-
September 9, 2021
RIT launches workshop series on sustainable computing
What if computing materials were sourced in conflict areas? Or manufactured in facilities that emit higher than average toxic emissions? Researchers today are examining the development of computing systems from a different perspective, one more in line with sustainability rather than just power, performance and speed.