2024-2025 Academic Catalog
Welcome to Virginia Tech! We are excited that you are here planning your time as a Hokie.
Welcome to Virginia Tech! We are excited that you are here planning your time as a Hokie.
Code | Title | Credits |
---|---|---|
Degree Core Requirements | ||
CS 1114 | Introduction to Software Design (C) | 3 |
CS 2505 | Introduction to Computer Organization (C) | 3 |
CS 2506 | Introduction to Computer Organization (C) | 3 |
CS 3214 | Computer Systems | 3 |
CS 3604 | Professionalism in Computing | 3 |
MATH 2114 | Introduction to Linear Algebra | 3 |
MATH 2204 | Introduction to Multivariable Calculus | 3 |
or CMDA 2005 | Integrated Quantitative Sciences | |
MATH 2534 | Introduction to Discrete Mathematics | 3 |
or MATH 3034 | Introduction to Proofs | |
Subtotal | 24 | |
Major Requirements | ||
CS 2104 | Introduction to Problem Solving in Computer Science (C) | 3 |
CS 3304 | Comparative Languages | 3 |
CS Theory Elective | 3 | |
CS 4/5XXX Elective 3 | 3 | |
CS 4XXX Capstone | 3 | |
Subtotal | 15 | |
Additional Course Requirements | ||
CS 1944 | Computer Science First Year Seminar | 1 |
CS 2114 | Software Design and Data Structures (C) | 3 |
CS 4944 | Seminar | 1 |
MATH 3134 | Applied Combinatorics and Graph Theory | 3 |
or MATH 3124 | Modern Algebra | |
Elective Courses | ||
CS 3/4/5XXX Electives 3 | 6 | |
CS Technical Elective 3 | 3 | |
Advanced Natural Science Elective | 4 | |
Communications Elective | 3 | |
Professional Writing Elective | 3 | |
Statistics Elective | 3 | |
Free Electives | 7 | |
Subtotal | 37 | |
Pathways to General Education | ||
Pathways Concept 1 - Discourse | ||
ENGL 1105 | First-Year Writing (1F) | 3 |
ENGL 1106 | First-Year Writing (1F) | 3 |
Select three hours in Pathway 1a (use Communications Elective, Professional Writing Elective, or Free Elective) | ||
Pathways Concept 2 - Critical Thinking in the Humanities | ||
Select six hours in Pathway 2 | 6 | |
Pathways Concept 3 - Reasoning in the Social Sciences | ||
Select six hours in Pathway 3 | 6 | |
Pathways Concept 4 - Reasoning in the Natural Sciences | ||
Natural Science Elective | 4 | |
Natural Science Elective | 4 | |
Pathways Concept 5 - Quantitative and Computational Thinking | ||
MATH 1225 | Calculus of a Single Variable (5F ; C-) | 4 |
MATH 1226 | Calculus of a Single Variable (5F) | 4 |
CS 3114 | Data Structures and Algorithms (5A ; C) | 3 |
Pathways Concept 6 - Critique and Practice in Design and the Arts | ||
Select three credits in Pathway 6a | 3 | |
ENGE 1215 & ENGE 1216 | Foundations of Engineering and Foundations of Engineering (6D) | 4 |
or ENGE 1414 | Foundations of Engineering Practice | |
Pathways Concept 7 - Critical Analysis of Identity and Equity in the United States | ||
Pathways Concept 7 can be double-counted with another core concept. In this case, additional free elective credits must be taken to maintain a minimum of 123 credits | 3 | |
Subtotal | 47 | |
Total Credits | 123 |
Note: Some elective courses may include prerequisites not required by this checksheet. It is the student’s responsibility to be aware of prerequisites and to ensure that all prerequisites are completed prior to enrolling in the chosen course. Some courses may be restricted to majors other than CS in some semesters. Check the Undergraduate Course Catalog and consult with an academic advisor to confirm your eligibility for specific electives. Actual course offerings are subject to availability of sufficient resources, including faculty availability and student demand.
Natural Science Electives: Choose 8 credits
Code | Title | Credits |
---|---|---|
BIOL 1105 & BIOL 1115 | Principles of Biology and Principles of Biology Laboratory | 4 |
CHEM 1035 & CHEM 1045 | General Chemistry and General Chemistry Laboratory | 4 |
PHYS 2305 | Foundations of Physics | 4 |
Code | Title | Credits |
---|---|---|
BIOL 1106 & BIOL 1116 | Principles of Biology and Principles of Biology Laboratory | 4 |
CHEM 1036 & CHEM 1046 | General Chemistry and General Chemistry Laboratory | 4 |
PHYS 2306 | Foundations of Physics | 4 |
Code | Title | Credits |
---|---|---|
COMM 2004 | Public Speaking | 3 |
COMM 2014 | Speech Communication | 3 |
Note: COMM 2004 Public Speaking can be used to satisfy Pathways 1A. Students who do not take COMM 2004 Public Speaking as their communications elective will need to satisfy Pathways 1A through a suitable professional writing elective or free elective.
Code | Title | Credits |
---|---|---|
ENGL 3764 | Technical Writing | 3 |
ENGL 3804 | Technical Editing and Style | 3 |
ENGL 3814 | Creating User Documentation | 3 |
ENGL 3824 | Visual Rhetoric and Document Design | 3 |
ENGL 3834 | Intercultural Issues in Professional Writing | 3 |
ENGL 3844 | Writing and Digital Media | 3 |
ENGL 4824 | Science Writing | 3 |
Note: ENGL 3764 Technical Writing can be used to satisfy Pathways 1A. Students who do not take ENGL 3764 Technical Writing as their communications elective will need to satisfy Pathways 1A through a suitable communications elective or free elective.
Code | Title | Credits |
---|---|---|
STAT 4705 | Probability and Statistics for Engineers | 3 |
STAT 4105 | Theoretical Statistics 1 | 3 |
STAT 4714 | Probability and Statistics for Electrical Engineers 1 | 3 |
STAT 4604 | Statistical Methods for Engineers | 3 |
STAT 3704 | Statistics for Engineering Applications 2 | 2 |
CMDA 2006 | Integrated Quantitative Sciences 1 | 6 |
Note: Students taking must take an additional 1 free elective credit to meet the total number of credits required for the degree. Students considering a possible change of major to Data-Centric Computing should take one of , , or , since that major uses a more restrictive list of statistics electives.
Code | Title | Credits |
---|---|---|
BIT 4614 | Cybersecurity Management II | 3 |
CMDA 3654 | Introductory Data Analytics and Visualization | 3 |
CMDA 4654 | Intermediate Data Analytics and Machine Learning | 3 |
ECE 4424 | Machine Learning | 3 |
MATH 3414 | Numerical Methods | 3 |
MATH 4414 | Issues in Scientific Computing | 3 |
PSCI 4164 | Future of Security: Integrative Solutions for Complex Security Systems | 3 |
STAT 3654 | Introductory Data Analytics and Visualization | 3 |
STAT 4654 | Intermediate Data Analytics and Machine Learning | 3 |
STS 4014 | Algorithms & Society | 3 |
Code | Title | Credits |
---|---|---|
CS/CMDA 3634 | Computer Science Foundations for Computational Modeling and Data Analy | 3 |
CS 4774 | Human-Computer Interaction Design Experience | 3 |
CS 5040 | Intermediate Data Structures and Algorithm Analysis | 3 |
CS 5044 | Object-Oriented Programming with Java | 3 |
CS 5045 | Computation for the Data Sciences | 3 |
CS 5046 | Computation for the Data Sciences | 3 |
CS 5644 | Machine Learning with Big Data | 3 |
CS 5664 | Social Media Analytics | 3 |
CS 5904 | Project and Report | 1-19 |
CS 5944 | Graduate Seminar | 1 |
CS 5974 | Independent Study | 1-19 |
CS 5994 | Research and Thesis | 1-19 |
Code | Title | Credits |
---|---|---|
BIT 4614 | Cybersecurity Management II | 3 |
CMDA 4654 | Intermediate Data Analytics and Machine Learning | 3 |
ECE 4424 | Machine Learning | 3 |
MATH 4414 | Issues in Scientific Computing | 3 |
PSCI 4164 | Future of Security: Integrative Solutions for Complex Security Systems | 3 |
STAT 4654 | Intermediate Data Analytics and Machine Learning | 3 |
STS 4014 | Algorithms & Society | 3 |
Code | Title | Credits |
---|---|---|
CS 4774 | Human-Computer Interaction Design Experience | 3 |
CS 5040 | Intermediate Data Structures and Algorithm Analysis | 3 |
CS 5044 | Object-Oriented Programming with Java | 3 |
CS 5045 | Computation for the Data Sciences | 3 |
CS 5046 | Computation for the Data Sciences | 3 |
CS 5644 | Machine Learning with Big Data | 3 |
CS 5664 | Social Media Analytics | 3 |
CS 5904 | Project and Report | 1-19 |
CS 5944 | Graduate Seminar | 1 |
CS 5974 | Independent Study | 1-19 |
CS 5994 | Research and Thesis | 1-19 |
Code | Title | Credits |
---|---|---|
CS 4104 | Data and Algorithm Analysis | 3 |
CS 4114 | Introduction to Formal Languages and Automata Theory | 3 |
CS 4124 | Theory of Computation | 3 |
CS 4134 | Quantum Computation and Information Processing | 3 |
CS 5104 | Computability and Formal Languages | 3 |
CS 5114 | Theory of Algorithms | 3 |
Code | Title | Credits |
---|---|---|
CS 4274 | Secure Computing Capstone | 3 |
CS 4284 | Systems & Networking Capstone | 3 |
CS 4624 | Multimedia, Hypertext and Information Access | 3 |
CS 4634 | Design Of Information | 3 |
CS 4644 | Creative Computing Studio | 3 |
CS 4664 | Data-Centric Computing Capstone | 3 |
CS 4704 | Software Engineering Capstone | 3 |
CS 4784 | Human-Computer Interaction Capstone | 3 |
CS 4884 | Computational Biology and Bioinformatics Capstone | 3 |
ENGE 4735 | Interdisciplinary Design Capstone | 3 |
ENGE 4736 | Interdisciplinary Design Capstone | 3 |
Some courses may be restricted to majors other than CS in some semesters. Check the Undergraduate Course Catalog and consult with an academic advisor to confirm your eligibility for specific electives. Actual course offerings are subject to availability of sufficient resources, including faculty availability and student demand.
Code | Title | Credits |
---|---|---|
AOE 4434 | Introduction to Computational Fluid Dynamics | 3 |
ART 3704 | Topics in Computer Animation | 3 |
BIT 4424 | Business Information Visualization and Analytics | 3 |
BIT 4434 | Computer Simulation in Business | 3 |
BIT 4444 | Web-Based Decision Support Systems | 3 |
BIT 4544 | Artificial Intelligence, Machine Learning, and Deep Learning in BIT | 3 |
BIT 4604 | Data Governance, Privacy and Ethics | 3 |
BIT 4614 | Cybersecurity Management II | 3 |
BIT 4624 | Cybersecurity Analytics for Business | 3 |
CEM 4624 | Construction Robotics and Automation | 3 |
CEM 4634 | Data Analysis and Visualization for Construction and Facilities Management | 3 |
CMDA 3606 | Mathematical Modeling: Methods and Tools | 3 |
ECE 3544 | Digital Design I | 4 |
ECE 3574 | Applied Software Design | 3 |
ECE 4524 | Artificial Intelligence and Engineering Applications | 4 |
ECE 4550 | Real-Time Systems | 3 |
ECE 4560 | Computer and Network Security Fundamentals | 3 |
ECE 4564 | Network Application Design | 3 |
ECE 4580 | Digital Image Processing | 3 |
ECE 4704 | Principles of Robotics Systems | 3 |
ENGE 4735 | Interdisciplinary Design Capstone | 3 |
ENGE 4736 | Interdisciplinary Design Capstone | 3 |
ENGE 4964 | Field Study | 1-19 |
GEOG/GEOS 4084 | Modeling with Geographic Information Systems | 3 |
GEOG 4314 | Spatial Analysis in Geographic Information Systems | 3 |
GEOG 4324 | Algorithms in Geographic Information Systems | 4 |
MATH 4175 | Cryptography | 3 |
MATH 4176 | Cryptography | 3 |
MATH 4445 | Introduction to Numerical Analysis | 3 |
MATH 4454 | Applied Mathematical Modeling | 3 |
ME 4524 | Introduction to Robotics and Automation | 3 |
MUS 3064 | Digital Sound Manipulation | 3 |
MUS 3065 | Computer Music and Multimedia Design | 3 |
MUS 3066 | Computer Music and Multimedia Design | 3 |
PHYS 4755 | Introduction to Computational Physics | 3 |
CS Non-Technical Course Requirement. B.S. in CS students must complete 30 credits of non-technical courses. All courses are approved as non-technical courses except those in the departments of Biological Sciences, Chemistry, Geosciences, Physics, Mathematics, and Statistics, and all departments in the College of Engineering, except for engineering courses satisfying Pathways 7. Also excluded are courses listed as CS technical electives.
Independent Study/Undergraduate Research. No more than a total of 6 credits of CS 4974 Independent Study and/or CS 4994 Undergraduate Research may be used to fulfill CS degree requirements. To take Independent Study (CS 2974 Independent Study or CS 4974 Independent Study), a minimum overall and in-major GPA of 2.5 is required. To take CS 4994 Undergraduate Research, a minimum overall GPA of 2.5 and an in-major GPA of 3.0 is required. CS 4974 Independent Study and CS 4994 Undergraduate Research also require completion of CS 3114 Data Structures and Algorithms with a grade of C or better.
Undergraduates Taking Graduate Courses. Students within 2 semesters of graduating and with a 3.0 or better GPA may enroll in 5000-level courses satisfying undergraduate degree requirements within their department if they have been accepted into the Accelerated Undergraduate/Graduate Program, or by permission of the course instructor and the Department. For students not accepted into the Accelerated Undergraduate/Graduate Program, these courses may not be used on the Plan of Study for a graduate degree.
University Policy 91 outlines university-wide minimum criteria to determine if students are making satisfactory progress towards the completion of their degrees. The CS Department fully supports this policy. Specific expectations for satisfactory progress for Computer Science majors are as follows:
To qualify for a B.S. degree in CS, a student must:
Students must have had 2 years of a foreign language in high school or one year at the college level (6 credit hours) of the same language. College-level credits used to meet this requirement do not count towards the degree.
First Year | ||
---|---|---|
Fall Semester | Credits | |
CS 1114 | Introduction to Software Design (C) | 3 |
ENGE 1215 | Foundations of Engineering | 2 |
ENGL 1105 | First-Year Writing | 3 |
MATH 1225 | Calculus of a Single Variable (C-) | 4 |
Natural Science Elective | 4 | |
Credits | 16 | |
Spring Semester | ||
CS 2114 | Software Design and Data Structures (C) | 3 |
ENGE 1216 | Foundations of Engineering | 2 |
ENGL 1106 | First-Year Writing | 3 |
MATH 1226 | Calculus of a Single Variable | 4 |
Natural Science Elective | 4 | |
Credits | 16 | |
Second Year | ||
Fall Semester | ||
CS 1944 | Computer Science First Year Seminar | 1 |
CS 2104 | Introduction to Problem Solving in Computer Science (C) | 3 |
CS 2505 | Introduction to Computer Organization (C) | 3 |
MATH 2534 or MATH 3034 | Introduction to Discrete Mathematics or Introduction to Proofs | 3 |
Pathways 2, 3, 6a, or 7 | 3 | |
Pathways 2, 3, 6a, or 7 | 3 | |
Credits | 16 | |
Spring Semester | ||
CS 2506 | Introduction to Computer Organization (C) | 3 |
MATH 2114 | Introduction to Linear Algebra | 3 |
MATH 2204 or CMDA 2005 | Introduction to Multivariable Calculus or Integrated Quantitative Sciences | 3 |
Communications Elective | 3 | |
Advanced Natural Science Elective | 4 | |
Credits | 16 | |
Third Year | ||
Fall Semester | ||
CS 3114 | Data Structures and Algorithms (C) | 3 |
CS 3/4/5XXX | Elective 3 | 3 |
MATH 3134 | Applied Combinatorics and Graph Theory | 3 |
Professional Writing Elective | 3 | |
Pathways 2, 3, 6a, or 7 | 3 | |
Credits | 15 | |
Spring Semester | ||
CS 3214 | Computer Systems | 3 |
CS 3604 | Professionalism in Computing | 3 |
Statistics Elective | 3 | |
Pathways 2, 3, 6a, or 7 | 3 | |
Pathways 2, 3, 6a, or 7 | 3 | |
Credits | 15 | |
Fourth Year | ||
Fall Semester | ||
CS 3304 | Comparative Languages | 3 |
CS Theory Elective | 3 | |
CS 3/4/5XXX | Elective 3 | 3 |
CS Technical Elective 3 | 3 | |
Free Elective | 3 | |
Credits | 15 | |
Spring Semester | ||
CS 4944 | Seminar | 1 |
CS 4XXX | Capstone | 3 |
CS 4/5XXX | Elective 3 | 3 |
Pathways 2, 3, 6a, or 7 | 3 | |
Free Elective | 4 | |
Credits | 14 | |
Total Credits | 123 |
Print this page.
The PDF will include all information unique to this page.