The Bachelor of Arts in Computer Science is a multidisciplinary program that integrates a curriculum of computer science courses with other areas of study. The program provides a foundation in the computer science discipline and encourages students to integrate different perspectives in order to formulate new ideas and solutions for today’s computing challenges.
The degree requires a minimum of 120 credit hours. Students are required to attain a second major or a minor in another content area.
Student learning outcomes
Upon completing this program, students will know and know how to do the following:
- Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline
- Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline
- Apply computer science theory and software development fundamentals to produce computing-based solutions
- Respond to complex problems, issues and ideas by proposing new ideas or solutions that understand and integrate the perspectives of multiple disciplines and stakeholders
Special requirements
The B.A. in Computer Science requires a minimum of 120 credits. Students must receive a minimum grade of C in all computer science courses in order to graduate.
Degree requirements for Computer Science, Bachelor of Arts (B.A.)
Course | Title | Hours |
---|---|---|
General education | ||
Select 30 credits of general education courses in consultation with an adviser. | 30 | |
Major requirements | ||
• Major core requirements | ||
CMSC 235 | Computing and Data Ethics | 3 |
CMSC 254 | Introduction to Problem-solving | 4 |
CMSC 255 | Introduction to Object-oriented Programming | 4 |
CMSC 256 | Introduction to Data Structures | 4 |
CMSC 302 | Introduction to Discrete Structures | 3 |
CMSC 311 | Computer Organization | 3 |
CMSC 355 | Fundamentals of Software Engineering | 3 |
CMSC 401 | Algorithm Analysis with Advanced Data Structures | 3 |
• Restricted electives | ||
Select four courses from the following: | 12-13 | |
Computer Systems | ||
Introduction to the Theory of Computation | ||
Programming Languages | ||
Introduction to Operating Systems | ||
Compiler Construction | ||
Databases | ||
Introduction to Quantum Computing | ||
Computer Graphics | ||
Social Network Analysis and Cybersecurity Risks | ||
Introduction to Cybersecurity | ||
Computer and Network Security | ||
Introduction to Cryptography | ||
Software Project Management | ||
Introduction to Software Analysis and Testing | ||
Software as a Service | ||
Design and Implementation of User Interfaces | ||
Mobile Programming: iOS | ||
Introduction to Data Science | ||
Artificial Intelligence | ||
Introduction to Natural Language Processing | ||
Machine Learning | ||
Data Communication and Networking | ||
Ancillary requirements | ||
IDST 301 | Interdisciplinary Theory and Practice | 3 |
MATH 211 | Mathematical Structures | 3 |
MATH 310 | Linear Algebra | 3 |
STAT 212 | Concepts of Statistics (satisfies general education quantitative foundations) | 3 |
Required minor | ||
Select a minor. | 18 | |
Open electives | ||
Select any course. | 20-24 | |
Total Hours | 120 |
The minimum number of credit hours required for this degree is 120.
What follows is a sample plan that meets the prescribed requirements within a four-year course of study at VCU. Please contact your adviser before beginning course work toward a degree.
Freshman year | ||
---|---|---|
Fall semester | Hours | |
CMSC 235 | Computing and Data Ethics | 3 |
CMSC 254 | Introduction to Problem-solving | 4 |
MATH 151 | Precalculus Mathematics | 4 |
UNIV 111 Play course video for Focused Inquiry I | Focused Inquiry I (satisfies general education UNIV foundations) | 3 |
Term Hours: | 14 | |
Spring semester | ||
CMSC 255 | Introduction to Object-oriented Programming | 4 |
MATH 211 | Mathematical Structures | 3 |
UNIV 112 Play course video for Focused Inquiry II | Focused Inquiry II (satisfies general education UNIV foundations) | 3 |
General education courses | 6 | |
Term Hours: | 16 | |
Sophomore year | ||
Fall semester | ||
CMSC 256 | Introduction to Data Structures | 4 |
CMSC 302 | Introduction to Discrete Structures | 3 |
UNIV 200 | Advanced Focused Inquiry: Literacies, Research and Communication (satisfies general education UNIV foundations) | 3 |
General education courses | 6 | |
Term Hours: | 16 | |
Spring semester | ||
CMSC 311 | Computer Organization | 3 |
STAT 212 | Concepts of Statistics (satisfies general education quantitative foundations) | 3 |
General education courses | 6 | |
Minor course | 3 | |
Term Hours: | 15 | |
Junior year | ||
Fall semester | ||
CMSC 355 | Fundamentals of Software Engineering | 3 |
MATH 310 | Linear Algebra | 3 |
Minor course | 3 | |
Open elective | 3 | |
Restricted elective | 3 | |
Term Hours: | 15 | |
Spring semester | ||
CMSC 401 | Algorithm Analysis with Advanced Data Structures | 3 |
IDST 301 | Interdisciplinary Theory and Practice | 3 |
Minor course | 3 | |
Open elective | 3 | |
Restricted elective | 3 | |
Term Hours: | 15 | |
Senior year | ||
Fall semester | ||
Minor courses | 6 | |
Open electives | 6 | |
Restricted elective | 3 | |
Term Hours: | 15 | |
Spring semester | ||
Minor course | 3 | |
Open electives | 8 | |
Restricted elective | 3 | |
Term Hours: | 14 | |
Total Hours: | 120 |
The minimum number of credit hours required for this degree is 120.