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.

Graduate Study

actn-question-header
liveperson actn-apply actn-newsletter actn-mail

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:

  • Four courses from a cluster (16 credits)
  • Three electives (12 credits)
  • Master’s thesis (seven credits)

    The project track:

  • Four courses from a cluster (16 credits)
  • Four electives (16 credits)
  • Master’s project (three credits)

    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:

  • Computer Graphics and Visualization
  • Database Systems/Data Mining
  • Distributed Systems
  • Intelligent Systems
  • Languages and Tools
  • Security
  • Theory

    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 Titles

    Software 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)

    The bridge program
    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)

    Related Links