Secure Computing Major | Virginia Tech Academic Catalog
View Undergraduate Section
View Graduate Section
Explore Programs
Explore programs to find a fit for you.
Search Courses
Explore courses by subject and keyword.
Previous Publications
Navigate to previous publications.
2025-2026 Academic Catalog
Program Curriculum
Course List
Code
Title
Credits
Degree Core Requirements
CS 1114
Introduction to Software Design (C)
CS 2505
Introduction to Computer Organization (C)
CS 2506
Introduction to Computer Organization (C)
CS 3214
Computer Systems
CS 3604
Professionalism in Computing
MATH 2114
Introduction to Linear Algebra
MATH 2204
Introduction to Multivariable Calculus
or
CMDA 2005
Integrated Quantitative Sciences
MATH 2534
Introduction to Discrete Mathematics
or
MATH 3034
Introduction to Proofs
Subtotal
24
Major Requirements
CS/BIT/PSCI 2164
Foundations of Contemporary Security Environments
CS 3314
Programming Language Theory and Practice
CS 4264
Principles of Computer Security
CS 4XXX
Secure Computing Capstone
Secure Computing Electives
Subtotal
21
Career Bridge Experience
ENGE 3900
Bridge Experience
Additional Course Requirements
CS 1944
Computer Science First Year Seminar
CS 2114
Software Design and Data Structures (C)
CS 4944
Seminar
MATH 3134
Applied Combinatorics and Graph Theory
or
MATH 3124
Modern Algebra
Subtotal
Elective Courses
CS 3/4/5XXX Elective
CS Technical Elective
Advanced Natural Science Elective
Communications Elective
Professional Writing Elective
Statistics Elective
Free Electives
Subtotal
23
Pathways to General Education
Pathways courses can double count with any major requirements or elective requirements, they cannot double count with degree core. Exceptions to this are
CS 3114
which cannot double count with other requirements or electives.
Pathways Concept 1 - Discourse
ENGL 1105
First-Year Writing (1F)
ENGL 1106
First-Year Writing (1F)
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
Pathways Concept 3 - Reasoning in the Social Sciences
Select six hours in
Pathway 3
Pathways Concept 4 - Reasoning in the Natural Sciences
Natural Science Elective
Natural Science Elective
Pathways Concept 5 - Quantitative and Computational Thinking
MATH 1225
Calculus of a Single Variable (5F ; C-)
MATH 1226
Calculus of a Single Variable (5F)
CS 3114
Data Structures and Algorithms (5A ; C)
Pathways Concept 6 - Critique and Practice in Design and the Arts
Select three hours in
Pathway 6a
ENGE 1215
ENGE 1216
Foundations of Engineering
and Foundations of Engineering
(6D)
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.
Subtotal
47
Total Credits
123
Additional Requirements and Notes
Minor Restriction:
students pursing a Major in Secure Computing may not minor in Cybersecurity.
Secure Computing Electives
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
Course List
Code
Title
Credits
BIOL 1105
BIOL 1115
Principles of Biology
and Principles of Biology Laboratory
CHEM 1035
CHEM 1045
General Chemistry
and General Chemistry Laboratory
PHYS 2305
Foundations of Physics
Advanced Natural Science Elective:
Choose 4 credits
Course List
Code
Title
Credits
BIOL 1106
BIOL 1116
Principles of Biology
and Principles of Biology Laboratory
CHEM 1036
CHEM 1046
General Chemistry
and General Chemistry Laboratory
PHYS 2306
Foundations of Physics
Communications Elective.
Students must take one of the following:
Course List
Code
Title
Credits
COMM 2004
Public Speaking
COMM 2014
Speech Communication
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.
Professional Writing Elective.
Students must take one of the following:
Course List
Code
Title
Credits
ENGL 3764
Technical Writing
ENGL 3804
Technical Editing and Style
ENGL 3814
Creating User Documentation
ENGL 3824
Visual Rhetoric and Document Design
ENGL 3834
Intercultural Issues in Professional Writing
ENGL 3844
Writing and Digital Media
ENGL 4824
Science Writing
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.
Statistics Elective.
Students must take one of the following:
Course List
Code
Title
Credits
STAT 4705
Probability and Statistics for Engineers
STAT 4105
Theoretical Statistics
STAT 4714
Probability and Statistics for Electrical Engineers
STAT 4604
Statistical Methods for Engineers
STAT 3704
Statistics for Engineering Applications
CMDA 2006
Integrated Quantitative Sciences
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.
CS 3/4/5XXXX Electives
Other than the exceptions listed below, any 3-credit CS 3/4/5000-level course not otherwise used to fulfill a Computer Science requirement can be used as a CS 3/4/5XXX elective, including both
CS 4974
Independent Study
and
CS 4994
Undergraduate Research
. Additionally, the following cross-listed courses are allowed for CS 3/4/5XXX elective credit.
Course List
Code
Title
Credits
BIT 4164
Future of Security: Integrative Solutions for Complex Security Systems
CMDA 4654
Intermediate Data Analytics and Machine Learning
ECE 4424
Machine Learning
ECE 4504
Computer Organization
MATH 3414
Numerical Methods
MATH 4414
Issues in Scientific Computing
PSCI 4164
Future of Security: Integrative Solutions for Complex Security Systems
STAT 4654
Intermediate Data Analytics and Machine Learning
STS 4014
Algorithms & Society
Exceptions (not allowed to count towards CS 3/4/5XXX electives)
Course List
Code
Title
Credits
CS 3114
Data Structures and Algorithms
CS/CMDA 3634
Computer Science Foundations for Computational Modeling & Data Analytics
CS 4774
Human-Computer Interaction Design Experience
CS 5040
Intermediate Data Structures and Algorithm Analysis
CS 5044
Object-Oriented Programming with Java
CS 5045
Computation for the Data Sciences
CS 5046
Computation for the Data Sciences
CS 5644
Machine Learning with Big Data
CS 5664
Social Media Analytics
CS 5904
Project and Report
1-19
CS 5944
Graduate Seminar
CS 5974
Independent Study
1-19
CS 5994
Research and Thesis
1-19
Secure Computing Elective
Students must take three of the following:
Course List
Code
Title
Credits
BIT 4604
Data Governance, Privacy and Ethics
BIT 4614
Cybersecurity Management II
BIT 4624
Cybersecurity Analytics for Business
CS 3274
Software Reverse Engineering
CS 3754
Cloud Software Development
CS 4254
Computer Network Architecture and Programming
ECE 4560
Computer and Network Security Fundamentals
FIN 4014
Cyberlaw and Policy
MATH 4175
Cryptography
MATH 4176
Cryptography
CS 5264
Advanced Linux Kernel Programming
CS 5580
Cryptographic Engineering
CS 5584
Network Security
CS 5590
System and Software Security
CS 5594
Blockchain Technologies
Secure Computing Capstone Requirement.
Students must complete one 4000-level CS capstone course in the secure computing area. Students may choose the course listed here, or other 4/5000-level CS courses that have received prior approval as fulfilling the secure computing capstone requirement.
Course List
Code
Title
Credits
CS 4284
Systems & Networking Capstone
CS 4274
Secure Computing Capstone
With prior departmental approval,
CS 4094
Computer Science Capstone
or
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.
CS Technical Elective
Secure Computing majors must satisfy a 3 credit hour technical elective requirement by taking one of:
Any 3-credit CS 3/4/5000-level course meeting the CS 3/4/5XXX elective requirements under (6) above.
Any Secure Computing Elective listed under (6) above that is not otherwise used to fulfill a Secure Computing requirement.
Any approved 3000- or 4000-level course in another discipline that has significant technical content relevant to the science or application of computer science can be used as a technical elective.
Requests to have a non-CS course approved as a technical elective are made by submitting a course syllabus to your CS advisor for review prior to enrolling in the course. This includes non-CS Independent Study (4974) and Undergraduate Research (4994) courses.
Below is a listing of non-CS courses that are approved as technical electives.
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.
Course List
Code
Title
Credits
AOE 4434
Introduction to Computational Fluid Dynamics
ART 3704
Topics in Computer Animation
BIT 4424
Business Information Visualization and Analytics
BIT 4434
Computer Simulation in Business
BIT 4444
Web-Based Decision Support Systems
BIT 4544
Artificial Intelligence, Machine Learning, and Deep Learning in BIT
BIT 4604
Data Governance, Privacy and Ethics
BIT 4614
Cybersecurity Management II
BIT 4624
Cybersecurity Analytics for Business
CEM 4624
Construction Robotics and Automation
CEM 4644
Artificial Intelligence for Design, Construction, and Operations
CMDA 3606
Mathematical Modeling: Methods and Tools
ECE 3544
Digital Design I
ECE 3574
Applied Software Design
ECE 4524
Artificial Intelligence and Engineering Applications
ECE 4550
Real-Time Systems
ECE 4560
Computer and Network Security Fundamentals
ECE 4564
Network Application Design
ECE 4580
Digital Image Processing
ECE 4704
Principles of Robotics Systems
ENGE 4735
Interdisciplinary Design Capstone
ENGE 4736
Interdisciplinary Design Capstone
ENGE 4964
Field Study
GEOG/GEOS 4084
Modeling with Geographic Information Systems
GEOG 4314
Spatial Analysis in Geographic Information Systems
GEOG 4324
Algorithms in Geographic Information Systems
MATH 4175
Cryptography
MATH 4176
Cryptography
MATH 4445
Introduction to Numerical Analysis
MATH 4454
Applied Mathematical Modeling
ME 4524
Introduction to Robotics and Automation
MUS 3064
Digital Sound Manipulation
MUS 3065
Computer Music and Multimedia Design
MUS 3066
Computer Music and Multimedia Design
PHYS 4755
Introduction to Computational Physics
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
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.
Career Bridge Experiences
help prepare students for post-graduation life and develop a professional identity. Internships, Co-ops, and Undergraduate Research are examples of
possible Career
Bridge Experiences. Students must
participate
in a Career Bridge Experience to complete the BSCS
degree. Because some of these experiences are not credit bearing, the
ENGE 3900
course is used to track and assess student participation in a Career Bridge Experience and to record fulfillment of this degree requirement on the transcript.
Students should enroll in
ENGE 3900
during the semester (or one of the semesters) that they undertake the Career Bridge Experience.
Enrollment in
ENGE 3900
requires approval of a Career Bridge Plan.
Further information about acceptable Career Bridge Experiences and the process for submitting a Career Bridge Plan are explained in
CS 1944
Satisfactory Progress Towards Degree
University Policy 6305 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:
Each student must meet the minimum University-wide criteria as described in Policy 6305 and summarized in the Undergraduate Catalog.
Be registered in at least one 3-credit course
required
in the major during each on-campus semester of the regular academic year.
Maintain an in-major GPA of 2.0 or better (calculated using all classes with a CS designator).
Not take any CS course required in the major more than three times, including attempts ending in course withdrawal.
Not repeat more than 3 CS courses required in the major, including attempts ending in course withdrawal.
Graduation Requirements
To qualify for a B.S. degree in CS, a student must:
Completed at least 123 credit hours
Earn a “C” (2.0) or better in
CS 1114
Introduction to Software Design
CS 2114
Software Design and Data Structures
CS 2505
Introduction to Computer Organization
CS 2506
Introduction to Computer Organization
and
CS 3114
Data Structures and Algorithms
Earn a minimum overall GPA of 2.00 and a minimum in-major GPA of 2.00 (the in-major GPA is calculated using all classes with a CS designator).
Acceptable Substitutions
MATH 2405H
may be substituted for
MATH 2114
MATH 2405H
(5 cr) +
MATH 2406H
(5 cr) may be substituted for
MATH 2114
(3 cr) +
MATH 2204
(3 cr) + free elective (4 cr)
CS 2064
(C) may be substituted for
CS 1114
(C)
ECE 2514
(C) may be substituted for
CS 1114
(C)
ECE 3514
(C) may be substituted for
CS 2114
(C)
ECE 2564
(C) may be substituted for
CS 2505
(C)
Students with prior knowledge or experience covering CS 1114 or CS 2114 should contact csundergrad@cs.vt.edu for information on obtaining credit by exam.
Foreign Language Requirement
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
Plan of Study Grid
First Year
Fall Semester
Credits
CS 1114
Introduction to Software Design (
ENGE 1215
Foundations of Engineering
ENGL 1105
First-Year Writing
MATH 1225
Calculus of a Single Variable (
C-
Natural Science Elective
Credits
16
Spring Semester
CS 2114
Software Design and Data Structures (
ENGE 1216
Foundations of Engineering
ENGL 1106
First-Year Writing
MATH 1226
Calculus of a Single Variable
Natural Science Elective
Credits
16
Second Year
Fall Semester
CS 1944
Computer Science First Year Seminar
CS/BIT/PSCI 2164
Foundations of Contemporary Security Environments
CS 2505
Introduction to Computer Organization (
MATH 2534
or
MATH 3034
Introduction to Discrete Mathematics
or Introduction to Proofs
Pathways 2, 3, 6a, or 7
Pathways 2, 3, 6a, or 7
Credits
16
Spring Semester
CS 2506
Introduction to Computer Organization (
MATH 2204
or
CMDA 2005
Introduction to Multivariable Calculus
or Integrated Quantitative Sciences
MATH 2114
Introduction to Linear Algebra
Communications Elective
Advanced Natural Science Elective
Credits
16
Third Year
Fall Semester
CS 3114
Data Structures and Algorithms (
MATH 3134
Applied Combinatorics and Graph Theory
Secure Computing Elective
Professional Writing Elective
Pathways 2, 3, 6a, or 7
Credits
15
Spring Semester
CS 3214
Computer Systems
CS 3604
Professionalism in Computing
ENGE 3900
Bridge Experience
Statistics Elective
Pathways 2, 3, 6a, or 7
Pathways 2, 3, 6a, or 7
Credits
15
Fourth Year
Fall Semester
CS 3314
Programming Language Theory and Practice
CS 4264
Principles of Computer Security
CS Technical Elective
Secure Computing Elective
Free Elective
Credits
15
Spring Semester
CS 4944
Seminar
CS 4XXX: Secure Computing Capstone
Secure Computing Elective
CS 3/4/5XXX Elective
Pathways 2, 3, 6a, or 7
Free Elective
Credits
14
Total Credits
123
Print Options
Send Page to Printer
Print this page.
Download Page (PDF)
The PDF will include all information unique to this page.
US