Students
Tuition Fee
Start Date
Medium of studying
Duration
Details
Program Details
Degree
Masters
Major
Artificial Intelligence | Computer Science | Data Science
Area of study
Information and Communication Technologies
Course Language
English
About Program

Program Overview


Overview

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.


Admissions

In addition to fulfilling Mason's admission requirements for graduate study, applicants must hold a four-year (120-credit minimum) baccalaureate degree in an appropriate discipline from an accredited institution and have earned a GPA of 3.00 or better in the last 60 credits of undergraduate study. The baccalaureate degree must include the following subjects:


  • Calculus I and II (equivalent to MATH 113 Analytic Geometry and Calculus I and MATH 114 Analytic Geometry and Calculus II)
  • Introductory and Object-Oriented Programming (equivalent to CS 112 Introduction to Computer Programming and CS 211 Object-Oriented Programming)
  • Discrete Mathematics (equivalent to MATH 125 Discrete Mathematics I)
  • Computer Architecture including Assembly Language (equivalent to CS 367 Computer Systems and Programming)
  • Data Structures and Algorithms (equivalent to CS 310 Data Structures)
  • Automata Theory and Formal Languages (equivalent to CS 330 Formal Methods and Models)

Degree Requirements

Total credits: 30


Required Courses and Plan of Study

In addition to general university requirements, students must complete 30 approved graduate credits (10 courses), divided into five core (required) basic courses, four advanced constrained elective courses, and one constrained elective.


Students must take the two required basic courses of CS 530 Mathematical Foundations of Computer Science and CS 531 Computer Systems and Fundamentals of Systems Programming as early as possible, preferably as their first two courses in the program.


Students with a strong academic background in computer science may have CS 530 and CS 531 substituted with other elective courses at the discretion of the program director. Students enrolled in PhD CS or the Bachelor’s-Accelerated Master’s program cannot take CS 530 or CS 531 for credit. Students may also demonstrate that they have the requisite knowledge corresponding to CS 530 or CS 531 by passing an exam. The exams are given before classes begin in January and August, and can only be taken once. Students who fail either one of the exams must take the course in their first semester. Students who successfully test out of CS 530 or CS 531 will be required to fulfill the credit requirement with other coursework chosen under advisement.


Courses are grouped into five areas: Artificial Intelligence and Databases, Programming Languages and Software Engineering, Systems and Networks, Theoretical Computer Science, and Visual Computing. These areas apply at both the basic and the advanced level.


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


  • Core: Students must take CS 583 Analysis of Algorithms (from the Theoretical Computer Science area) and two additional core courses from two other areas. Core courses must be successfully completed with a grade of B- or higher. Students receiving lower than a B- must retake the course, or choose a different core course and use the B- grade as an elective.
  • Advanced: At least four courses (12 credits) must be chosen from the advanced courses in the list given below. These four courses must come from at least two different areas.
  • CS designation: At least six courses, two of which must be advanced, must be designated CS.
  • Alternative electives: Up to two courses that are not on the list of pre-approved courses may be taken with prior approval of the program director.

Plan of Study

Before the end of the first semester, students must have a plan of study approved by their academic advisor.


Core Courses by Area

Course List Code Title Credits
Artificial Intelligence and Databases
CS 550 Database Systems
CS 580 Introduction to Artificial Intelligence
CS 584 Theory and Applications of Data Mining
Programming Languages and Software Engineering
CS 540 Compilers
SWE 619 Object-Oriented Software Specification and Construction
SWE 621 Software Design and Architecture
Systems and Networks
CS 555 Computer Communications and Networking
CS 571 Operating Systems
ISA 562 Information Security Theory and Practice
Theoretical Computer Science
CS 583 Analysis of Algorithms
Visual Computing
CS 551 Computer Graphics

Basic and Advanced MS CS Electives by Area

