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

Undergraduate Computer Science Courses

Graduate Computer Science Courses

Special Topics Courses

# Computer Science Course Schedules

Fall 2015

Winter 2016

Spring 2016

Summer 2106

# Undergraduate Computer Science Courses

- CSCI 12: Introduction to Computers and Computation
- CSCI 48: Spreadsheet Programming
- CSCI 80: Problem Solving with Computers
- CSCI 81: HTML and WWW 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 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 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 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 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.

- Advanced Programming Technique (Huang)
- This course may be used to satisfy the "Software Semicore" requirement for graduate students.

- Algorithms for Real-Time Computing (Gross)
- This course may be used to satisfy the "Mathematical Applications and Algorithms Semicore" requirement for graduate students.

- Artificial Intelligence (Chen/Huenerfauth/Phillips/Yuan)
- Bioinformatics (Reddy)
- Biometrics Security and Privacy(Sy)
- Computational Finance (Obrenic)
- Computer Networking and Internet (Obrenic)
- Computer Vision (Goldberg)
- 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 Mining/Warehousing (Sy)
- Forensic Computing (Levy)
- Genetic Algorithms (Goldberg)
- Graphical Models (Yuan)
- Heterogeneous Distributed Applications (Obrenic)
- This course may be used to satisfy the "Software Semicore" requirement for graduate students.

- Human-Computer Interaction and Accessibility Technology (Huenerfauth)
- History of Science (Boklan)
- Image Processing (Phillips)
- Information and Computer Security (Sy)
- Information Organization & Retrieval (Kwok)
- Internet Security (Sy)
- Internet Technology/Web Design (Chen)
- Logic Design Lab(Vickery)
- This course may be used to satisfy the "Hardware Semicore" requirement for graduate students.

- Machine Learning (Rosenberg/Yuan)
- Management Information Systems (Koh)
- Mobile Computing (Zheng)
- Molecular Modeling & in Silico Drug Design (Reddy)
- Natural Language Processing (Ji)
- Next Generation Networking Services (Tse)
- Object-Oriented Databases (Yukawa)
- Performance Evaluation of Communication Networks (Zheng)
- Programming Handheld Devices(Haigh)
- Python Programming and Text Processing (Huang)
- This course may be used to satisfy the "Software Semicore" requirement for graduate students.

- Quantum Computing (Whitehead)
- Quantum Computing II (Whitehead)
- Randomized Algorithms (Wee)
- 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.

- Software Engineering (Haigh/Sy)
- This course may be used to satisfy the "Software Semicore" requirement for graduate students.

- Spatio-Temporal Data Modeling and Databases (Yukawa)
- Topics in Crytography (Boklan)
- Wireless Networking (Sy)
- VoIP/WLAN: Technology and Application (Sy)
- This course may be used to satisfy the "Hardware Semicore" requirement for graduate students.