Graduate Courses
Anticipated graduate course offerings for the next two academic years are available here.
Advanced Topics and Special Study Courses
Advanced topics and special study courses explore subjects of unique interest that are not part of the regular curriculum. These courses vary by semester and are sometimes used to address emerging issues within a field or to gauge interest in potential new areas of study. For more information, please visit the Advanced Topics and Special Study Courses page.
Cognate courses are designated graduate-level courses from departments outside of Computer Science. Students can view the list of Approved Cognate Courses for more information.
- Ph.D. students are required to complete 3 to 9 credit hours of cognate coursework
- M.S. students may take up to 3 credit hours of cognate coursework, though it is not mandatory
- A cognate course must not significantly overlap with the content of any other course on a student’s Plan of Study.
CS Courses by Area of Breadth
The "area of breadth" in the Computer Science program is designed to ensure that students develop a well-rounded foundation across various fields within computer science. For both Master's and Ph.D. students, this breadth requirement involves taking advanced CS courses at the 5000 and 6000 levels across four different areas of study.
This approach encourages graduates to possess not only deep knowledge in their chosen focus but also a broad understanding that is essential for addressing diverse challenges in computer science. It reflects VT's commitment to producing adaptable and proficient professionals capable of tackling interdisciplinary problems in both academic and industry settings.
There are 11 different Areas of Breadth (0-10).
- Area 0: Ethics and Research Methods
- Students entering in 2019 or after are required to take a course in Area 0
- Area 1: Algorithms and Theory
- Area 2: Computer Systems
- Area 3: Programming Languages
- Area 4: Numerical and Scientific Computing
- Area 5: Computer Architecture and Networking
- Area 6: Data and Information
- Area 7: Software Engineering
- Area 8: Human-Computer Interaction
- Area 9: Intelligent Systems
- Area 10: Computational Biology and Bioinformatics
Course Overlap
Be aware that some computer science courses are simliar to each other and you cannot receive credit for courses with too much overlap. Visit the Course Overlap table for more information.
Course ID | Course Name |
Area |
---|---|---|
CS5014 | Research Methods in Computer Science | Area 0: Ethics and Research Methods. Not for MEng credit. |
CS5020 | Software Design and Data Structures | Not for CS graduate credit |
CS5024 | Ethics and Professionalism in Computer Science | Area 0: Ethics and Research Methods |
CS5040 |
Intermediate Data Structures and Algorithm Analysis | Not for CS-MS or CS-PhD credit. You may not receive credit for CS5040 if you already have credit for CS3114. |
CS5044 |
Object-Oriented Programming with Java | Not for CS graduate credit |
CS5045-6 |
Computation for the Data Sciences | Not for CS graduate credit |
CS5104 |
Computability and Formal Languages | Area 1: Algorithms and Theory |
CS5114 | Theory of Algorithms | Area 1: Algorithms and Theory |
CS5124 | Algorithms in Bioinformatics | Area 10: Computational Biology and Bioinformatics |
CS5204 |
Operating Systems | Area 2: Computer Systems |
CS5214 | Modeling and Evaluation of Computer Systems | Area 2: Computer Systems |
CS5234 |
Advanced Parallel Computation | Area 2: Computer Systems |
CS5244 |
Web Application Development | Area 7: Software Engineering |
CS5254 |
Mobile Application Development | Area 7: Software Engineering |
CS5264 | Advanced Linux Kernal Programming | Area 2: Computer Systems |
CS5304 |
Translator Design and Construction | Area 3: Programming Languages |
CS5314 |
Programming Languages | Area 3: Programming Languages |
CS5424 |
Computational Cell Biology (BIOL, GBCB) | Area 10: Computational Biology and Bioinformatics |
CS5474 |
Finite Difference Methods for Partial Differential Equations (MATH) | Area 4: Numerical and Scientific Computing |
CS5484 |
Finite Element Methods for Partial Differential Equations (MATH) | Area 4: Numerical and Scientific Computing |
CS5485 |
Numerical Analysis and Software (MATH) | Area 4: Numerical and Scientific Computing |
CS5486 |
Numerical Analysis and Software (MATH) | Area 4: Numerical and Scientific Computing |
CS5504 |
Computer Architecture (ECE) | Area 5: Computer Architecture and Networking |
CS5510 |
Multiprocessor Programming (ECE) | Area 5: Computer Architecture and Networking |
CS5525 | Data Analytics I (STAT) This course is being deprecated for CS students effective SU 23. CS students shoudl take CS 5805. |
Area 6: Data and Information. |
CS5526 |
Data Analytics II (STAT) | Area 6: Data and Information |
CS5544 |
Compiler Optimizations (ECE) | Area 3: Programming Languages |
CS5560 |
Fundamentals of Information Security (ECE) | Area 5: Computer Architecture and Networking |
CS5565 |
Network Architecture and Protocols (ECE) | Area 5: Computer Architecture and Networking |
CS5566 |
Network Architecture and Protocols (ECE) | Area 5: Computer Architecture and Networking |
CS5580 |
Cryptographic Engineering (ECE) | Area 5: Computer Architecture and Networking |
CS5584 |
Network Security (ECE) | Area 5: Computer Architecture and Networking |
CS5590 |
System and Software Security (ECE) | Area 5: Computer Architecture and Networking |
CS5594 |
Blockchain Technologies | Area 6: Data and Information |
CS5604 |
Information Storage and Retrieval | Area 6: Data and Information |
CS5614 |
Database Management Systems | Area 6: Data and Information |
CS5624 | Natural Language Processing | Area 6: Data and Information |
CS5644 |
Machine Learning with Big Data | Not for CS-MS or CS-PhD credit. May be taken for CS-MEng credit. |
CS5664 |
Social Media Analytics | Area 6: Data and Information |
CS5704 |
Software Engineering | Area 7: Software Engineering |
CS5714 |
Usability Engineering (ISE) | Area 8: Human-Computer Interaction |
CS5724 |
Models and Theories of Human-computer Interaction | Area 8: Human-Computer Interaction |
CS5734 |
Social Computing and Computer-supported Cooperative Work | Area 8: Human-Computer Interaction |
CS5744 |
Software Design and Quality | Area 7: Software Engineering |
CS5754 |
Virtual Environments | Area 8: Human-Computer Interaction |
CS5764 |
Information Visualization | Area 8: Human-Computer Interaction |
CS5774 |
User Interface Software | Area 8: Human-Computer Interaction |
CS5784 | Software Project Management | Area 7: Software Engineering |
CS5804 |
Introduction to Artificial Intelligence | Area 9: Intelligent Systems |
CS5805 | Machine Learning | Area 9: Intelligent Systems |
CS5806 | Machine Learning | Area 9: Intelligent Systems |
CS5814 |
Introduction to Deep Learning | Area 9: Intelligent Systems. Students may not get credit for both CS5814 and ECE/CS6524. |
CS5824 |
Advanced Machine Learning (ECE) Discontinued effective SU 23, replaced with CS 5806. |
Area 9: Intelligent Systems. |
CS5834 |
Introduction to Urban Computing | Area 9: Intelligent Systems |
CS5844 |
Human-Robot Interaction (ME) | Area 8: Human-Computer Interaction |
CS5854 |
Computational Systems Biology | Area 10: Computational Biology and Bioinformatics |
CS5864 | Learning-based Computer Vision | Area 9: Intelligent Systems |
CS5904 |
Project and Report | Does not count toward area requirements. |
CS5914 |
Emerging Topics in Computer Science | Determine area for each offering |
CS5934 |
Capstone Project | Does not count toward area requirements. Intended for MEng program only. |
CS5944 |
Graduate Seminar | Does not count toward area requirements |
CS5974 |
Independent Study | Does not count toward area requirements |
CS5984 |
Special Study | Determine area for each offering |
CS6104 |
Advanced Topics in Theory of Computation | Area 1: Algorithms and Theory |
CS6204 |
Advanced Topics in Systems | Area 2: Computer Systems |
CS6304 |
Advanced Topics in Languages and Translation | Area 3: Programming Languages |
CS6404 |
Advanced Topics in Mathematical Software | Area 4: Numerical and Scientific Computing |
CS6444 |
Verification and Validation in Scientific Computing (ME, AOE) | Area 4: Numerical and Scientific Computing |
CS6504 |
Advanced Topics in Computer Architecture | Area 5: Computer Architecture and Networking |
CS6524 |
Deep Learning (ECE) |
Area 9: Intelligent Systems. Students may not get credit for both CS5814 and ECE/CS6524. Does not satisfy departmental requirement for taking 6000-level courses. |
CS6564 |
Multimedia Networking (ECE) | Area 5: Computer Architecture and Networking |
CS6570 |
Advanced Foundations of Networking | Area 5: Computer Architecture and Networking |
CS6604 |
Advanced Topics in Data and Information | Area 6: Data and Information |
CS6704 |
Advanced Topics in Software Engineering | Area 7: Software Engineering |
CS6724 |
Advanced Topics in Human-computer Interaction | Area 8: Human-Computer Interaction |
CS6804 |
Advanced Topics in Intelligent Systems | Area 9: Intelligent Systems |
CS6814 | Science-Guided Machine Learning | Area 9: Intelligent Systems |
CS6824 | Adv Topics Comp Biol & Bioinf | Area 10: Computational Biology and Bioinformatics |