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/BIT/PSCI 2164 | Foundations of Contemporary Security Environments | 3 |
CS 3314 | Programming Language Theory and Practice | 3 |
CS 4264 | Principles of Computer Security | 3 |
CS 4XXX | Secure Computing Capstone | 3 |
Secure Computing Electives 3 | 9 | |
Subtotal | 21 | |
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 | |
Subtotal | 8 | |
Elective Courses | ||
CS 3/4/5XXX Elective 3 | 3 | |
CS Technical Elective 3 | 3 | |
Advanced Natural Science Elective | 4 | |
Communications Elective | 3 | |
Professional Writing Elective | 3 | |
Statistics Elective | 3 | |
Free Electives | 4 | |
Subtotal | 23 | |
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 hours 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 should 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 |
Minor Restriction: students pursing a Major in Secure Computing may not minor in Cybersecurity.
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.
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 |
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 |
Code | Title | Credits |
---|---|---|
STAT 4705 | Probability and Statistics for Engineers | 3 |
STAT 4105 | Theoretical Statistics | 3 |
STAT 4714 | Probability and Statistics for Electrical Engineers | 3 |
STAT 4604 | Statistical Methods for Engineers | 3 |
STAT 3704 | Statistics for Engineering Applications | 2 |
CMDA 2006 | Integrated Quantitative Sciences | 6 |
Note: Students taking STAT 3704 Statistics for Engineering Applications 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 STAT 4705 Probability and Statistics for Engineers, STAT 4105 Theoretical Statistics, or CMDA 2006 Integrated Quantitative Sciences, since that major uses a more restrictive list of statistics electives.
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 4514 | 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 4644 | Artificial Intelligence for Design, Construction, and Operations | 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 | 3 |
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 |
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 |
Code | Title | Credits |
---|---|---|
BIT 4604 | Data Governance, Privacy and Ethics | 3 |
BIT 4614 | Cybersecurity Management II | 3 |
BIT 4624 | Cybersecurity Analytics for Business | 3 |
CS 3274 | Software Reverse Engineering | 3 |
CS 3754 | Cloud Software Development | 3 |
CS 4254 | Computer Network Architecture and Programming | 3 |
ECE 4560 | Computer and Network Security Fundamentals | 3 |
FIN 4014 | Cyberlaw and Policy | 3 |
MATH 4175 | Cryptography | 3 |
MATH 4176 | Cryptography | 3 |
CS 5264 | Advanced Linux Kernel Programming | 3 |
CS 5580 | Cryptographic Engineering | 3 |
CS 5584 | Network Security | 3 |
CS 5590 | System and Software Security | 3 |
CS 5594 | Blockchain Technologies | 3 |
Code | Title | Credits |
---|---|---|
CS 4284 | Systems & Networking Capstone | 3 |
CS 4274 | Secure Computing Capstone | 3 |
With prior departmental approval, ENGE 4735 Interdisciplinary Design Capstone or ENGE 4736 Interdisciplinary Design Capstone can fulfill the capstone requirement in semesters where the course includes a significant software security aspect.
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 4514 | 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 4644 | Artificial Intelligence for Design, Construction, and Operations | 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 | 3 |
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 Undergraduate Research (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.
Roadmap
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/BIT/PSCI 2164 | Foundations of Contemporary Security Environments | 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 2204 or CMDA 2005 | Introduction to Multivariable Calculus or Integrated Quantitative Sciences | 3 |
MATH 2114 | Introduction to Linear Algebra | 3 |
Communications Elective | 3 | |
Advanced Natural Science Elective | 4 | |
Credits | 16 | |
Third Year | ||
Fall Semester | ||
CS 3114 | Data Structures and Algorithms (C) | 3 |
MATH 3134 | Applied Combinatorics and Graph Theory | 3 |
Secure Computing Elective 3 | 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 3314 | Programming Language Theory and Practice | 3 |
CS 4264 | Principles of Computer Security | 3 |
CS Technical Elective 3 | 3 | |
Secure Computing Elective 3 | 3 | |
Free Elective | 3 | |
Credits | 15 | |
Spring Semester | ||
CS 4944 | Seminar | 1 |
CS 4XXX: Secure Computing Capstone | 3 | |
Secure Computing Elective 3 | 3 | |
CS 3/4/5XXX Elective 3 | 3 | |
Pathways 2, 3, 6a, or 7 | 3 | |
Free Elective | 1 | |
Credits | 14 | |
Total Credits | 123 |
Print this page.
The PDF will include all information unique to this page.