Undergraduate Studies

The Virginia Commonwealth University Department of Computer Science offers several opportunities for undergraduate students interested in the study of computer science:

Minimum requirements for admitting a VCU student to computer science major or minor

1) Cumulative GPA must be at least 3.0 for courses taken at VCU

2) Completion of the following courses with a "B" or better:

  • MATH 151
  • at least TWO courses from these three:
    • MATH 200
    • MATH 201
    • STAT 212
  • at least ONE course from these three:
    • CHEM 101 and CHEZ 101
    • PHYS 207
    • BIOL 151 and BIOZ 151

Click Here for Undergraduate Syllabi

For assistance accessing any of the documents on this page, please contact the Engineering Marketing and Communications team at EngrMktComm@vcu.edu.

Bachelor of Science

The Bachelor of Science in computer science is accredited by the Computing Accreditation Commission of ABET. It is built on a rigorous curriculum of computer science courses. The program includes advanced study in several important areas of computer science and provides a strong foundation in this discipline. Students completing the Bachelor of Science will attain eleven learning outcomes. Among these is the ability to give oral presentations.

CS Oral Presentation Guide provides the departmental guidelines for giving oral presentations.

Here are current CS BS Flowchart and the accompanying CS Graduation Worksheet

Transfer students wishing to enter the B.S. in computer science and who hold an Associate’s degree should have at least a 3.0 GPA; each will be considered on a case-by-case basis.


Students enrolled in the B.S. degree in Computer Science and/or in the Post-baccalaureate Undergraduate Certificate in Computer Science programs can specialize in the area of Cybersecurity by choosing the following three technical elective courses:

  • CMSC 413. Introduction to Cybersecurity
  • CMSC 414. Computer and Network Security
  • CMSC 415. Introduction to Cryptography


Students enrolled in the B.S. degree in Computer Science and/or in the Post-baccalaureate Undergraduate Certificate in Computer Science programs can specialize in the area of Data Science by choosing three of the following technical elective courses:

  • CMSC 435. Introduction to Data Science
  • CMSC 409. Artificial Intelligence
  • CMSC 416. Introduction to Natural Language Processing
  • CMSC 508. Database Theory
Computer Science (B.S.)

The Bachelor of Science in computer science is built on a rigorous, highly concentrated, accredited curriculum of computer science courses. The program provides a strong foundation in the discipline and includes advanced study in several important areas of computer science.

View bulletin

Accelerated B.S. and M.S.

The accelerated B.S. and M.S. degree offers the best students an opportunity to obtain both the B.S. and M.S. degrees in five years. In order to accomplish this, students must take 126 credits during their first four years of study. Students who intend to take this program must work carefully from the start of their studies to schedule necessary classes.

It is recommended that students apply no later than their fourth semester of study. Applying at a later date does not allow enough time for students to complete the five-year program.

Student applying to the program must meet the Undergraduate Director, after satisfying the following requirements:

  1. GPA of at least 3.4 in the first six CMSC courses, typically in 255, 256, 257, 302, 303, 355
  2. Overall GPA of at least 3.0.

Once the department accepts a student into the five-year program, they are initially still undergraduate students, but with guaranteed admission into the M.S. program. Accepted students still need to fill out an official application for the M.S. program online at (no GRE is required).

Accelerated students need to have a semester or more of overlap during which they are both in the B.S. and in the M.S. programs. To achieve that, students should apply to the M.S. program no later than during the semester before the B.S. graduating semester (e.g. in early Fall for those graduating the following May). The students will then be admitted to the M.S. program, and will be considered graduate students (and charged graduate tuition) from the beginning of the semester in which they graduate with B.S. degree (e.g. from the start of Spring for May graduates).

Accelerated Bachelor of Science and Master of Science in Computer Science (B.S. & M.S.)

Students accepted into this selective program accomplish both the B.S. and M.S. degrees within five years by taking additional graduate courses within the first four years of the program. Up to two of these courses will count as open electives in the B.S. program and as didactic course work in the M.S. program.

View bulletin


Students interested in pursuing a minor in computer science should submit a minor request form to the office of the dean of the School of Engineering. Students studying a major within the School of Engineering may take this form directly to the undergraduate director in computer science.

Once accepted, students must complete the courses as described on the VCU Bulletins website. Note that EGRE 245-246 may be substituted for CMSC 255-256.

International students

The VCU Department of Computer Science is an ideal environment for international students to study, gain invaluable experience in the field and interact with their peers. For details on international admission procedures, please refer to the information provided by the VCU Global Education office.

Computer Science, minor in (minor)

The minor in computer science consists of at least 18 credits in computer science in the courses listed in the Bulletin. Click the link below for more information.

View bulletin


The post-bac certificate in computer science is available to students who have earned a bachelor’s degree in a subject area other than CS and change careers via the study of computer science. The student who receives the post-bac certificate in CS equips herself/himself with excellent opportunities in the many broad areas of computer science, including databases, software development/analysis/testing, mobile programming, data science or cyber security, and is also prepared for subsequent graduate studies in computer science.

Students are admitted to the post-bac certificate program for spring and fall enrollment. To be accepted a student must hold a bachelor's degree. While applicants are considered on a case-by-case basis, admission usually requires an undergraduate GPA of at least a 3.0 and the completion of at least one semester of calculus or discrete mathematics (MATH 211) with a minimum grade of B.

Students already enrolled in the post-bac certificate can additionally earn a specialization in cybersecurity or data science (see details). 

To apply, go to ugrad.vcu.edu/apply and fill out the online form.

Computer Science, Certificate in (Certificate)

The Certificate in Computer Science is available to students who have received bachelor’s degrees in other subject areas and wish to pursue the study of computer science. Students who receive the certificate through this program equip themselves for many professional opportunities in the scientific community and with government agencies. The certificate is also designed to allow interested students to prepare for graduate study in computer science.

View bulletin