The Computer Science graduate program prepares students for research and professional practice in computer science and related technologies. The program includes both fundamentals and advanced work in the areas of artificial intelligence and databases, programming languages and software engineering, systems and networks, theoretical computer science, and visual computing. Graduate classes are divided into basic classes, which have no graduate course prerequisite, and advanced classes, which have a graduate class as a prerequisite. Graduate classes are generally offered in the late afternoon and evening. Financial aid in the form of graduate assistantships may be available for full-time degree-seeking students.

Admissions

In addition to fulfilling Mason's admission requirements for graduate study, applicants must meet the following requirements:

  • Hold a baccalaureate degree that includes Data Structures and Algorithms (CS 310 Data Structures) Automata Theory and Formal Languages (CS 330 Formal Methods and Models), and Computer Architecture including Assembly Language (CS 367 Computer Systems and Programming and CS 465 Computer Systems Architecture). Students also must have completed Calculus I and II and a substantial course in discrete mathematics (such as MATH 125 Discrete Mathematics I (Mason Core)). Students with some deficiencies in preparation may be admitted provisionally pending completion of foundation courses in mathematics or computer science. Undergraduate credit earned for this purpose may not be applied toward the graduate degree.
  • Earned a cumulative GPA of 3.00 for the last two years of undergraduate work, preferably with a major in a technical field such as computer science, mathematics, physical sciences, engineering, or information systems.
  • Submit transcripts of all post secondary education, complete the self-evaluation section of the online application, (This information is used by the admissions committee to assess an applicant's academic preparation for the MS program. Students with some deficiencies in preparation may be admitted provisionally pending completion of foundation courses required for the program), a goals statement, resume, two letters of recommendation, and an official GRE score (only required for those who have not earned a Bachelor's degree from a US institution).
  • International students must submit their English Proficiency scores.

Banner Code: VS-MS-CS

Degree Requirements

Total credits: 30

Required Courses and Plan of Study

In addition to general university requirements, completion of the MS in CS requires 30 credits of graduate courses. Courses are grouped in the following five broad areas: Artificial Intelligence and Databases, Programming Languages and Software Engineering, Systems and Networks, Theoretical Computer Science, and Visual Computing. The list of preapproved courses with their areas follows.

All the following requirements should be satisfied for the MS in CS degree:

  • CS 583 Analysis of Algorithms (from the Theoretical Computer Science area) and two additional core courses from two other areas must be successfully completed with a grade of B- or better.
  • At least four courses (12 credits) must be chosen from the advanced courses in the list of preapproved courses from at least three different areas.
  • At least six courses, including two advanced courses, must be designated CS.
  • At least eight courses must be taken from the list of preapproved courses. Up to two computer science-related courses that are not on the list of preapproved courses may be taken with the approval of the Computer Science Department.

Plan of Study

Before the end of the second semester, students must have a plan of study approved by their academic advisor. This plan should be kept up to date by regular consultation with the academic advisor. A final signed version of the plan must be included when the student submits a graduation application.

Core Courses by Area

Artificial Intelligence and Databases
Database Systems
Introduction to Artificial Intelligence
Theory and Applications of Data Mining
Programming Languages and Software Engineering
Language Processors
Object-Oriented Software Specification and Construction
Software Modeling and Architectural Design
Systems and Networks
Computer Communications and Networking
Operating Systems
Information Security Theory and Practice
Theoretical Computer Science
Analysis of Algorithms 1
Visual Computing
Computer Graphics
1

Must be successfully completed with a grade of B- or better

Preapproved Basic and Advanced MS CS Courses by Area

Artificial Intelligence and Databases
Basic Courses:
Database Systems
Introduction to Artificial Intelligence
Theory and Applications of Data Mining
Web Search Engines and Recommender Systems
Advanced Courses:
Advanced Database Management
Mining Massive Datasets with MapReduce
Biometrics and Identity Management
Data Mining on Multimedia Data
Knowledge Engineering
Autonomous Robotics
Advanced Artificial Intelligence
Pattern Recognition
Planning Motions of Robots and Molecules
Advanced Pattern Recognition
Machine Learning
Decision Guidance Systems
Research Topics in Machine Learning and Inference
Research Topics in Artificial Intelligence
Advanced Topics in Computer Vision and Robotics
Database Programming for the World Wide Web
Advanced Database Management
Intelligent Agents and the Semantic Web
Enterprise Architecture
Programming Languages and Software Engineering
Basic Courses:
Language Processors
Object-Oriented Software Specification and Construction
Software Requirements Analysis and Specification
Software Modeling and Architectural Design
Distributed Software Engineering
Advanced Courses:
Advanced Compilers
Secure Software Design
Software Design Patterns
User Interface Design and Development
Software Testing
Software Engineering for the World Wide Web
Component-Based Software Development
Reusable Software Architectures
Quality of Service for Software Architectures
Advanced Software Testing
Software Analysis and Design of Real-Time Systems
Systems and Networks
Basic Courses:
Fundamentals of Systems Programming
Computer Communications and Networking
Operating Systems
Information Security Theory and Practice
Security Laboratory
Advanced Courses:
Foundations of Parallel Computation
Networked Virtual Environments
Computer System Performance Evaluation
Multimedia Computing and Systems
Distributed Systems
Concurrent Software Systems
Scalable Internet Services
Advanced Computer Networks
Performance Analysis of Computer Networks
Real-Time Systems Design and Development
Topics in Resilient and Secure Computer Systems
Autonomic Computing
Topics in Computer Systems
Network Security
Operating Systems Security
Intrusion Detection
Topics in Information Security
Security Protocol Analysis
Security Experimentation
Research in Digital Forensics
Theoretical Computer Science
Basic Courses:
Mathematical Foundations of Computer Science
Analysis of Algorithms
Advanced Courses:
Theory of Computation
Computational Methods for Genomics
Advanced Algorithms
Computational Geometry
Parallel Algorithms
Graph Algorithms
Visual Computing
Basic Courses:
Computer Graphics
Advanced Courses:
Computer Graphics Game Technologies
Biometrics and Identity Management
Computer Vision
Image Processing and Applications
Interactive Graphics Software
Computational Vision
Human-Computer Intelligent Interaction
Advanced Topics in Computer Vision and Robotics
Total Credits0

