Teaches students how reusable parallel programs can be designed, implemented, optimized, validated, maintained, and enhanced by applying effective functional and object-oriented development practices, patterns, and frameworks.
Earn Your Master’s of Computer Science Online
“We’ve come up with a cohesive set of classes that will give you a body of knowledge needed to be relevant as a software engineer in today’s climate.”
— Prof. Jules White, Associate Dean for Strategic Learning Programs
Gain fundamental computer science knowledge and the critical thinking skills needed to become an innovative problem solver in today’s tech industry. The online master of science in computer science offers a flexible curriculum designed by expert Vanderbilt faculty, exposure to world-renowned research and entrepreneurship, and connections to a motivated community. You will develop meaningful relationships with peers, professors and researchers through live, face-to-face experiences that will equip you with the necessary skills and insights to excel in today's technological industry.
Admissions to the Online Computer Science Master’s Degree
To qualify for the online master’s in computer science, you must hold a bachelor’s degree in computing or a computing-related field in engineering or natural science, or hold a bachelor’s degree in another subject, but have significant experience in computer science and programming.
Programming experience in at least one of the following computing languages is highly recommended: Java, JavaScript, Python, C++, Objective C, Swift, C#, Kotlin, Clojure, Ruby, Haskell, or Scala.
Academic Year 2024
Admissions Deadlines |
Summer 2024 |
Fall 2024 |
Final Submit Deadline |
3/15/2024 |
6/28/2024 |
Final Complete Deadline |
3/22/2024 |
7/5/2024 |
Faculty Review Deadline |
3/29/2024 |
7/12/2024 |
Final Decision Deadline/Deposit Deadline |
4/12/2024 |
7/26/2024 |
Registration Opens in YES |
3/25/2024 |
7/9/2024 |
First day of class |
5/6/2024 |
8/21/2024 |
GRE test scores are not required to apply to the M.S. in computer science program.
Learn more and view a detailed list of application requirements on the Admissions page.
Receive Personalized Admissions Support:
Email us at onlinecs@vanderbilt.edu
Online Computer Science Master’s — Curriculum & Courses
The online master of computer science program will prepare you with skills applicable to creative tech careers through a curriculum focused as much on essential computer science knowledge as interdisciplinary and emerging practices.
The program curriculum focuses on the following key subject areas:
|
|
Develop Cross-Disciplinary Skills
As you develop your computer science knowledge and skills, you will also have opportunities to push your ideas in new directions through interdisciplinary exploration. Our program allows you to engage with faculty, work closely with other students and conduct your own research across topics.
Related subjects you may explore include:
|
|
By exploring areas where computer science intersects with related subjects like health care and medicine, energy and natural resources, security, and entertainment, you will be able to apply the skills you gain to tech positions in your own community.
Faculty incorporate hands-on exercises into the program, ensuring that you can apply knowledge gained in classes to real-world practice with high-demand, web-based technologies.
As a student, you’ll engage in exercises with native applications on various platforms; languages like Java, Python and JavaScript; and cloud computing and security.
Portfolio
By completing these course exercises and projects, you’ll develop solutions to real-world problems through hands-on assignments that will enhance your professional portfolio. This comprehensive portfolio will consist of exercises and projects on which you have worked, as well as any research you conducted. Upon graduation, you’ll be able to use your portfolio to showcase your abilities to employers.
The master of science in computer science online program consists of 30 credits that can be completed over the course of three to five terms. The program can be completed in approximately 12 months, granting students flexibility to customize their personal, professional and academic schedules as needed. Learn more about the courses you will take as a student in the program in the descriptions below.
Course Descriptions
-
-
Provides students with a deep understanding of conceptual and practical aspects of designing, implementing, and debugging concurrent software apps using patterns and frameworks related to Java and Android.
-
Principles and programming techniques of artificial intelligence. Strategies for searching, representation of knowledge and automatic deduction, learning, and adaptive systems. Survey of applications.
-
Machine learning, especially deep learning, is the key innovation in data science, computer science, and statistics. This class is a graduate course in machine learning, addressing both the practice of and the theories underlying machine learning. The class will briefly cover topics including the practice of machine learning, regression, classification, tree-based methods, feature engineering, mixture models, and introduce theoretical foundations of neural networks and deep learning.
-
The nature of software. The object-oriented paradigm. Software life-cycle models. Requirements, specification, design, implementation, documentation, and testing of software. Object-oriented analysis and design. Software maintenance.
-
Students work in teams to specify, design, implement, document, and test a nontrivial software project. The use of CASE (Computer Assisted Software Engineering) tools is stressed.
-
Computer communications. Network (Internet) architecture. Algorithms and protocol design at each layer of the network stack. Cross-layer interactions and performance analysis. Network simulation tools. Lab and programming assignments.
-
Principles of Cloud Computing. Fundamental concepts of cloud computing, different service models, techniques for resource virtualization, programming models, management, mobile cloud computing, recent advances, and hands-on experimentation.
-
Web-based System Architecture. Core concepts necessary to architect, build, test, and deploy complex web-based systems; analysis of key domain requirements in security, robustness, performance, and scalability.
-
Systems verification and validation, industrial case studies, propositional and predicate logic, syntax and semantics of computational tree and linear time logics, binary decision diagrams, timed automata model and real-time verification, hands-on experience with model checking using the SMV, SPIN and UPPAAL tools, and state reduction techniques.
-
Techniques and mechanisms in distributed system design, such as logical clocks, distributed consensus, distributed mutual exclusion, consistency models, fault tolerance and paradigms of communication. Contemporary distributed system case studies and open challenges.
-
An intensive study of selected areas of software engineering. Topics may include CASE tools, formal methods, generative techniques, aspect-oriented programming, metrics, modeling, reuse, and software architecture.
-
Topics may include empirical software engineering and open-source software engineering.
-
Model-Integrated Computing. Problems of designing, creating, and evolving information systems by providing rich, domain-specific modeling environments including model analysis and model-based program synthesis tools. Students are required to give a class presentation and prepare a project.
-
This course is a thorough exploration of the science of digital forensics. This course will include topics in OS forensics, mobile forensics, network forensics, forensic science theory, legal issues, etc. Standards and best practices in forensic science, such as NIST standards, will be covered. Numerous hands-on labs will be included that require application of theory, development of forensic arguments, and production of forensic papers.
-
Coverage of software techniques, methods, and tools used to develop large-scale mobile cloud computing systems and applications, including topics on API design, scalability, concurrency, parallelism, persistence, microservices, resilience, quality assurance, and deployment.
-
This course is an introduction to quantum computing. Fundamental concepts including quantum hardware, logical qubits, quantum algorithms, and quantum programming will be covered. While prior course work in linear algebra and physics would help a student, they are not required.
Sample Course Sequences
The Accelerated Track can be completed in as little as 12 months over three terms. The Standard Track can be completed in as few as 20 months over five terms.
When choosing the Standard or Accelerated Track, you should also assess whether your course load will be considered full-time or part-time for financial aid purposes. More information can be found on the Financial Aid FAQs.
-
Term 1 (6 units)
Term 2 (6 units)
Computer Networks (CS 5283) (3 Units)
Term 3 (6 units)
Web-Based System Architecture (CS 5288) (3 Units)
Term 4 (6 units)
Distributed Systems Principles (CS 6381) (3 Units)
Advanced Software Engineering (CS 6385) (3 Units)
Term 5 (6 units)
Model-Integrated Computing (CS 6388) (3 Units)
Principles of Cloud Computing (CS 5287) (3 Units)
-
Term 1 (9 Units)
Term 2 (12 Units)
Computer Networks (CS 5283) (3 Units)
Web-Based System Architecture (CS 5288) (3 Units)
Distributed Systems Principles (CS 6381) (3 Units)
Term 3 (9 Units)
Advanced Software Engineering (CS 6385) (3 Units)
Model-Integrated Computing (CS 6388) (3 Units)
Principles of Cloud Computing (CS 5287) (3 Units)
-
CS 5253: Parallel Functional Programming (3 Units)
Teaches students how reusable parallel programs can be designed, implemented, optimized, validated, maintained, and enhanced by applying effective functional and object-oriented development practices, patterns, and frameworks.
CS 5254: Concurrent Object-Oriented Programming (3 Units)
Provides students with a deep understanding of conceptual and practical aspects of designing, implementing, and debugging concurrent software apps using patterns and frameworks related to Java and Android.
CS 5260: Artificial Intelligence (3 Units)
Principles and programming techniques of artificial intelligence. Strategies for searching, representation of knowledge and automatic deduction, learning, and adaptive systems. Survey of applications.
CS 5262: Foundations of Machine Learning (3 Units)
Machine learning, especially deep learning, is the key innovation in data science, computer science, and statistics. This class is a graduate course in machine learning, addressing both the practice of and the theories underlying machine learning. The class will briefly cover topics including the practice of machine learning, regression, classification, tree-based methods, feature engineering, mixture models, and introduce theoretical foundations of neural networks and deep learning.
CS 5278: Principles of Software Engineering (3 Units)
The nature of software. The object-oriented paradigm. Software life-cycle models. Requirements, specification, design, implementation, documentation, and testing of software. Object-oriented analysis and design. Software maintenance.
CS 5279: Software Engineering Projects (3 Units)
Students work in teams to specify, design, implement, document, and test a nontrivial software project. The use of CASE (Computer Assisted Software Engineering) tools is stressed.
CS 5283: Computer Networks (3 Units)
Computer communications. Network (Internet) architecture. Algorithms and protocol design at each layer of the network stack. Cross-layer interactions and performance analysis. Network simulation tools. Lab and programming assignments.
CS 5287: Principles of Cloud Computing (3 Units)
Principles of Cloud Computing. Fundamental concepts of cloud computing, different service models, techniques for resource virtualization, programming models, management, mobile cloud computing, recent advances, and hands-on experimentation.
CS 5288: Web-Based System Architecture (3 Units)
Web-based System Architecture. Core concepts necessary to architect, build, test, and deploy complex web-based systems; analysis of key domain requirements in security, robustness, performance, and scalability.
CS 6315: Automated Verification (3 Units)
Systems verification and validation, industrial case studies, propositional and predicate logic, syntax and semantics of computational tree and linear time logics, binary decision diagrams, timed automata model and real-time verification, hands-on experience with model checking using the SMV, SPIN and UPPAAL tools, and state reduction techniques.
CS 6381: Distributed Systems Principles (3 Units)
Techniques and mechanisms in distributed system design, such as logical clocks, distributed consensus, distributed mutual exclusion, consistency models, fault tolerance and paradigms of communication. Contemporary distributed system case studies and open challenges.
CS 6385: Advanced Software Engineering (3 Units)
An intensive study of selected areas of software engineering. Topics may include CASE tools, formal methods, generative techniques, aspect-oriented programming, metrics, modeling, reuse, and software architecture.
CS 6387: Topics in Software Engineering: Security (3 Units)
Topics may include empirical software engineering and open-source software engineering.
CS 6388: Model-Integrated Computing (3 Units)
Model-Integrated Computing. Problems of designing, creating, and evolving information systems by providing rich, domain-specific modeling environments including model analysis and model-based program synthesis tools. Students are required to give a class presentation and prepare a project.
CS 8395: Special Topics: Digital Forensics (3 Units)
This course is a thorough exploration of the science of digital forensics. This course will include topics in OS forensics, mobile forensics, network forensics, forensic science theory, legal issues, etc. Standards and best practices in forensic science, such as NIST standards, will be covered. Numerous hands-on labs will be included that require application of theory, development of forensic arguments, and production of forensic papers.
CS 8395: Special Topics: Microservices (3 Units)
Coverage of software techniques, methods, and tools used to develop large-scale mobile cloud computing systems and applications, including topics on API design, scalability, concurrency, parallelism, persistence, microservices, resilience, quality assurance, and deployment.
CS 8395: Special Topics: Quantum Computing (3 Units)
This course is an introduction to quantum computing. Fundamental concepts including quantum hardware, logical qubits, quantum algorithms, and quantum programming will be covered. While prior course work in linear algebra and physics would help a student, they are not required.
-
Term 1 (6 units)
Principles of Software Engineering (CS 5278) (3 Units)
Concurrent Object-Oriented Programming (CS 5254) (3 Units)
Term 2 (6 units)
Topics in Software Engineering: Security (CS 6387) (3 Units)
Computer Networks (CS 5283) (3 Units)
Term 3 (6 units)
Parallel Functional Programming (CS 5253) (3 Units)
Web-Based System Architecture (CS 5288) (3 Units)
Term 4 (6 units)
Distributed Systems Principles (CS 6381) (3 Units)
Advanced Software Engineering (CS 6385) (3 Units)
Term 5 (6 units)
Model-Integrated Computing (CS 6388) (3 Units)
Principles of Cloud Computing (CS 5287) (3 Units)
-
Term 1 (9 Units)
Principles of Software Engineering (CS 5278) (3 Units)
Concurrent Object-Oriented Programming (CS 5254) (3 Units)
Topics in Software Engineering: Security (CS 6387) (3 Units)
Term 2 (12 Units)
Computer Networks (CS 5283) (3 Units)
Parallel Functional Programming (CS 5253) (3 Units)
Web-Based System Architecture (CS 5288) (3 Units)
Distributed Systems Principles (CS 6381) (3 Units)
Term 3 (9 Units)
Advanced Software Engineering (CS 6385) (3 Units)
Model-Integrated Computing (CS 6388) (3 Units)
Principles of Cloud Computing (CS 5287) (3 Units)
What Makes Vanderbilt One of the Most Innovative Universities?
Faculty-Driven Discoveries
School of Engineering faculty are experts in highly relevant and growing fields — many of them actively working on solving complex problems using tools they helped invent — and they share their knowledge directly with students. For example, our faculty are leading the charge in the development of cyber-physical systems and even coined the term for these systems that provide the foundations for the Internet of Things (IoT) and Industrial Internet (II).
An Incubator for Research
You will also have the chance to explore technological problems and research in which Vanderbilt’s faculty is actively engaged. Current initiatives include the Institute for Software Integrated Systems, where researchers are writing the rules of modern security systems, and the Artificial Intelligence team is working to improve access for people with disabilities. As a student, you’ll gain exposure to the latest research and developments that are making an impact in the computer science field.
The Wond'ry
The Wond’ry is a site dedicated to fostering cross-disciplinary innovation at Vanderbilt. Located on campus directly next to the Engineering and Science Building, the space houses studios, workshops and labs where students and faculty from all schools, levels and disciplines can connect to create new technologies and processes that make a difference in people’s lives — on and off campus. The work that happens at the Wond’ry will inform what you learn in your online classes and even research projects that you pursue.
Computer Science Career Paths After Earning Your Master's Degree
The Vanderbilt M.S. in computer science online program’s interdisciplinary curriculum can prepare you for a number of careers in computer science after graduation.
Which Computer Science Career Is Right for Me?
Part of the value of earning your computer science master's degree online is to discover and increase the career options available to you.
Computer science–related careers and salaries can include the following:3, 4
- $84,280 Computer programmer
- $109,020 Computer network architect
- $142,530 Computer and information systems manager
- $98,350 Information security analyst
More jobs you can pursue after earning your computer science master’s degree include software developer, network security architect, database administrator and computer systems analyst.
If you pursue interdisciplinary studies in the program, you can also employ your skills for solving complex computer science problems outside of traditional technical fields in industries such as consulting, medicine, law and finance.
The M.S. in computer science program emphasizes the application of computer science and software engineering concepts while also covering a breadth of technical subject areas. Through interdisciplinary exploration, collaborative work and independent projects, you will gain the tools for solving complex computer science problems.
The program’s emphasis on hands-on learning will equip you with in-demand skills that you can immediately apply to various technology careers.
Receive Personalized Admissions Support:
Email us at onlinecs@vanderbilt.edu
Learn online in HD in Live, weekly classes
Complete in as few as 12 months
Network with diverse classmates across the country
No GRE scores required to apply
Why Earn a Master’s of Computer Science Online from Vanderbilt?
As the #1 Online Master’s Degree in Computer Science in 2022 according to Fortune, Vanderbilt provides an environment that will nurture your growth as a tech professional.1 Our program will offer you first-hand exposure to the latest developments in the field. As a student, you will become a member of a hardworking, bustling community that is influencing change in the real world, right now.
The Vanderbilt School of Engineering is a powerhouse for innovation in technology and interdisciplinary fields. Through leading research and entrepreneurial efforts, faculty and students continuously address important issues impacting society. Our online M.S. in computer science program allows students to implement new solutions and ways of thinking in communities around the world.
Discover the Value of Vanderbilt
Read articles on the blog, The Engineering VU.
Hands-on programming. Hands-on design. Hands-on exercise.
— Doug Schmidt, Cornelius Vanderbilt Professor of Engineering
Learn from Expert Faculty in Our Online Master’s in Computer Science
Studying computer science online is just as impactful as in-person. Designed and taught by Vanderbilt’s renowned faculty, the program curriculum reflects their direct experiences creating, solving and securing systems. Because our faculty stay on top of the latest computer science developments, you will too.
Faculty will also offer guidance if you choose to conduct your own research. As a student, you will be able to explore areas of interest, and Vanderbilt faculty will discuss your ideas and collaborate with you on projects. Like on-campus students, you’ll be able to work directly with an adviser as you conduct research.
The research that we conduct, we definitely bring directly into the courses. All the years I spent designing large-scale, web-based applications — that’s presented in the class.
— Graham Hemingway, Associate Professor
The Campus Convening
The on-campus convening is a three-day weekend event each Fall that brings online students and program faculty together at Vanderbilt University in Nashville, Tennessee. This experience will serve as an introduction to Vanderbilt University student life and create opportunities for students to immerse themselves into Vanderbilt’s historic campus and everything it has to offer. Newly admitted cohorts will have the opportunity to meet classmates, hear from industry experts and interact with faculty on a personal level.
Pursue Creative
Computer Science Jobs
Earn Your M.S. in Computer Science Online
Start Your Career Today — Apply Now
Decide to pursue the online M.S. in computer science program today.
1Vanderbilt University, Vanderbilt named No. 1 in Fortune's 2022 Best Online Master's in Computer Science Programs. Accessed July 2022.
2U.S. News & World Report, National University Rankings in 2024. Accessed September 2023.
3U.S. Bureau of Labor Statistics, Computer and Information Technology Occupations Accessed April 2020.
4U.S. Bureau of Labor Statistics, Computer and Information Systems Managers. Accessed April 2020.