MS in Computer Science

What Will I Learn?

Our program provides a broad foundation of study in computer science combined with in-depth study in four concentration areas.

Graduate work in computer science involves the study of the development of physical and theoretical design and understanding of computer systems, as well as the implementation of those developments into everyday life.

Your Career

Upon graduation, you can pursue careers as become researchers, computer systems analysts, computer systems administrators, and other opportunities in the industry.

Who Can Apply?

In addition to the admission requirements that are explicitly stated in the graduate admissions page, you are required CSC310 Algorithms and Data Structures course if you have a non-computer science degree. It may be taken as a remedial course after admission.


The graduate curriculum requires two core courses and the completion of a thesis or a project. Both require 30 credits of course work that are offered at night.

You can choose the remaining courses from four different concentration areas without restrictions:

Our program also offers an Advanced Topics course that may be taken more than once, to allow even more in-depth knowledge in a particular area.

You need 30 credits of major courses to graduate (12 credits for the core, 3 credits for the project, or 6 credits for the thesis, and 12 or 15 credits of electives).

I. Core requirements (3 credits)

The following are required / core courses:

II. Project or thesis option (3 or 6 credits)

Number Course Cr
CSC698 Project 3
CSC699 Thesis 6

III. Electives from four concentration areas 

The following courses are categorized into concentration areas for advising purposes.

A. Algorithms and Theory

Number Course Cr
CSC611 Design and Analysis of Algorithms 3
CSC612 Foundations of Computer Science 3
CSC613 Computational Methods in Biology 3
CSC614 Meta-Heuristics  3
CSC615 Machine Learning 3
CSC616 Cryptography and Data Security 3
CSC647 Parallel Algorithms and Programming  3
CSC650 Advanced Computer Graphics  3
CSC660 Artificial Intelligence: Principles and Techniques  3

B. Systems

Number Course Cr
CSC621 Transaction Processing Systems 3
CSC622 Distributed Systems 3
CSC623 Knowledge-Based Systems 3
CSC624 Data Mining 3
CSC625 Discrete Event Simulation  3

C. Hardware and Networks

Number Course Cr
CSC631 High Performance Computer Architecture 3
CSC632 ULSI Testing 3
CSC633 Embedded Systems 3
CSC634 Network Programming 3
CSC636 Networks Security 3
CSC637 Pervasive Computing and Wireless Networking 3

D. Software Engineering

Number Course Cr
CSC690 Search-Based Software Engineering  3
CSC691 Advanced Software Engineering 3
CSC694 Software Quality Assurance and Testing 3
CSC696 Human-Computer Interaction 3
CSC697 Managing Software Development  3

E. Other

Number Course Cr
CSC688 Advanced Topics in Computer Science 3