CS Undergraduate Curriculum Transition Plan


New Advising Page

The information on this page has been updated to contain just the content regarding when courses will stop and begin being offered.  For information about the BA and BS degree programs for both the Old and New Curriculum, please go to http://advising.uvacs.org.

Transition Plan

After years of careful analysis and design, including piloting new courses and getting approvals from the school and university, the CS department is changing its curriculum. The largest component of this change involves moving topics between courses to reduce duplication and improve flow among the early courses in the both the BACS and BSCS programs, creating the "new foundation" courses. Because of that change, it is generally not possible to mix-and-match courses from the old and new curriculum.

The information on this page is intended to answer general questions about the transition that may be asked by students, faculty, staff, and future CS students.  For questions beyond the information found here, please contact Prof. Mark Sherriff.

Undergraduate Record

The University of Virginia Undergraduate Record is the final authority on all program degree requirements.  The information here is meant to supplement the official undergraduate record.  In any instance where there is disagreement between the information found here and in the undergraduate record, the record's information will be followed.

Information for BSCS / BACS Majors who have taken CS 2110

  • Students who currently have credit for CS 2110 will need to finish their degree on the old curriculum.  Because material has been moved between various courses, it is generally not possible to mix-and-match courses from the old curriculum and the new curriculum.  Thus, the majority of the new changes only affect current BSCS and BACS students who were a part of the pilot program for the new courses (and thus did not take CS 2110).  The one exception is that some new foundation courses will count toward either the old or new degree requirements, as shown in the table below.  SIS is encoded to allow you to take either course and it will count properly.  Depending on the semester you need to take a given course, you may need to sign up for the new equivalent version.
Old Course Equivalent New Foundation Course Differences
CS 2102 Discrete Mathematics CS 2120 Discrete Mathematics and Theory 1 2120 is more fully specified, including coverage of proof writing skills; these were optional in 2102 and present in only some sections
CS 3102 Theory of Computation CS 3120 Discrete Mathematics and Theory 2 3120 has an additional prerequisite (CS 3100 or CS 4102) and includes more coverage of the mathematical characteristics of algorithms and data structures
CS 4102 Algorithms CS 3100 Data Structures and Algorithms 2 4102 focuses more on proofs of algorithm correctness, and 3100 covers a wider array of algorithms including basic machine learning algorithms
  • Students should pay careful attention to the charts below to ensure they complete the needed courses before they are phased out of the curriculum.  Any student on a normal progression path should have no trouble completing the courses before this occurs.

Anticipated Schedule of Changes

The exact change schedule will vary based on the speed at which the new BACS program is approved (the following assumes it will be approved prior to Spring 2022) and the facility with which we can transition students who took old course prereqs into new or changed courses.

Entries show "--" if the course is not planned on being offered; a new course number if a different course will satisfy this requirement; and "Changed" if the course will remain, but its contents or prerequisites change.

New Foundation Courses

Course Fall 2021 Spring 2022 Fall 2022 Spring 2023 Fall 2023 Spring 2024 and beyond
CS 2100 -- Yes Yes Yes Yes Yes
CS 2120 Yes Yes Yes Yes Yes Yes
CS 2130 -- Yes Yes Yes Yes Yes
CS 3100 -- -- Yes Yes Yes Yes
CS 3120 -- -- -- Yes Yes Yes
CS 3130 -- -- Yes Yes Yes Yes
CS 3140 -- -- Yes Yes Yes Yes
CS 3240 Yes Yes Yes Yes Changed* Changed*
CS 4457 Yes Yes Yes Yes Yes Changed*

Old Course Sequence

Course Fall 2021 Spring 2022 Fall 2022 Spring 2023 Fall 2023 Spring 2024 and beyond
CS 2102 CS 2120 CS 2120 CS 2120 CS 2120 CS 2120 CS 2120
CS 2110 Yes Non-Majors# -- -- -- --
CS 2150 Yes Yes Non-Majors# -- -- --
CS 2330 ECE 2330 ECE 2330 ECE 2330 ECE 2330 ECE 2330 ECE 2330
CS 3102 Yes Yes Yes CS 3120^ CS 3120^ CS 3120^
CS 3240 Yes Yes Yes Yes Changed* Changed*
CS 3330 Yes Yes Yes Yes Changed* Changed*
CS 4102 Yes Yes CS 3100 CS 3100 CS 3100 CS 3100
CS 4414 Yes Yes Yes Yes Yes Changed*
CS 4457 Yes Yes Yes Yes Yes Changed*

* Adds a prereq and changes content.

^ Has extra prereqs compared to the course it replaces.

# At this point, these courses are being offered mainly for students in other majors or for legacy reasons need to remain on the old course sequence.  Most CS majors should plan to move to the new foundation course sequence before this point.

Common Questions

  • Which courses should I take?

    Whichever are offered when you are ready for your second CS course, with a preference for the new courses if both are being offered. In practice, this generally means that if you take CS 2100, you use the new courses; if you take CS 2110, you use the old courses.

  • I'm in a degree program not listed here. How will this affect me?

    We haven't had official word from other degree programs yet. When we do, we'll add it here.

  • I took some of the old courses, then took a year off and now the rest of the old courses are not offered. What do I do?

    You'll need an individual plan to help your situation. Please contact your academic advisor in CS and the current curriculum change coordinator.

  • I took some of the old courses and some of the new courses before I saw this. What do I do?

    Generally, you'll need to pick one or the other to complete the degree. Please contact your academic advisor in CS and the current curriculum change coordinator to determine which courses to complete.