Course List Code Title Credits
Artificial Intelligence and Databases
Basic Courses:
CS 550 Database Systems
CS 580 Introduction to Artificial Intelligence
CS 584 Theory and Applications of Data Mining
INFS 623 Web Search Engines and Recommender Systems
Advanced Courses:
CS 650 Advanced Database Management
CS 657 Mining Massive Datasets with MapReduce
CS 667 Biometrics and Identity Management
CS 678 Advanced Natural Language Processing
CS 685 Autonomous Robotics
CS 687 Advanced Artificial Intelligence
CS 688 Machine Learning
CS 689 Planning Motions of Robots and Molecules
CS 690 Special Topics in Artificial Intelligence and Databases
CS 747 Deep Learning
CS 757 Generative Deep Learning
CS 782 Advanced Machine Learning
CS 787 Decision Guidance Systems
INFS 740 Database Programming for the World Wide Web
INFS 760 Advanced Database Management
INFS 772 Intelligent Agents and the Semantic Web
INFS 774 Enterprise Architecture
Programming Languages and Software Engineering
Basic Courses:
CS 540 Compilers
SWE 619 Object-Oriented Software Specification and Construction
SWE 620 Software Requirements Analysis and Specification
SWE 621 Software Design and Architecture
SWE 622 Distributed Software Engineering
SWE 625 Software Project Management
Advanced Courses:
CS 640 Advanced Compilers
CS 691 Special Topics in Programming Languages and Software Engineering
SWE 631 Software Design Patterns
SWE 632 User Interface Design and Development
SWE 637 Software Testing
SWE 642 Software Engineering for the World Wide Web
SWE 645 Component-Based Software Development
SWE 681 Secure Software Design and Programming
or ISA 681 Secure Software Design and Programming
SWE 699 Special Topics in Software Engineering
SWE 721 Reusable Software Architectures
SWE 737 Advanced Software Testing
SWE 760 Software Analysis and Design of Real-Time Systems
SWE 795 Advanced Topics in Software Engineering
SWE 796 Directed Readings in Software Engineering
Systems and Networks
Basic Courses:
CS 531 Computer Systems and Fundamentals of Systems Programming
CS 555 Computer Communications and Networking
CS 571 Operating Systems
CS 587 Introduction to Cryptography
ISA 562 Information Security Theory and Practice
ISA 564 Security Laboratory
Advanced Courses:
CS 635 Foundations of Parallel Computation
CS 655 Wireless and Mobile Computing
CS 658 Networked Virtual Environments
CS 672 Computer System Performance Evaluation
CS 673 Multimedia Computing and Systems
CS 675 Distributed Systems
CS 677 Operating System Internals
CS 692 Special Topics in Systems and Networks
CS 706 Concurrent Software Systems
CS 719 Scalable Internet Services
CS 756 Performance Analysis of Computer Networks
CS 773 Real-Time Systems Design and Development
CS 779 Topics in Resilient and Secure Computer Systems
CS 788 Autonomic Computing
ISA 656 Network Security
ISA 673 Operating Systems Security
ISA 674 Intrusion Detection
ISA 697 Topics in Information Security
ISA 763 Security Protocol Analysis
ISA 764 Security Experimentation
ISA 785 Research in Digital Forensics
SWE 660 Software Engineering for Real-Time Embedded Systems
Theoretical Computer Science
Basic Courses:
CS 530 Mathematical Foundations of Computer Science
CS 583 Analysis of Algorithms
Advanced Courses:
CS 600 Theory of Computation
CS 630 Advanced Algorithms
CS 633 Computational Geometry
CS 683 Parallel Algorithms
CS 684 Graph Algorithms
CS 693 Special Topics in Theoretical Computer Science
Visual Computing
Basic Courses:
CS 551 Computer Graphics
Advanced Courses:
CS 653 Computational Photography
CS 662 Computer Graphics Game Technologies
CS 663 Computational Design
CS 664 Virtual Reality
CS 667 Biometrics and Identity Management
CS 682 Computer Vision
CS 686 Image Processing and Applications
CS 694 Special Topics in Visual Computing
CS 752 Interactive Graphics Software
CS 774 Computational Vision
CS 777 Human-Computer Intelligent Interaction
Elective courses not classified by area
Basic Courses
CS 595 Basic Topics in Computer Science
Advanced Courses
CS 695 Special Topics in Computer Science
CS 697 Independent Reading and Research
CS 795 Advanced Topics in CS
CS 798 Research Project
CS 799 MS Thesis
CS 895 Research Topics in CS

Project or Thesis

Students, with or without a concentration, with approval from a faculty advisor and the Program Director or Associate Chair, six credit hours of the advanced classes may be replaced by a thesis. A thesis must be advised by a member of the Graduate Faculty who is a full-time or affiliate member of the CS Department. A thesis committee must be formed, consisting of the thesis advisor and two members of the Graduate Faculty, at least one of whom must be in the CS Department. An MS thesis must have a research component and must result in a written document, and may include software. An MS thesis usually spans two semesters and the student takes three credits of CS 799 in each semester.


