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, lslges@rit.edu
585‑475‑5139, ak@mail.rit.edu
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.
Industries
-
Aerospace -
Insurance -
Government (Local, State, Federal) -
Internet and Software -
Defense -
Electronic and Computer Hardware -
Manufacturing
Typical Job Titles
Software Engineer | Embedded Firmware Engineer |
Junior Analyst Programmer | Software Applications Engineer |
Software Developer | Systems Engineer |
Test Engineer |
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 a graduate application.
- Hold a baccalaureate degree (or equivalent) from an accredited university or college in computer engineering or a related field.
- Submit official transcripts (in English) from all previously completed undergraduate and graduate course work.
- Submit a personal statement of educational objectives outlining the applicant’s research/project interests, career goals, and suitability to the program.
- Have a minimum cumulative GPA of 3.0 (or equivalent).
- Submit scores from the GRE.
- Submit two letters of recommendation from individuals well qualified to judge the candidate’s ability for graduate study.
- International applicants whose native language is not English must submit scores from the TOEFL, IELTS, or PTE. A minimum TOEFL score of 79 (internet-based) is required. A minimum IELTS score of 6.5 is required. The English language test score requirement is waived for native speakers of English or for those submitting transcripts from degrees earned at American institutions.
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:
Latest News
-
March 30, 2021
‘U.S. News’ Best Graduate Schools highlight RIT graduate programs
RIT graduate programs are among the best in the nation, according to the U.S. News & World Report annual statistical survey of graduate programs.
-
November 13, 2020
RIT celebrates graduate student research with weeklong virtual symposium Nov. 16-20
RIT will celebrate graduate research during the 13th annual Graduate Education Week and Showcase: A Vision into the Future. The virtual event—Nov. 16 to 20—creates a platform for sharing and exchanging ideas during the COVID-19 pandemic, with pre-recorded and live presentations, demonstrations, visual exhibitions, and an alumni panel discussion.
-
February 5, 2020
Pioneers of Progress: RIT celebrates National Engineers Week
RIT is one of hundreds of universities and organizations across the country involved in National Engineers Week, taking place Feb. 16-22. Events include talks with engineering alumni and open house sessions for K-12 students and families.