Toggle navigation
Mission
Undergraduate
Graduate
Course & Schedule
People
Research
Student Resources
About Us
Announcements
The links below jump to sections of this page with information about undergraduate, graduate, and special topics courses.
Computer Science Course Schedules
Undergraduate Computer Science Courses
Graduate Computer Science Courses
Special Topics Courses
Computer Science Course Schedules
Fall 2022
Winter 2023
Spring 2023
Summer 2023
Undergraduate Computer Science Courses
CSCI 12: Introduction to Computers and Computation
CSCI 48: Spreadsheet Programming
CSCI 80: Problem Solving with Computers
CSCI 81: Introduction to Web Programming
CSCI 82: Multimedia Fundamentals and Applications
CSCI 84: Models of Computation
CSCI 85: Database Application Programming
CSCI 86: Science, Computing Tools, and Instrumentation
CSCI 87: Introduction to Scientific Computing
CSCI 88: Advanced Productivity Tools for Business
CSCI 90: Topics in Computing
CSCI 100: Information and Intelligence
CSCI 111: Introduction to Algorithmic Problem-Solving
CSCI 112: Introduction to Algorithmic Problem-Solving in Java
CSCI 120: Discrete Mathematics for Finance
CSCI 211: Object-Oriented Programming in C++
CSCI 212: Object-Oriented Programming in Java
CSCI 220: Discrete Structures
CSCI 240: Computer Organization and Assembly Language
CSCI 313: Data Structures
CSCI 314: Data Structures for Cross-Disciplinary Minors
CSCI 316: Principles of Programming Languages
CSCI 317: Compilers
CSCI 320: Theory of Computation
CSCI 323: Design and Analysis of Algorithms
CSCI 325: Machine Learning
CSCI 328: Algorithms for Big Data
CSCI 331: Database Systems
CSCI 332: Object-Oriented Databases
CSCI 334: Data Mining and Warehousing
CSCI 335: Information Organization & Retrieval
CSCI 340: Operating Systems Principles
CSCI 342: Operating System Programming
CSCI 343: Computer Architecture
CSCI 344: Distributed Systems
CSCI 346: Cloud Computing
CSCI 348: Data Communications
CSCI 352: Cryptography
CSCI 355: Internet and Web Technologies
CSCI 361: Numerical Methods
CSCI 363: Artificial Intelligence
CSCI 365: Computational Finance
CSCI 366: Natural Language Processing
CSCI 367: Digital Image Processing
CSCI 368: Computer Graphics
CSCI 370: Software Engineering
CSCI 381: Special Topics in Computer Science
CSCI 383: VT Computer Science Synthesis
CSCI 385: VT Computer Science Capstone
CSCI 390: Honors Readings in Computer Science
CSCI 391: Honors Problems in Computer Science
CSCI 393: Honors Thesis
CSCI 395: Research Projects
CSCI 398: Internship
Graduate Computer Science Courses
CSCI 611: Advanced Programming in C++
CSCI 612: Advanced Programming in Java
CSCI 613: Data Structures
CSCI 620: Discrete Structures
CSCI 640: Computer Organization and Assembly Language
CSCI 655: Internet and Web Technologies
CSCI 688: Advanced Productivity Tools for Business
CSCI 700: Algorithms I
CSCI 701: Software Design
CSCI 707: Compiler Construction
CSCI 711: Database Systems
CSCI 715: Distributed Computing
CSCI 718: Computer Graphics
CSCI 722: Computability and Complexity
CSCI 731: Software Development Practicum
CSCI 732: Research Practicum
CSCI 733: Master's Thesis
CSCI 734: Hardware Design Practicum
CSCI 744: Computer Architecture and Networks
CSCI 745: Switching Theory
CSCI 746: Computer Systems
CSCI 748: Computer Networks
CSCI 761: Numerical Methods
CSCI 762: Algorithms II
CSCI 764: Topics in Systems Simulation
CSCI 765: Computational Finance
CSCI 766: Probabilistic Models in Computer Systems
CSCI 780: Special Topics in Computer Science
CSCI 782: Special Topics in Computer Science
CSCI 783: Special Topics in Computer Science
CSCI 784: Special Topics in Computer Science
CSCI 786: Special Topics in Computer Science
CSCI 788: Computer Science: Cooperative Education Placement
CSCI 790, 792, 793, 794, 796: Seminars in Computer Science
CSCI 799: Research
Special Topics Courses
Special topics courses may be offered at the undergraduate (CSCI 381) and graduate (CSCI 780) level, and many course are offered in both forms. The following is a sample of recently offered special topics courses.
Advanced Object-Oriented Programming in C++
(Waxman)
This course may be used to satisfy the "Software Semicore" requirement for graduate students.
Algorithms for Big Data (Goswami)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Applied Cloud Computing
(Roday)
Approximation Algorithms (Goswami)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Biomedical Image Analysis (Tsai)
This course may be used to satisfy the "Software Semicore" requirement for graduate students.
Biometrics Security and Privacy
(Sy)
Computational Finance
(Obrenic)
Computer Networking and Internet
(Obrenic)
Computer Vision (Phillips)
Cryptography I (Boklan)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Cryptography II (Boklan)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Data Analytics (Pang)
Data Mining/Warehousing
(Sy)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Genetic Algorithms (Goldberg)
Graphical Models
(Yuan)
Heterogeneous Distributed Applications
(Obrenic)
This course may be used to satisfy the "Software Semicore" requirement for graduate students.
History of Science (Boklan)
Image Processing (Phillips/Tsai)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Information and Computer Security
(Sy)
Internet Security
(Sy)
Linear Operators (Mane)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Logic Design Lab
(Vickery)
This course may be used to satisfy the "Hardware Semicore" requirement for graduate students.
Machine Learning (Tsai/Yuan)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Machine Learning for NLP (Rozovskaya)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Machine Learning in Image Analysis
(Chen)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Machine Learning in Quantitative Finance
(Yuan)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Modeling and Simulation
(Brown)
Natural Language Processing (Rozovskaya)
This course may be used to satisfy the "Software Semicore" requirement for graduate students.
Object-Oriented Databases
(Yukawa)
Quantum Computing
(Whitehead)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Quantum Computing II (Whitehead)
Robotics
(Sy)
This course may be used to satisfy the "Hardware Semicore" requirement for graduate students.
Software Development (Goldberg)
This course may be used to satisfy the "Software Semicore" requirement for graduate students.
Spatio-Temporal Data Modeling and Databases
(Yukawa)
Structured Learning (Chen)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Topics in Crytography
(Boklan)
This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.
Wireless Networking
(Sy)
VoIP/WLAN: Technology and Application
(Sy)
This course may be used to satisfy the "Hardware Semicore" requirement for graduate students.