Three credits of the advanced classes may be replaced by a project. A project must be advised by a member of the Graduate Faculty who is a full-time or affiliate member of the CS Department. An MS project must result in a written document, and may include software.


Requests for either a project or a thesis must be initiated by the thesis advisor, and approved by the CS Department Chair or delegate.


Course List Code Title Credits
Select one from the following:
CS 798 Research Project (3 credits)
CS 799 MS Thesis (6 credits)

Concentration in Cyber Security (CYSC)

Students must take 5 courses from the following categories:


Course List Code Title Credits
Required:
ISA 656 Network Security 3
ISA 562 Information Security Theory and Practice 3
Choose 2-3 elective courses: 6-9
CS 587 Introduction to Cryptography
ISA 564 Security Laboratory
ISA 673 Operating Systems Security
ISA 674 Intrusion Detection
SWE 637 Software Testing
SWE 681 Secure Software Design and Programming
or ISA 681 Secure Software Design and Programming
ISA 763 Security Protocol Analysis
ISA 764 Security Experimentation
Choose 0-1 related course: 0-3
CS 540 Compilers
CS 555 Computer Communications and Networking
CS 571 Operating Systems
CS 600 Theory of Computation
CS 655 Wireless and Mobile Computing

Concentration in Machine Learning (ML)

Students must take 5 courses from the following categories:


Course List Code Title Credits
Required:
CS 584 Theory and Applications of Data Mining 3
CS 688 Machine Learning 3
Choose 2-3 elective courses: 6-9
CS 657 Mining Massive Datasets with MapReduce
CS 678 Advanced Natural Language Processing
CS 747 Deep Learning
CS 757 Generative Deep Learning
CS 782 Advanced Machine Learning
Choose 0-1 related course: 0-3
CS 580 Introduction to Artificial Intelligence
CS 687 Advanced Artificial Intelligence
CS 685 Autonomous Robotics
CS 682 Computer Vision

Applied Computer Science, BS/Computer Science, Accelerated MS

Overview

Highly-qualified students in the Applied Computer Science, BS can complete both a BS-ACS and a Computer Science, MS in five years through the BS-MS accelerated (BAM) program.


Admission Requirements

Students in the Applied Computer Science, BS program are encouraged to apply to the BAM program after earning 60 undergraduate credits with an overall GPA of at least 3.30. Students must have successfully completed CS 310 Data Structures and CS 330 Formal Methods and Models with a grade of B or higher.


Accelerated Option Requirements

Students accepted to the BAM program may earn up to 12 credits of graduate coursework that count towards both the BS and MS degrees. They may begin taking graduate courses after completing 75 undergraduate credits and successfully completing CS 367 Computer Systems and Programming with a grade of B or higher.


The following graduate courses can replace the corresponding undergraduate courses.


Course List Code Title Credits
CS 540 Compilers (to replace CS 440) 3
CS 550 Database Systems (to replace CS 450) 3
CS 551 Computer Graphics (to replace CS 451) 3
CS 555 Computer Communications and Networking (to replace CS 455) 3
CS 571 Operating Systems (to replace CS 471) 3
CS 580 Introduction to Artificial Intelligence (to replace CS 480) 3
CS 583 Analysis of Algorithms (to replace CS 483) 3
CS 584 Theory and Applications of Data Mining (to replace CS 484) 3
CS 587 Introduction to Cryptography (to replace CS 487) 3
SWE 619 Object-Oriented Software Specification and Construction (to replace SWE 419) 3
SWE 637 Software Testing (to replace SWE 437) 3
SWE 642 Software Engineering for the World Wide Web (to replace SWE 432) 3

Degree Conferral

Students must apply for degree conferral the semester before they expect to complete their BS requirements. At the beginning of their final undergraduate semester, students must submit a completed Bachelor's-Accelerated Master's Transition form to the CS department office. The master’s degree will be conferred after the student completes the MS requirements.


Computer Science, BS/Computer Science, Accelerated MS

Overview

Highly-qualified students in the Computer Science, BS can complete both a BS-CS and a Computer Science, MS in five years through the BS-CS accelerated (BAM) program.


Admission Requirements