Project/Thesis (optional)

Three to six credit hours of the advanced classes may be replaced by a project or thesis. The project or thesis must be guided and approved by a committee of three appropriate faculty members and presented at an appropriate forum. The thesis must meet relevant university requirements.

Select one from the following:
Project Seminar (3 credits)
Thesis (6 credits)

Additional Pre-approved CS Courses

These courses are not classified by area. Note that CS 695 Topics in Computer Science/CS 795 Advanced Topics in CS can be used to satisfy the breadth requirement if the area is listed in the syllabus for the course.

CS 695Topics in Computer Science3
CS 697Independent Reading and Research1-3
CS 795Advanced Topics in CS3
CS 798Project Seminar3
CS 799Thesis1-6
CS 895Research Topics in CS3

Applied Computer Science, BS/Computer Science, Accelerated MS

Overview

Highly-qualified students in the Applied Computer Science, BS have the option of obtaining an accelerated Computer Science, MS.

For more detailed information, see AP.6.7 Bachelor's/Accelerated Master's Degrees. For policies governing all graduate degrees, see AP.6 Graduate Policies.

Admission Requirements

Students in the Applied Computer Science, BS program may apply to this option if they have earned 90 undergraduate credits with an overall GPA of at least 3.30. Students must have successfully completed:

CS 310Data Structures3
CS 330Formal Methods and Models3
CS 367Computer Systems and Programming4
Total Credits10

Accelerated Option Requirements

Students must complete all requirements for the BS and MS programs, with 6 credits overlap.

Students register for 6 credits of CS 500-level basic courses in place of the corresponding CS 400-level courses required for the undergraduate degree requirements. Specifically, students must register for CS 583 Analysis of Algorithms and one of the following courses in place of the corresponding 400-level course:

CS 540Language Processors3
CS 550Database Systems3
CS 551Computer Graphics3
CS 555Computer Communications and Networking3
CS 571Operating Systems3
CS 580Introduction to Artificial Intelligence3
CS 584Theory and Applications of Data Mining3

Note:

Students are permitted to take additional graduate basic courses in their undergraduate programs. In such cases, those classes cannot be counted toward requirements for the MS.

Degree Conferral

Students must apply the semester before they expect to complete the BS requirements to have the BS degree conferred. In addition, at the beginning of the student's final undergraduate semester, students must complete a Bachelor's/Accelerated Master's Transition form that is submitted to the Office of the University Registrar and the VSE Graduate Admissions Office. At the completion of MS requirements, a master's degree is conferred.

Computer Science, BS/Computer Science, Accelerated MS

Overview

Highly-qualified students in the Computer Science, BS have the option of obtaining an accelerated Computer Science, MS

For more detailed information, see AP.6.7 Bachelor's/Accelerated Master's Degrees. For policies governing all graduate degrees, see AP.6 Graduate Policies.

Admission Requirements

Students in the Computer Science, BS program may apply to this option if they have earned 90 undergraduate credits with an overall GPA of at least 3.30. Students must have successfully completed CS 310 Data Structures, CS 330 Formal Methods and Models and CS 367 Computer Systems and Programming.

Accelerated Option Requirements

Students must complete all requirements for the BS and MS programs, with 6 credits overlap.

Students register for 6 credits of CS 500-level basic courses in place of the corresponding CS 400-level courses required for the undergraduate degree requirements. Specifically, students must register for two of the following courses in place of the corresponding 400-level courses:

CS 540Language Processors3
CS 550Database Systems3
CS 551Computer Graphics3
CS 555Computer Communications and Networking3
CS 571Operating Systems3
CS 580Introduction to Artificial Intelligence3
CS 583Analysis of Algorithms3
CS 584Theory and Applications of Data Mining3

Note:

Students are permitted to take additional graduate basic courses in their undergraduate programs. In such cases, those classes cannot be counted toward requirements for the MS.

Degree Conferral

Students must apply the semester before they expect to complete the BS requirements to have the BS degree conferred. In addition, at the beginning of the student's final undergraduate semester, students must complete a Bachelor's/Accelerated Master's Transition form that is submitted to the Office of the University Registrar and the VSE Graduate Admissions Office. At the completion of MS requirements, a master's degree is conferred.