Computer Science
Master of Science in Computer Science
Accelerate your upward career mobility with a master’s degree in computer science from the Virginia Commonwealth University (VCU) College of Engineering. We are among the best graduate programs in the nation as ranked by U.S. News and World Report. Combined with our industry connections and access to Richmond-area businesses, VCU Engineering is a solid choice for your continuing education.
More technology focused than traditional engineering tracks, the VCU Engineering master’s degree in computer science emphasizes self development of individuals currently engaged in science-, technology- and engineering-related fields. Both the theoretical and applied aspects of computer science are emphasized in this program, which encompasses the design, development and utilization of computers and software.
What you’ll learn
Our 30-credit program can be completed in about two years by full time students and allows students to specialize in areas of computer science like:
- Artificial intelligence
- Bioinformatics
- Cloud computing
- Cybersecurity, robotics
- Data mining
- Data science
- High performance
- Machine learning
- Natural language processing
- Software engineering
- Virtual reality
You will develop the advanced software design and problem solving skills sought by many employers. By applying creativity to form innovative solutions, master’s program students will use their knowledge to solve technological problems to meet the needs of our changing society and advance the quality of human life.
The VCU College of Engineering is etched into the landscape of Richmond, giving students access to a culturally vibrant and diverse city full of potential. We focus on developing close partnerships with public institutions and private businesses in order to give you unique learning and job opportunities.
Master’s program students also have access to benefits like:
- Faculty who are industry experts, finding innovative solutions in their fields with well-funded labs and industry partnerships
- Design your own path to education with flexible electives and focus on computer science and engineering topics you are passionate about
- Dedicated Career Services department that provides internship and employment opportunities
- Industry connections through college partnerships with public and private industry
- Interdisciplinary education to teach collaboration with engineering practitioners outside your field of stud
Reference the VCU Bulletin for a full list of computer science classes. Master’s program courses are 500 level and above (for example, EGMN 605). Below are a few signature courses from the program:
- Advanced Algorithms (CMSC501): Dive into advanced graph algorithms, advanced data structures, applied numerical algorithms, optimization methods, approximation methods for hard graph and string problems and computational geometry algorithms.
- High Performance Distributed Systems (CMSC603): Understand the concepts underlying distributed systems and analyze problems to identify performance bottlenecks, parallelization opportunities and concurrency issues in a distributed environment. Create distributed and scalable implementations using multiple hosts/GPUs while designing and implementing algorithms using Hadoop, Spark and CUDA.
- Knowledge Discovery and Data Mining (CMSC635): Learn knowledge discovery and data mining concepts, tools and methods with hands-on projects involving analysis of large, real-life data. Topics include the knowledge discovery process; data storage and representation; preprocessing algorithms for missing data imputation; feature selection and discretization; unsupervised learning algorithms for clustering and association mining; supervised learning algorithms including decision trees; Bayesian models and introduction to support vector machines and neural networks; ensemble learning; protocols and measures for validation of predictive models; and data security and privacy issues.
- Artificial Neural Networks and Deep Learning (CMSC636): Become familiar in a range of topics like fundamental learning rules; functional, cascade correlational, recurrent and gradient descent networks; neocognition, softmax, deep convolutional networks; autoencoders; and pre-trained deep learning (restricted Boltzmann machines).
A graduate degree in computer science can facilitate career advancement in a number of industries like:
- Commercial banking and credit
- Healthcare
- Information technology
- Internet and telecommunications
- Investment banking
Consider possibilities like:
- Computer systems analyst: Computer systems analysts, or systems analysts, help organizations use computer technology efficiently and effectively. They analyze present systems or processes to identify areas of improvement, make recommendations and provide cost-benefit analyses to determine whether to upgrade or replace systems.
- Cyber security engineering director: A cyber security engineer develops and implements an organization's security protocols and systems. They often identify security solutions, develop and implement defense layers, respond to attempts at network intrusion, configure and install detection systems and firewalls. Security engineers often also test system defenses, software and hardware.
- Senior software developer: A senior software developer designs applications or software a user may use to perform a specific task. This may be a specific application or software or it may be a larger system or network related to control or device networks. Senior software developers often assess and improve systems, write new code, develop operational manuals and submit progress reports for the project.
With the help of our Career Services team, VCU College of Engineering graduates have many opportunities to network with alumni and industry professionals. Our students work at companies like:
- Black Knight Technology Inc.
- Blue River Technology
- Brightspot
- CACI
- Capital One
- CoStar Group
- Cotiviti
- Federal Reserve Bank of Richmond
- Genworth
- HP
- Micron Technology Inc.
- Microsoft
- MITRE Corporation
- NT Concepts
- UST
How to apply
VCU offers an online, self-managed application process. See what’s needed to apply for an engineering graduate program and reference our list of Frequently Asked Questions (FAQ).