Graduate Study
Computer Science
Program Overview
The MS program in computer science at RIT consists of a core curriculum, a wide variety of clusters, and many additional electives. The core provides students with a solid background in the theoretical principles underlying computer science, which ensures that graduates acquire the intellectual tools necessary to keep up-to-date in this rapidly evolving discipline. The clusters provide students with the opportunity to obtain depth in a computer science discipline. The electives add the necessary breadth of knowledge required by industry. This combination prepares our graduates to engineer modern computing systems and contribute in all aspects of the systems' life cycles. They can also prepare students for academic or research careers in computer science or a related discipline, as well as further academic study.
Clusters are offerd in a variety of areas, such as computer graphics and visualization, database systems/data mining, distributed systems, intelligent systems, languages and tools, security, and theory. Certain preapproved courses from other departments may also be counted toward the degree.
Faculty members in the department are actively engaged in consulting or research in the area of articifical intelligence, wireless networks, computer vision, computational combinatorics, and distributed computing systems. There are many opportunities for graduate students to participate in these activities for thesis or project work and independent study.
Curriculum Review
The graduate program of study consists of 45 credits. There are two tracks to the degree, the thesis track and the project track. The computer science core consists of three courses:4005-700 Foundations of Computing Theory
4005-800 Theory of Computer Algorithms
4005-893 Graduate Seminar
The thesis track:
The project track:
The topic of the project must be in the cluster domain. Only the graduate coordinator can approve an exception to this rule.
For either program, students with a strong background in a core area may receive permission from the graduate coordinator to replace a core course with another course, generally in the same area. Only the graduate coordinator can approve changes to a student’s program of study.
Clusters and electives
The following clusters are available:
In addition, a student is allowed to design his or her own cluster, with the consent of an adviser and the graduate coordinator. A subset of electives and advanced electives is shown below; advanced electives are indicated by "*".
4005-704 Complexity and Computability
4005-705 Cryptography
4005-709 Combinatorial Computing
4005-709 Crytography II
4005-709 Privacy and Security
4005-710 Programming Language Theory
4005-711 Compiler Construction*
4005-713 XML-Arch, Tools and Techniques
4005-714 Programming Skills
4005-719 Topics in Programming Languages
4005-720 Computer Architecture
4005-740 Data Communications and Networks I
4005-741 Data Communication and Networks II
4005-742 Ad-Hoc Networks
4005-743 Secure Operating Systems Networks
4005-749 Enterprise Computing
4005-750 Introduction to Artificial Intelligence
4005-751 Knowledge-Based Systems*
4005-755 Neural Networks and Machine Learning*
4005-756 Genetic Algorithms*
4005-757 Introduction to Computer Vision*
4005-759 Artificial Intelligence for Games
4005-761 Computer Graphics I
4005-762 Computer Graphics II
4005-769 Topics in Computer Graphics
4005-771 Database Systems
4005-772 Database System Implementation
4005-774 Secure Database Data Mining
4005-779 Advanced Data Mining
4005-784 Privacy and Security
Students also may include elective courses from other RIT departments’ graduate offerings. See www.cs.rit.edu/~csdoc/graduate for a list of approved courses. Other departments' courses are primarily for their own majors and may have prerequisites that are not approved for degree credit.
Electives provide breadth of experience in computer science and applications areas. Students who wish to include courses from departments outside of computer science need prior approval of the graduate coordinator. Refer to the course descriptions in the departments of computer science, engineering, and business for possible elective courses.
A program of study must be designed in cooperation with the graduate coordinator.
The master's thesis or project
A thesis paper or project forms the capstone of the MS program. In order to register for either, a student must complete the graduate seminar and submit an acceptable proposal to the computer science faculty.
Requirements for the degree must be completed within seven years of the date of the oldest course counted toward the student's program. Bridge courses are excluded.
Career Outcomes
Job TitlesSoftware developer, software engineer, programmer/analyst, network administrator, database administrator, PC analyst
Functions
Software design & development, system design & development, technical support, new product testing
Recent Employers
Hewlett-Packard, Lucent Technologies, Dialogic Incorporated, Blue Lobster Software, Digital
Admission Requirements
Applicants should have a baccalaureate or an equivalent degree from an accredited institution and a minimum grade point average of 3.0 (B). RIT undergraduate students in computer science, computational math, biomedical computing, or computer engineering technology may study for both their BS and MS degrees through accelerated programs.
Applicants from foreign universities must submit TOEFL and Graduate Record Exam (GRE) scores. (GRE scores also can be considered for applicants whose undergraduate grade point average is lower than 3.0)
Applicants must satisfy prerequisite requirements in mathematics and computer science. If an applicant lacks any of these prerequisites, bridge program courses are available to allow students to achieve the required knowledge and skills. Generally, formal acceptance into the master's program is deferred until the applicant has made significant progress through these necessary courses.
Prerequisites
Mathematics
Differential and Integral Calculus
Probability and Statistics
Discrete Mathematics
Computing
Experience with a modern high-level language (e.g., C++, Java)
Data Structures
Assembly Language Programming
Software Design Methodology
Introductory Computer Architecture and Digital Logic
Operating Systems
Programming Language Concepts (including Lisp)
Students whose undergraduate preparation or industrial experience does not satisfy the above content or grade point requirements may make up these deficiencies through up to a year of study, taking one or more of the following RIT courses, as prescribed by the graduate coordinator.
Prerequisites
Applicants must satisfy prerequisite requirements in mathematics and computer science (listed below). If an applicant lacks any of these prerequisites, bride program courses are available to allow students to achieve the required knowledge and skills. Generally, formal acceptance into the master's program is deferred until the applicant has made significant progress through these necessary courses.
Prequisites
Mathematics
Differential and Integral Calculus
Probability and Statistics
Discrete Mathematics
Computing
Experience with a modern high-level language (e.g., C++, Java)
Data Structures
Assembly Language Programming
Sofware Design Methodology
Introductory Computer Architecture and Digital Logic
Operating Systems
Programming Language Concepts (including Lisp)






