Computer Science Major & Minor
The effects of computer science on the world are hardly hidden. The advent of the computer has brought sweeping changes to business, economics, science and technology. It has also revolutionized daily life—from how we bank, cook and shop to how we work and interact with family and friends. Computer science students aren’t just learning about the computer systems that will allow us to maintain our current lifestyle; they are learning the fundamentals of the field so they can push boundaries and develop the breaking technologies that will continue to improve how we live.
The computer science program prepare students exceptionally well for careers or graduate study. Students who have interests in other science programs find that both the mathematics and computer science degrees dovetail nicely to other scientific disciplines. The department offers academic contests, a colloquium series, summer research, independent study projects and study abroad opportunities that round out the degrees, preparing students for some of the fastest growing and highest paying occupations in the United States.
Beginning fall 2020:
Computer Science majors may choose to add a concentration in Data Science and Statistics. Data Science is an emerging interdisciplinary field that uses scientific methods, processes, algorithms, and systems to extract knowledge from data. The Data Science and Statistics (DSS) Concentration for Computer Science majors at University of Richmond is designed to supplement the major, grounding the student with a solid theoretical foundation while building the strong analytic skills that are needed to work with large and/or complex data sets. The DSS concentration prepares students for graduate study in the statistical sciences and supports students who aim for careers in any emerging area of data science.

Bachelor of Science
The Bachelor of Science Degree
Note: The grade point average of the coursework comprising the major must be no less than 2.00 with no computer science course grade below C (1.70). Students are strongly advised to consult with faculty in planning their major curriculum.
15 units, including:
CMSC150 Introduction to Computing
CMSC221 Data Structures with Lab
CMSC222 Discrete Structures for Computing
CMSC240 Software Systems Development
CMSC301 Computer Organization
CMSC315 Algorithms
CMSC323 Design and Implementation of Programming Languages
Three additional 1unit CMSC electives at the 300 level. Without departmental approval, no more than one of these courses can be an Independent Study course.
MATH211 Calculus I
MATH212 Calculus II
MATH245 Linear Algebra
Two units at the 300 level or above in mathematics or two units (or more) beyond the introductory level in one of the following fields: physics (200 level or above), chemistry (200 level or above), or biology (beyond 205).
MATH300 may not be used to meet the 300level MATH option for the BS degree
Note: Any MATH and CMSC doublemajor, or MATH major with CMSC minor, having earned at least an A in MATH300 may exempt from CMSC222 but is required to complete an additional CMSC 300level elective to complete the CMSC major or minor.

Bachelor of Arts
The Bachelor of Arts Degree
Note: The grade point average of the coursework comprising the major must be no less than 2.00 with no computer science course grade below C (1.70). Students are strongly advised to consult with faculty in planning their major curriculum.
12 units, including:
CMSC 150 Introduction to Computing
CMSC 221 Data Structures with Lab
CMSC222 Discrete Structures for Computing
CMSC240 Software Systems Development
CMSC301 Computer Organization
CMSC315 Algorithms
CMSC323 Design and Implementation of Programming Languages
Three additional 1unit CMSC electives at the 300 level. Without departmental approval, no more than one of these courses can be an Independent Study course.
MATH211 Calculus I
MATH245 Linear Algebra
Note: Any MATH and CMSC doublemajor, or MATH major with CMSC minor, having earned at least an A in MATH300 may exempt from CMSC222 but is required to complete an additional CMSC 300level elective to complete the CMSC major or minor.

Minor
The Computer Science Minor
Note: The grade point average of the coursework comprising the minor must be no less than 2.00 with no computer science course grade below C (1.70). Students are strongly advised to consult with faculty in planning their minor curriculum.
Six units, including:
CMSC 150 Introduction to Computing
CMSC 221 Data Structures with Lab
CMSC222 Discrete Structures for Computing
CMSC240 Software Systems Development
CMSC301 Computer Organization or CMSC315 Algorithms and Data Structures
One elective unit chosen from:
A 1unit 300level Computer Science elective or
A 1unit computationally intensive upper level course from another department approved by the computer science faculty.

Data Science and Statistics Concentration
The Data Science and Statistics Concentration
The concentration in data science and statistics with a major in computer science requires six units (where applicable, these may also count for major requirements).
CMSC 327 Machine Learning (may replace with DSST389 Statistical Learning)
MATH235 Multivariate Calculus
DSST289 Introduction to Data Science
MATH329 Probability
Two units, chosen from:
Note: Students completing a concentration in data science and statistics may not minor in mathematics or computer science.