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.
Curriculum
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:
- Algorithms and Theory
- Systems
- Hardware and Networks
- Software Engineering
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 |