The Master of Science in Computer Science degree is designed to be flexible in allowing students to combine several areas of concentration, such as software engineering, cybersecurity, databases, and service-oriented architecture. Ph.D. students who do not already have a master of science degree should consider pursuing a M.S. in Computer Science to develop breadth before their Ph.D. studies.
Suggested Areas of Focus
-
Cloud Computing Databases
-
Software Development
-
Visual Computing and Information Extraction
-
Secure Systems
-
Gaming and Simulation
-
Mobile Systems
-
Modeling, Simulation and Visualization
-
Network and Systems Administration
-
Web Application Development
-
Machine Learning
Program Objectives
The program prepares students to:
-
Be effective as a member of a team.
-
Demonstrate the ability to create effective solutions to complex problems in computer system design or deployment.
-
Demonstrate competence in the software development skills required by industry.
Program Outcomes
By the time of graduation, students will be able to:
-
Program competently in at least one major general purpose programming language.
-
Design, implement, and evaluate a significant software artifact.
-
Demonstrate deep knowledge in at least one significant sub-area of computer science.
Degree Requirements
The program is a 30-credit degree program. Students are required to complete:
-
3 computer science core courses (9 credits)
-
4 computer science core electives (12 credits)
-
3 electives (9 credits) from computer science or any other disciplines
Some students may seek to take electives that form a focused area of study suggested above. Students must maintain a minimum grade of a C or above in any course and a minimum GPA of 3.000.
Bridge Courses (CS 501, CS 515, CS 550, CS 570, CS 590) cannot be taken after your first semester.
Computer Science Credits
At least twenty-one credits must be Computer Science courses, identified by the CS prefix.
At least three of the courses must be drawn from the set of core courses:
CS 510 | Principles of Programming Languages | 3 |
CS 511 | Concurrent Programming | 3 |
CS 516 | Compiler Design and Implementation | 3 |
CS 520 | Introduction to Operating Systems | 3 |
CS 521 | TCP/IP Networking | 3 |
CS 522 | Mobile Systems and Applications | 3 |
CS 526 | Enterprise and Cloud Computing | 3 |
CS 532 | 3D Computer Vision | 3 |
CS 537 | Interactive Computer Graphics | 3 |
CS 541 | Artificial Intelligence | 3 |
CS 546 | Web Programming | 3 |
CS 548 | Enterprise Software Architecture and Design | 3 |
CS 549 | Distributed Systems and Cloud Computing | 3 |
CS 556 | Mathematical Foundations of Machine Learning | 3 |
CS 558 | Computer Vision | 3 |
CS 559 | Machine Learning: Fundamentals and Applications | 3 |
CS 560 | Statistical Machine Learning | 3 |
CS 561 | Database Management Systems I | 3 |
CS 573 | Fundamentals of CyberSecurity | 3 |
CS 576 | Systems Security | 4 |
CS 578 | Privacy in a Networked World | 3 |
CS 582 | Causal Inference | 3 |
CS 583 | Deep Learning | 3 |
CS 584 | Natural Language Processing | 3 |
CS 600 | Advanced Algorithm Design and Implementation | 3 |
CS 677 | Parallel Programming for Many Core Processors | 3 |
The remaining nine credits can be from computer science or any other disciplines. Some students may seek to take electives that form a focused area of study. Accordingly, several suggested focus areas of logically related electives are defined including:
Cloud Computing
Databases
Mobile Systems
Network and Systems Administration
Secure Systems
Software Development
Computer Vision
Web Application Development
Machine Learning
See the Computer Science Department web site for definition of these focus areas.