This is the preliminary (or launch) version of the 2024-2025 VCU Bulletin. Courses that expose students to cutting-edge content and transformative learning may be added and notification of additional program approvals may be received prior to finalization. General education program content is also subject to change. The final edition and full PDF version will include these updates and will be available in August prior to the beginning of the fall semester.

Program mission

The program is designed to develop skills and educate CS students to be major contributors in the computing industry. The graduate program in computer science provides state-of-the-art education through the use of didactic courses to those students who wish to further their knowledge and careers within the computing industry. The program emphasizes continuing self-development and broadening of the knowledge of individuals currently engaged in science, technology and engineering-related fields. It also prepares persons who have completed undergraduate majors in these fields for entry into a career in the numerous areas that use computing technology. Both the theoretical and applied aspects of computer science are emphasized in this program.

Program goals

  1. Advanced software design skills: To produce graduates who possess the necessary advanced analytical and technical skills in computer science – responds directly to the higher goal of fulfilling the needs of industry, academe and research laboratories for effective, productive engineers, professors and researchers
  2. Advanced problem-solving skills: To produce graduates who demonstrate creativity and innovation in solving technological problems – stems from the realization that new knowledge and new solutions to existing problems are necessary to meet the needs of our changing society and to advance the quality of human life

Student learning outcomes

  1. Computer science theory and concepts: Graduates will demonstrate a solid understanding of the advanced theory and concepts underlying computer science.
  2. System design and implementation: Graduates will demonstrate the ability, knowledge and technical skills to design and implement a computer-based system, process, component or program.
  3. Applications of computer science in multiple domains: Graduates will demonstrate the ability to use the knowledge of computer science in order to solve problems in other domains.

VCU Graduate Bulletin, VCU Graduate School and general academic policies and regulations for all graduate students in all graduate programs

The VCU Graduate Bulletin website documents the official admission and academic rules and regulations that govern graduate education for all graduate programs at the university. These policies are established by the graduate faculty of the university through their elected representatives to the University Graduate Council.

It is the responsibility of all graduate students, both on- and off-campus, to be familiar with the VCU Graduate Bulletin as well as the Graduate School website and academic regulations in individual school and department publications and on program websites. However, in all cases, the official policies and procedures of the University Graduate Council, as published on the VCU Graduate Bulletin and Graduate School websites, take precedence over individual program policies and guidelines.

Visit the academic regulations section for additional information on academic regulations for graduate students.

Degree candidacy requirements (thesis option only)

A graduate student admitted to a program or concentration requiring a final research project, work of art, thesis or dissertation, must qualify for continuing master’s or doctoral status according to the degree candidacy requirements of the student’s graduate program. Admission to degree candidacy, if applicable, is a formal statement by the graduate student’s faculty regarding the student’s academic achievements and the student’s readiness to proceed to the final research phase of the degree program.

Graduate students and program directors should refer to the following degree candidacy policy as published in the VCU Graduate Bulletin for complete information and instructions.

Visit the graduate-specific academic regulations section for additional information on academic regulations for graduate students.

Graduation requirements

As graduate students approach the end of their academic programs and the final semester of matriculation, they must make formal application to graduate. No degrees will be conferred until the application to graduate has been finalized.

Graduate students and program directors should refer to the following graduation requirements as published in the Graduate Bulletin for a complete list of instructions and a graduation checklist.

Visit the academic regulations section for additional information on graduation requirements.

Other information

Student handbook is available on the College of Engineering website.

Apply online today.

Admission requirements

Degree: Semester(s) of entry: Deadline dates: Test requirements:
M.S. Fall (preferred) Jun 1 English language proficiency test scores for international students
Spring Nov 1

In addition to the general admission requirements of the VCU Graduate School and the College of Engineering, applicants to the M.S. program in computer science must satisfy the requirements outlined below.

Acceptance of an applicant is based upon the recommendation of the graduate committee with approval of the program chair and the associate dean for graduate studies.

Undergraduate education in computer science or in a related discipline or completion of Post-baccalaureate Undergraduate Certificate in Computer Science is highly preferred.

Degree requirements

In addition to the VCU Graduate School graduation requirements, students must complete a minimum of 30 credit hours at the graduate level. Students may not present courses receiving grades less than C for fulfilling degree requirements and can only present up to six credit hours of course work receiving a grade of C. Students may choose either a thesis or non-thesis degree program option. The thesis option is suggested for students who have a strong research interest or those who wish to pursue a Ph.D.

At most, six non-CMSC credits may be applied toward the degree. Approval of the graduate committee is required before taking the credits.

Up to 30 percent of a student’s required non-research graduate-level credits can be transferred into the M.S. program from another college or university. No more than 30 percent of student’s required non-research credits in graduate-level courses taken at VCU before admission to the M.S. program may be counted toward the M.S. degree (see bulletin for the accelerated B.S-M.S. in Computer Science program for exception to this rule). The number of credits that may be transferred by students pursuing an M.S. in Computer Science through the Commonwealth Graduate Engineering Program is limited by CGEP policy to 50 percent of the required credits.

All transfer credits must be approved by the graduate committee and the Graduate School using the graduate course transfer form. These credits must not have been applied to any other degree (see bulletin for the accelerated B.S-M.S. in Computer Science program for exception to this rule); however, they may have been taken as part of a post-baccalaureate graduate certificate program.

