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 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.
Applicants must also submit the following:
- Transcripts of all post secondary education
- A one-page statement of educational and career goals
- A current resume
- Two letters of recommendation, preferably from instructors
- A valid GRE score if they have not earned a Bachelor's degree or higher from a US institution
- Internationally-educated applicants must submit an English Proficiency Exam Score, if applicable
- The baccalaureate degree must include the following subjects:
- Calculus I and II (equivalent to MATH 113 Analytic Geometry and Calculus I (Mason Core) and MATH 114 Analytic Geometry and Calculus II)
- Introductory and Object-Oriented Programming (equivalent to CS 112 Introduction to Computer Programming (Mason Core) and CS 211 Object-Oriented Programming )
- Discrete Mathematics (equivalent to MATH 125 Discrete Mathematics I (Mason Core)
- 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)
Alternatively, students may take equivalent courses after their undergraduate program and before applying to the MSCS program, and submit appropriate transcripts. George Mason’s School of Computing offers the following foundation courses, which students can use to bridge into the MS CS program:
- Introductory and Object-Oriented Programming: COMP 501 Computer Programming Foundations I
- Discrete Mathematics: COMP 502 Mathematical Foundations of Computing I
- Computer Architecture: COMP 503 Computer Systems Foundations I
- Data Structures and Algorithms: COMP 511 Computer Programming Foundations II
- Automata Theory and Formal Languages: COMP 512 Mathematical Foundations of Computing II
The COMP bridge courses can be taken in non-degree status, provisional status, while enrolled in the Foundations of Computing (bridge) program, or while enrolled in a different MS program. Students who earn a B or better in all the foundation courses they did not have in their undergraduate degree can then apply for full admission into the MSCS program. Eligible domestic students who lack one or more foundation courses may be admitted provisionally and may be required to take the appropriate foundation courses before converting to full degree status.
Degree Requirements
Total credits: 30
Required Courses and Plan of Study
In addition to general university requirements, the MS in CS requires a minimum of 30 graduate credits.
To ensure that students have uniform preparation for the core courses, all students are required to take 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 for 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 failing 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 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 pre-approved 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 higher. Students receiving lower than a B- must retake the course or face termination.
- At least four courses (12 credits) must be chosen from the advanced courses in the list of pre-approved courses from at least two 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 pre-approved courses. 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
Code | Title | Credits |
---|---|---|
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 Design and Architecture | ||
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 |
Pre-approved Basic and Advanced MS CS Courses by Area
Code | Title | Credits |
---|---|---|
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 | ||
Advanced Natural Language Processing | ||
Instructable Cognitive Agents | ||
Autonomous Robotics | ||
Advanced Artificial Intelligence | ||
Machine Learning | ||
Planning Motions of Robots and Molecules | ||
Deep Learning | ||
Advanced Machine Learning | ||
Decision Guidance Systems | ||
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 Design and Architecture | ||
Distributed Software Engineering | ||
Advanced Courses: | ||
Advanced Compilers | ||
Software Design Patterns | ||
User Interface Design and Development | ||
Software Testing | ||
Software Engineering for the World Wide Web | ||
Component-Based Software Development | ||
Secure Software Design and Programming | ||
or ISA 681 | Secure Software Design and Programming | |
Reusable Software Architectures | ||
Advanced Software Testing | ||
Software Analysis and Design of Real-Time Systems | ||
Systems and Networks | ||
Basic Courses: | ||
Computer Systems and Fundamentals of Systems Programming | ||
Computer Communications and Networking | ||
Operating Systems | ||
Introduction to Cryptography | ||
Information Security Theory and Practice | ||
Security Laboratory | ||
Advanced Courses: | ||
Foundations of Parallel Computation | ||
Wireless and Mobile Computing | ||
Networked Virtual Environments | ||
Computer System Performance Evaluation | ||
Multimedia Computing and Systems | ||
Distributed Systems | ||
Concurrent Software Systems | ||
Scalable Internet Services | ||
Performance Analysis of Computer Networks | ||
Real-Time Systems Design and Development | ||
Topics in Resilient and Secure Computer Systems | ||
Autonomic Computing | ||
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 | ||
Advanced Algorithms | ||
Computational Geometry | ||
Parallel Algorithms | ||
Graph Algorithms | ||
Visual Computing | ||
Basic Courses: | ||
Computer Graphics | ||
Advanced Courses: | ||
Computer Graphics Game Technologies | ||
Computational Design | ||
Biometrics and Identity Management | ||
Computer Vision | ||
Image Processing and Applications | ||
Interactive Graphics Software | ||
Computational Vision | ||
Human-Computer Intelligent Interaction |
Project or Thesis
Three to six credit hours of the advanced classes may be replaced by a project or thesis with consent of a faculty sponsor and faculty advisor. 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.
Code | Title | Credits |
---|---|---|
Select one from the following: | ||
Research Project (3 credits) | ||
MS Thesis (6 credits) |
Additional Pre-approved 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.
Code | Title | Credits |
---|---|---|
CS 595 | Basic Topics in Computer Science | 3 |
CS 695 | Topics in Computer Science | 3 |
CS 697 | Independent Reading and Research | 3 |
CS 795 | Advanced Topics in CS | 3 |
CS 798 | Research Project | 3 |
CS 799 | MS Thesis | 1-6 |
CS 895 | Research Topics in CS | 3 |
SWE 699 | Special Topics in Software Engineering | 3 |
SWE 795 | Advanced Topics in Software Engineering | 3 |
SWE 796 | Directed Readings in Software Engineering | 3 |
Concentration in Cyber Security (CYSC)
In addition to the existing program requirements, MS CS degree students must satisfy the following requirements.
Students must take 5 courses from the following categories:
Code | Title | Credits |
---|---|---|
Required: | ||
ISA 656 | Network Security | 3 |
ISA 562 | Information Security Theory and Practice | 3 |
Choose 2-3 elective courses: | 6-9 | |
Introduction to Cryptography | ||
Security Laboratory | ||
Operating Systems Security | ||
Intrusion Detection | ||
Secure Software Design and Programming | ||
or ISA 681 | Secure Software Design and Programming | |
Security Protocol Analysis | ||
Security Experimentation | ||
Choose 0-1 related course: | 0-3 | |
Language Processors | ||
Computer Communications and Networking | ||
Operating Systems | ||
Theory of Computation | ||
Wireless and Mobile Computing |
Thesis:
Students, with the consent of a faculty sponsor and faculty advisor, may also elect a 6-credit thesis (CS 799 MS Thesis). The thesis must be guided and approved by a committee of three appropriate faculty members and presented at an appropriate forum. If the faculty advisor and the program director agree that the thesis is appropriate for the concentration the students will need to complete the two courses from the category 1 and one course from the category 2 in addition to the thesis to complete the Concentration requirements.
Concentration in Machine Learning (ML)
In addition to the existing program requirements, MS CS degree students must satisfy the following requirements.
Students must take 5 courses from the following categories:
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 | |
Mining Massive Datasets with MapReduce | ||
Instructable Cognitive Agents | ||
Deep Learning | ||
Advanced Machine Learning | ||
Choose 0-1 related course: | 0-3 | |
Introduction to Artificial Intelligence | ||
Advanced Artificial Intelligence | ||
Autonomous Robotics | ||
Computer Vision |
Thesis (optional):
Students, with the consent of a faculty sponsor and faculty advisor, may also elect a 6-credit thesis (CS 799 MS Thesis). The thesis must be guided and approved by a committee of three faculty members and presented to the committee. If the faculty advisor and the program director agree that the thesis is appropriate for the concentration the student will need to complete the two courses from category 1 and one course from category 2 in addition to the thesis to complete the concentration requirements.
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.
General BAM policies are in the catalog under AP.6.7 Bachelor's/Accelerated Master's Degrees. Policies governing all graduate degrees are in the catalog under AP.6 Graduate Policies.
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.
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.
The following graduate courses can replace the corresponding undergraduate courses.
Code | Title | Credits |
---|---|---|
CS 540 | Language Processors (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 584 | Theory and Applications of Data Mining (to replace CS 484) | 3 |
CS 583 | Analysis of Algorithms (to replace CS 483) | 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 |
Notes:
- Students may not use both the graduate course and the undergraduate alternative for their BS degree.
- Students must satisfy all recommended and required prerequisites for the graduate courses they take.
- Students also have the option to take up to 6 additional credits of graduate coursework on reserve, which can be used for the MS degree only.
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.
General BAM policies are in the catalog under AP.6.7 Bachelor's/Accelerated Master's Degrees. Policies governing all graduate degrees are in the catalog under AP.6 Graduate Policies.
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.
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.
The following graduate courses can replace the corresponding undergraduate courses.
Code | Title | Credits |
---|---|---|
CS 540 | Language Processors (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 |
Notes:
- Students may not use both the graduate course and the undergraduate alternative for their BS degree.
- Students must satisfy all recommended and required prerequisites for the graduate courses they take.
- Students also have the option to take up to 6 additional credits of graduate coursework, on reserve, which can be used for the MS degree only.
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.