Master of Science in Computer Science

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 510Principles of Programming Languages

3

CS 511Concurrent Programming

3

CS 516Compiler Design and Implementation

3

CS 520Introduction to Operating Systems

3

CS 521TCP/IP Networking

3

CS 522Mobile Systems and Applications

3

CS 526Enterprise and Cloud Computing

3

CS 5323D Computer Vision

3

CS 537Interactive Computer Graphics

3

CS 541Artificial Intelligence

3

CS 546Web Programming

3

CS 548Enterprise Software Architecture and Design

3

CS 549Distributed Systems and Cloud Computing

3

CS 556Mathematical Foundations of Machine Learning

3

CS 558Computer Vision

3

CS 559Machine Learning: Fundamentals and Applications

3

CS 560Statistical Machine Learning

3

CS 561Database Management Systems I

3

CS 573Fundamentals of CyberSecurity

3

CS 576Systems Security

4

CS 578Privacy in a Networked World

3

CS 582Causal Inference

3

CS 583Deep Learning

3

CS 584Natural Language Processing

3

CS 600Advanced Algorithm Design and Implementation

3

CS 677Parallel 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.