Students must satisfy breadth requirements by taking two courses from each of the foundational areas. There are three foundational areas for computer science graduate studies: theory, systems and applied computer science.

Curriculum requirements

Non-thesis option 1

Course Title Hours
Theory foundational area
CMSC 501Advanced Algorithms3
Select at least one course from the following:3
Regularization Methods for Machine Learning
Advanced Social Network Analysis and Security
Theory of Programming Languages
Topics in Computer Science 2
Convex Optimization
Applied Cryptography
Theory of Computation
Image Analysis
Statistical Learning and Fuzzy Logic Algorithms
Special Topics in Computer Science 2
Systems foundational area
Select at least two of the following:6
Parallel Algorithms
Computer Networks and Communications
Introduction to Software Analysis, Testing and Verification
Topics in Computer Science 2
High Performance Distributed Systems
Advanced Computer Architecture
Advanced Database
Cryptocurrency and Blockchain Techniques
Database and Application Security
Network and System Security
Mobile Networks: Applications, Modeling and Analysis
Special Topics in Computer Science 2
Applied computer science foundational area
Select at least two of the following:6
Advanced Computational Intelligence
Advanced Natural Language Processing
Topics in Computer Science 2
Algorithmic Foundations of Bioinformatics
Game Theory and Security
Cloud Computing
Knowledge Discovery and Data Mining
Artificial Neural Networks and Deep Learning
Special Topics in Computer Science 2
Additional course work
Select 12 additional credit hours of didactic coursework with adviser approval.12
Total Hours30
1

Graduate course work only (500 level or higher) may be applied to a graduate degree with at least one half of required course work designated exclusively for graduate students (600 or higher).

2

Only selected sections of CMSC 591 and CMSC 691 count toward individual foundational areas; see the program director for appropriate selections.

The minimum number of graduate credit hours required for this degree is 30.

Thesis option 1

Course Title Hours
Theory foundational area
CMSC 501Advanced Algorithms3
Select at least one course from the following:3
Regularization Methods for Machine Learning
Advanced Social Network Analysis and Security
Theory of Programming Languages
Topics in Computer Science 2
Convex Optimization
Applied Cryptography
Theory of Computation
Image Analysis
Statistical Learning and Fuzzy Logic Algorithms
Special Topics in Computer Science 2
Systems foundational area
Select at least two of the following:6
Parallel Algorithms
Computer Networks and Communications
Introduction to Software Analysis, Testing and Verification
Topics in Computer Science 2
High Performance Distributed Systems
Advanced Computer Architecture
Advanced Database
Cryptocurrency and Blockchain Techniques
Database and Application Security
Network and System Security
Mobile Networks: Applications, Modeling and Analysis
Special Topics in Computer Science 2
Applied computer science foundational area
Select at least two of the following:6
Advanced Computational Intelligence
Advanced Natural Language Processing
Topics in Computer Science 2
Algorithmic Foundations of Bioinformatics
Game Theory and Security
Cloud Computing
Knowledge Discovery and Data Mining
Artificial Neural Networks and Deep Learning
Special Topics in Computer Science 2
Additional course work
Select three additional credit hours of didactic course work with adviser approval.3
Research
CMSC 697Directed Research 39
Total Hours30
1

Graduate course work only (500 level or higher) may be applied to a graduate degree with at least one half of required course work designated exclusively for graduate students (600 or higher). 

2

Only selected sections of CMSC 591 and CMSC 691 count toward individual foundational areas; see the program director for appropriate selections.

3
Students seeking to take a research credit course must find a faculty adviser willing to supervise the research.

The minimum number of graduate credit hours required for this degree is 30.

Degree candidacy requirements (thesis option only)

In order to advance to master’s candidacy, the student must:

  1. Have completed required course work
  2. Have a minimum 3.0 GPA in graduate course work

For fulfilling candidacy requirements:

  1. Students may not present courses receiving grades less than C or not conforming to Graduate School graduation requirements. No more than six credit hours with a grade of C may be presented. 
  2. Students must be in compliance with candidacy requirements of VCU Graduate School and be in compliance with the time to degree, which is six years for a master’s degree.
  3. The student will produce a written thesis in the format specified by the VCU Graduate School and will publicly defend the thesis before a committee consisting of the thesis adviser, at least one other faculty member from the computer science program and a faculty member from outside of the computer science program.

Typical plan of study

Students should choose thesis or non-thesis option during their first semester of study. The non-thesis option is the default.

The typical plan of study for non-thesis option students involves doing between nine and 15 credit hours per semester and fulfilling the requirements of the program typically in three semesters.

A plan of study for thesis option students should be designed with the research adviser of the student to take into account the direction of thesis research.

Accelerated opportunities

The department offers opportunities for qualified undergraduate students to earn both an undergraduate and graduate degree in a minimum of five years by completing approved graduate courses during the senior year of their undergraduate program. See the individual program page for concentrations in the Undergraduate Bulletin for details.

Contact
Bridget Thomson-McInnes, Ph.D.
Associate professor and graduate program director
csgrad@vcu.edu

Additional contact
Krzysztof J. Cios, Ph.D.
Professor and chair, Department of Computer Science
kcios@vcu.edu
(804) 828-9671

Program website: computer-science.egr.vcu.edu/graduate