Virginia Tech® home

Graduate Courses

Female sitting at a computer in a classroom lecture setting.

 

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.

Approved Cognate Course

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)
Discontinued effective SU 23; should take CS 5814 instead.

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