Students in the Computer Science, BS program are encouraged to apply to the BAM program after earning 60 undergraduate credits with an overall GPA of at least 3.30. Students must also have successfully completed CS 310 Data Structures and CS 330 Formal Methods and Models with a grade of B or higher.


Accelerated Option Requirements

Students accepted to the BAM program may earn up to 12 credits of graduate coursework that count towards both the BS and MS degrees. They may begin taking graduate courses after completing 75 undergraduate credits and successfully completing CS 367 Computer Systems and Programming with a grade of B or higher.


The following graduate courses can replace the corresponding undergraduate courses.


Course List Code Title Credits
CS 540 Compilers (to replace CS 440) 3
CS 550 Database Systems (to replace CS 450) 3
CS 551 Computer Graphics (to replace CS 451) 3
CS 555 Computer Communications and Networking (to replace CS 455) 3
CS 571 Operating Systems (to replace CS 471) 3
CS 580 Introduction to Artificial Intelligence (to replace CS 480) 3
CS 583 Analysis of Algorithms (to replace CS 483) 3
CS 584 Theory and Applications of Data Mining (to replace CS 484) 3
CS 587 Introduction to Cryptography (to replace CS 487) 3
SWE 619 Object-Oriented Software Specification and Construction (to replace SWE 419) 3
SWE 637 Software Testing (to replace SWE 437) 3
SWE 642 Software Engineering for the World Wide Web (to replace SWE 432) 3

Degree Conferral

Students must apply for degree conferral the semester before they expect to complete their BS requirements. At the beginning of their final undergraduate semester, students must submit a completed Bachelor's-Accelerated Master's Transition form to the CS department office. The master's degree will be conferred after the student completes the MS requirements.


Computing Foundations Graduate Certificate/Computer Science, MS Bridge Pathway

Overview

The field of computing refers to a variety of processes grounded in computational thinking. These processes include designing and constructing software systems to process information, to create communications and entertainment, and to identify information relevant to a particular purpose or problem. The emergence of new computing industries, the increased reliance on computation in all parts of society, and the demand for computing throughout a worldwide economy reflect computing's broad applications. As the field of computing has evolved, jobs in many fields now focus on the use of software.


The Computing Foundations Graduate Certificate provides a bridge to computing opportunities for students with undergraduate backgrounds in disciplines other than computer science-related areas of study. Students will learn how computers work and how software is designed, written, and deployed. Students will learn practical skills in developing software and be prepared to conceptualize, design, and implement software. Graduates will be able to analyze problems and design software to solve those problems, and develop effective and efficient software implementations.


Certificate to Master's Bridge Program Policies can be found in AP.6.


Admission Requirements

Students must be admitted to the Computing Foundations Graduate Certificate and elect a bridge pathway option as part of their application. Students who do not choose a bridge pathway option, but later wish to continue in the Computer Science, MS program, must submit a new Graduate Admission application in accordance with University deadlines.


Bridge Continuation Requirements

Students who elected the bridge pathway on their graduate admission application and have applied for graduation from the Computing Foundations Graduate Certificate with a 3.0 or better GPA will be invited to join the Computer Science, MS program for the semester that immediately follows (Fall or Spring).


Any certificate courses that the student anticipates applying toward the Master's must be completed by the semester or term of graduation specified on their transition form for the bridge program, be graded B or better, and be aligned with the respective Master's degree program requirements. Certificate courses, COMP 501 Computer Programming Foundations I, COMP 502 Mathematical Foundations of Computing I, COMP 503 Computer Systems Foundations I, COMP 511 Computer Programming Foundations II, COMP 512 Mathematical Foundations of Computing II, COMP 513 Computer Systems Foundations II and CS 504 Principles of Data Management and Mining may not be applied toward Computer Science, MS degree requirements.


Certificate Conferral

Certificate students who elected a bridge pathway on their graduate admission application, and who are successfully completing their final term of Computing Foundations Graduate Certificate courses, must apply to graduate from the Certificate and submit a transition form to the Computer Science department before the graduation application inactivation deadline. Failure to apply to graduate and submit a transition form to the department before the graduation application inactivation deadline may forfeit the bridge option and students may be required to submit a new Graduate Admission application for a future term if they wish to proceed with the Computer Science, MS degree program.


Master’s Conferral

Students who have successfully completed all Computer Science, MS degree requirements within university time limits (AP.6.9.2) will have their Master’s conferred after completing their application for graduation.


See More
How can I help you today?