Master of Science in Computer Science

Curriculum

Program requirements: The M.S. curriculum in computer science has two tracks: thesis and non thesis.

Program requirements for thesis option

4 courses from a list of CSC courses the department maintains; 4 other courses chosen with approval of the major professor; eight credits of thesis.

Program requirements for non-thesis option

6 courses from a list of CSC courses the department maintains; 4 other courses chosen with approval of the advisor; at least one of the ten courses listed above should include writing a substantial paper based on significant independent research; passing a written comprehensive examination.

A program of study can include at most 3 courses at the 400-level. Students who have undergraduate credits for a particular 400-level course (or equivalent) cannot repeat the course for graduate credit.

CS approved list of courses

Foundations
CSC 541, Advanced Topics in Algorithms
CSC 542, Mathematical Analysis of Algorithms
CSC 544, Theory of Computation
CSC 550, Computer Algebra
CSC 501, Programming Language Semantics

Systems
CSC 412, Operating Systems and Networks
CSC 415, Introduction to Parallel Computing
CSC 512, Topics in Distributed Systems
CSC 411/511, Computer Organization
CSC 417/519, Computer Networks

Applications
CSC 402/502, Programming Language Implementation
CSC 461, Machine Learning
CSC 406, Computer Graphics
CSC 450, Scientific Computing
CSC 536, Database Management Systems
CSC 522, Bioinformatics
CSC 481, Artificial Intelligence

Note: Non-thesis students have to take at least one course from each area.
Note: CSC 592 Special topics may also be approved for the appropriate area by petitioning the director of graduate studies.

Previous Curriculum
If you were admitted to the MS program in Fall 2018 or earlier you can choose between the previous curriculum and the current one. If you were admitted to the program in Spring 2019 or later you must follow the current curriculum