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 IDCourse Name
Area
CS5014Research Methods in Computer ScienceArea 0: Ethics and Research Methods. Not for MEng credit. 
CS5020Software Design and Data StructuresNot for CS graduate credit
CS5024Ethics and Professionalism in Computer ScienceArea 0: Ethics and Research Methods
CS5040
Intermediate Data Structures and Algorithm AnalysisNot 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 JavaNot for CS graduate credit
CS5045-6
Computation for the Data SciencesNot for CS graduate credit
CS5054Programming Models for Big DataArea 6: Data and Information
CS5064Pedagogy in Computer ScienceArea 0: Ethics and Research Methods
CS5104
Computability and Formal LanguagesArea 1: Algorithms and Theory
CS5114Theory of AlgorithmsArea 1: Algorithms and Theory
CS5124Algorithms in BioinformaticsArea 10: Computational Biology and Bioinformatics
CS5134Introduction to Quantum Computer ScienceArea 1: Algorithms and Theory
CS5204
Operating SystemsArea 2: Computer Systems
CS5214Modeling and Evaluation of Computer SystemsArea 2: Computer Systems
CS5234
Advanced Parallel ComputationArea 2: Computer Systems
CS5244
Web Application DevelopmentArea 7: Software Engineering
CS5254
Mobile Application DevelopmentArea 7: Software Engineering
CS5264Advanced Linux Kernal ProgrammingArea 2: Computer Systems
CS 5274Cloud Computing: Fundamentals and ApplicationsArea 2: Computer Systems
CS5304
Translator Design and ConstructionArea 3: Programming Languages
CS5314
Programming LanguagesArea 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
CS5525Data 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 TechnologiesArea 6: Data and Information
CS5604
Information Storage and RetrievalArea 6: Data and Information
CS5614
Database Management SystemsArea 6: Data and Information
CS5624Natural Language ProcessingArea 6: Data and Information
CS5644
Machine Learning with Big DataNot for CS-MS or CS-PhD credit. May be taken for CS-MEng credit.
CS5664
Social Media AnalyticsArea 6: Data and Information
CS5704
Software EngineeringArea 7: Software Engineering
CS5740AI Tools for Software EngineeringArea 7: Software Engineering
CS5714
Usability Engineering (ISE)Area 8: Human-Computer Interaction
CS5724
Models and Theories of Human-computer InteractionArea 8: Human-Computer Interaction
CS5734
Social Computing and Computer-supported Cooperative WorkArea 8: Human-Computer Interaction
CS5744
Software Design and QualityArea 7: Software Engineering
CS5754
Virtual EnvironmentsArea 8: Human-Computer Interaction
CS5764
Information VisualizationArea 8: Human-Computer Interaction
CS5774
User Interface SoftwareArea 8: Human-Computer Interaction
CS5784Software Project ManagementArea 7: Software Engineering
CS5804
Introduction to Artificial IntelligenceArea 9: Intelligent Systems
CS5805Machine LearningArea 9: Intelligent Systems
CS5806Machine LearningArea 9: Intelligent Systems
CS5814
Introduction to Deep LearningArea 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 ComputingArea 9: Intelligent Systems
CS5844
Human-Robot Interaction (ME)Area 8: Human-Computer Interaction
CS5854
Computational Systems BiologyArea 10: Computational Biology and Bioinformatics
CS5864Learning-based Computer VisionArea 9: Intelligent Systems
CS5904
Project and ReportDoes not count toward area requirements.
CS5914
Emerging Topics in Computer ScienceDetermine area for each offering
CS5934
Capstone ProjectDoes not count toward area requirements. Intended for MEng program only.
CS5944
Graduate SeminarDoes not count toward area requirements
CS5974
Independent StudyDoes not count toward area requirements
CS5984
Special StudyDetermine area for each offering
CS6104
Advanced Topics in Theory of ComputationArea 1: Algorithms and Theory
CS6204
Advanced Topics in SystemsArea 2: Computer Systems
CS6304 
Advanced Topics in Languages and TranslationArea 3: Programming Languages
CS6404 
Advanced Topics in Mathematical SoftwareArea 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 ArchitectureArea 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 NetworkingArea 5: Computer Architecture and Networking
CS6604 
Advanced Topics in Data and InformationArea 6: Data and Information
CS6704 
Advanced Topics in Software EngineeringArea 7: Software Engineering
CS6724 
Advanced Topics in Human-computer InteractionArea 8: Human-Computer Interaction
CS6804 
Advanced Topics in Intelligent SystemsArea 9: Intelligent Systems
CS6814Science-Guided Machine LearningArea 9: Intelligent Systems
CS6824 Adv Topics Comp Biol & BioinfArea 10: Computational Biology and Bioinformatics