Site-wide links

Rochester Institute of Technology logo

These materials are copyright Rochester Institute of Technology.

www.rit.edu

Copyright, disclaimer, and contact information, available via the links in the footer of our site.

Computer Science Department

Paul T. Tymann, Chair
(585) 475-2118, ptt@cs.rit.edu

Hans-Peter Bischof, Ph.D., Graduate Program Coordinator
(585) 475-5568, hpb@cs.rit.edu

The MS program in computer science consists of a core curriculum, a diverse set 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 systems life cycles. The program helps students prepare for academic or research careers in computer science or a related discipline, as well as further academic study.

Clusters are offered in a variety of areas, such as computer graphics and visualization, data management, distributed systems, computational vision and acoustics, intelligent systems, languages and tools, security and theory. Certain pre-approved courses from other departments also may be counted toward the degree.

Faculty members in the department are actively engaged in research in the areas of artificial intelligence, wireless networks, pattern recognition, computer vision, visualization, data management, combinatorics, and distributed computing systems. There are many opportunities for graduate students to participate in these activities toward thesis or project work and independent study.

Related MS programs at RIT are computer engineering, in the Kate Gleason College of Engineering, and information technology and software development and management, both in the Golisano College’s department of information technology.

Computer facilities

The computer science department provides extensive facilities for students and faculty. The hardware associated with these facilities represents current technology, including:

Computer science students also have access to computers in the information technology labs (PCs and Macs) and RIT’s main Information and Technology Services facilities.

Master of Science in Computer Science

http://www.cs.rit.edu/masters/index.php

The MS in computer science is designed for students who have an undergraduate major or minor in computer science, as well as those who have a strong background in a field in which computers are applied, such as engineering, science, or business. Students can concentrate in intelligent systems, languages and tools, distributed systems, security, theory, databases/data mining, or graphics.

Some of our graduate students are employed and are pursuing the degree on a part-time basis. Subsequently, computer science graduate courses are generally offered in the afternoon and evening. A full-time student, one who takes three courses per quarter, may be able to complete the course work in one year; part-time students can finish in two to four years. The time required to complete a master’s thesis or project varies according to the student and the scope of the project; two quarters is typical.

Admission requirements

Applicants should have a baccalaureate or 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 Test of English as a Foreign Language (a score of at least 213) and Graduate Record Exam scores. GRE scores also can be considered for applicants whose undergraduate grade point average is lower than 3.0.

Prerequisites

Applicants must satisfy prerequisite requirements in the following areas:

Mathematics

Differential and Integral Calculus
Probability and Statistics
Discrete Mathematics
Computer Science Theory

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

Bridge program

If an applicant lacks any of the 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.

Students whose undergraduate preparation or industrial experience does not satisfy the above content or grade point requirements may take one or more of the following bridge courses, as prescribed by the graduate coordinator:

Mathematics

1016-281, 282, 283 Calculus
1016-351 Probability and Statistics (Calculus-based)
1016-265 Discrete Mathematics

Computing

4003-231 Computer Science I
4003-232 Computer Science II
4003-233 Computer Science III
4003-334 Computer Science IV
or
4003-236 Accelerated Computer Science I
4003-233 Computer Science III
4003-334 Computer Science IV
or
4003-703 Advanced C++ Programming and Design
4003-707 Advanced Java Programming
4003-700 Foundations of Computing Theory
and
4003-710 Computer Organization
4003-709 Programming Language Concepts
4003-713 Operating Systems

If any bridge courses are indicated in a student’s plan of study, the student may be admitted on the condition that he or she will successfully complete the bridge program courses with a grade of B or better. All remaining bridge program courses must be completed with a grade of at least B; courses with lower grades must be repeated. The bridge program courses are not part of the 45 quarter credits required for the master’s degree.

A bridge program can be designed in different ways. Often, other courses can be substituted, and courses at other colleges can be applied. (See the Computer Science Graduate Studies Handbook for more details.) All programs must be approved in advance by the graduate coordinator.

The curriculum

The graduate program of study consists of 45 quarter credit hours. There are two tracks to the degree, the thesis track and the project track.

Computer science core courses:

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 track, 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

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-729 Topics in Computer Architecture†
4005-730 Distributed Operating Systems I
4005-731 Distributed Operating Systems II†
4005-735 Parallel Computing I
4005-736 Parallel Computing II†
4005-739 Topics in Operating Systems†
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 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.