Hajim School of Engineering and Applied Sciences Department of Computer Science

Masters Program in Computer Science

The Masters in Computer Science program offers students a high level of choice in their course of study.  Students may focus on one area of computer science, or take courses across the breadth of the field.  The degree may be completed full-time or part-time.  

Students must complete a minimum of 30 credits.  This must include at least five regular 400-level courses, which are 4 credits each. The remaining credits can come from courses at the 200 level or higher.  A student may discover he or she needs to take one or more elementary 100-level courses in order to be prepared to take the 200 or higher level courses.  In such cases, the 100-level courses do not count toward the 30 credit requirement.  Such 100-level courses are referred to as "bridging courses", and may be appropriate when a student has an undergraduate degree in a subject distant from computer science.  Tuition must be paid for necessary bridging courses as well as the courses that count toward the MS degree.  The 30 hours of courses may include up to 6 hours of research credit supervised by a faculty member, subject to approval by the Associate Dean of Graduate Studies.  MS students must pass a comprehensive examination (or essay), typically in the last semester before graduation.

Courses offered by departments other than Computer Science but that are relevant to the degree may be included in the 30 hours, subject to approval of our Graduate Coordinator.  In any case, at least 18 hours of the 30 must be courses offered by the Department of Computer Science. 

Students must maintain a GPA of 3.0 by the end of their second semester and throughout the rest of their time in the program, and must obtain a least a 2.0 in each course that counts toward the 30 credit hours.

For students with an undergraduate degree in computer science or a closely related field, the requirements can usually be completed over the course of three semesters.  We welcome applications from students who did not major in computer science but whose undergraduate work demonstrates a strong aptitude for the subject.

This program is for students who intend to complete their studies at the University of Rochester with an MS degree.  It is not a prerequisite for application to our PhD program.  Students completing the MS program should not expect to receive any special consideration for the PhD program.

Applying

Applications are accepted on a rolling basis.  Students should apply by February 15 to ensure that they receive a decision by April 15 for Fall admission. Applications will be accepted after this date but will be considered on a space-available basis.  Partial tuition discounts may be available for qualified students, but we do not offer full scholarships or teaching assistantships to MS students.

If you have additional questions, please email our Graduate Coordinator.

General Information

Sample Programs of Study

Programming Languages and Computer Systems 
CS 453 Dynamic Languages and Software Development
CS 455 Software Analysis and Improvement
CS 456 Operating Systems
CS 457 Computer Networks
CS 458 Parallel and Distributed Systems
CS 484 Advanced Algorithms
CS 572 Seminar in Programming Languages
CS 495 Independent Research

Programming Languages and Computer Systems (non-CS undergraduate degree)
CS 173 Computation and Formal Systems
CS 252 Computer Organization
CS 254 Programming Language Design & Implementation
CS 282 Design and Analysis of Efficient Algorithms
ECE 401 Advanced Computer Architecture
CS 455 Software Analysis and Improvement
CS 456 Operating Systems
CS 457 Computer Networks
CS 458 Parallel and Distributed Systems
CS 495 Independent Research

Algorithms and Complexity
CS 484 Advanced Algorithms
CS 486 Computational Complexity
CS 487 Advanced Modes of Computation
CS 444 Logical Foundations of Artificial Intelligence
CS 446 Machine Learning
CS 574 Seminar in Theory of Computation
CS 577 Optimization and Machine Learning
CS 495 Independent Research

Computer Architecture
CS 484 Advanced Algorithms
ECE 404 High Performance Microprocessor-Based Systems
CS 453 Dynamic Languages and Software Development
CS 455 Software Analysis and Improvement
CS 458 Parallel and Distributed Systems
ECE 465 Performance Issues in VLSI/IC Design
CS 573 Advanced Topics in Memory Systems
CS 495 Independent Research

Artificial Intelligence and Machine Learning
CS 440 Data Mining
CS 444 Logical Foundations of Artificial Intelligence
CS 446 Machine Learning
CS 448 Statistical Speech and Language Processing
CS 449 Computer Vision
CS 484 Advanced Algorithms
CS 577 Optimization and Machine Learning
CS 495 Independent Research

Artificial Intelligence and Machine Learning (non-CS undergraduate degree)
CS 173 Computation and Formal Systems
CS 242 Artificial Intelligence
CS 282 Algorithms
CS 412 Human Computer Interaction
CS 444 Logical Foundations of Artificial Intelligence
CS 446 Machine Learning
CS 447 Natural Language Processing
CS 449 Computer Vision
CS 495 Independent Research

Natural Language Processing
CS 444 Logical Foundations of Artificial Intelligence
CS 446 Machine Learning
CS 447 Natural Language Processing
CS 448 Statistical Speech and Language Processing
CS 460 Dialog Systems
CS 484 Advanced Algorithms
LIN 461 Phrase Structure Grammars
CS 495 Independent Research

Human Computer Interaction
CS 210 Web Programming
CS 412 Human Computer Interaction
CS 440 Data Mining
CS 571 Probabilistic Theories of Cognitive Processing
CS 575 Seminar in HCI
BCS 511 Behavioral Methods
STT 422 Design of Experiments
CS 495 Independent Research

Graduate Programs