NOTE: This information, while mostly still correct, is out of date and will be replaced soon by the new curriculum. Please see for up-to-date information as it becomes available.

Basic Schedule and Information

Which tabs should I look at?
BSCS Majors
- BSCS majors should complete all of Tab A as soon as possible.
- Tab B can be completed over your last two years.
- Tabs C and D course should be picked gradually over each semester, taking the next course in sequence as needed.
- Elective can be taken after CS 2150 has been completed with a C- or better (CS 3205 is the exception), but most of these course are completed in the last two years.
- Tab F describes the Senior Thesis and Capstone courses.

BACS Majors
- BACS majors should complete all of Tab A as soon as possible after they declare.
- BACS majors have two required courses in Tab B (CS 3330 and CS 4102). The other courses in Tab B count as Computing Electives (except 2190). These are often easier electives to get than those listed in Tab E.
- Tabs C and D are not required for BACS, but don't forget about your College requirements instead!
- BACS majors will need to take 4 total CS electives and 4 Integration Electives described in Tab E.

Basic Points
- Students should enroll for a full-time schedule (12 credits for full time, 15 credits SEAS min without further consent)
- Students should pick several backup options/electives to fill a slot in case the courses are full or blocked
- There's online help for SIS:

A. Lower Core CS Classes (2nd and 3rd Years)

--- Schedule ---
Lou's List for CS [HTTP]
Lower Core CS Class Notes
- These classes should be the first priority of new majors.
- CS 1110, CS 2110, and CS 2150 all have labs associate with them.
- New majors should have already had CS 1110/1/2/3. If not, this is the first priority.
- CS 2110 has a large software engineering component and has teams working together on moderate-sized projects. Systems, EE, CpE, and CS majors are required to take this.
- A student cannot place out of CS 2110 if they took CS 1110/1/2/3 at UVa.
- CS 2102 can be taken concurrently with either CS 2110 or CS 2150.
- CS 2150 is traditionally a work-intensive class. Students should take care when signing up for other classes during the semester they take CS 2150.
- CS 2330 now only appears as ECE 2330.
- ECE 2330 is required for CS and CpE majors. ECE 2330 does not count toward the BACS degree.

B. Upper Core CS Classes (3rd and 4th Years)

--- Schedule ---
Lou's List for CS [HTTP]
Upper Core CS Class Notes
- All courses on this tab are required for BSCS majors.
- BA students are required to take CS 3330 and CS 4102. CS 3102, 3240, and 4414 all count as Computing Electives and are good options for BA majors.

Theory Courses
- It is recommended that students take CS 3102 before CS 4102, but it is not required.

Architecture Courses
- CS 3330 has a lab component with it.

C. Applied Mathematics (BS - All Years)

--- Schedule ---
Lou's List for APMA [HTTP]
APMA Class Notes
- The first priority is APMA 1110 and APMA 2120 as these are core SEAS requirements.
- The BSCS requires APMA 3100 and 2 of the 3 in the lower box.
- BACS majors have no AMPA requirements and can skip this tab.

Which 2 APMAs should I take?
- APMA 2130 is good if you enjoyed calculus and feel you have a strong background.
- APMA 3080 is almost a necessity for those wanting to do graphics. Game design students should also consider 3080.
- APMA 3120 is a great choice for those interested in doing CS research at some point. - APMA 3150 covers the same material as APMA 3120, but does it more from a programming perspective with MATLAB and other packages.

D. Other Required Courses (BS - All Years)

Other Required Course Notes
- All courses on this tab are required BSCS majors.
- BA students can skip this tab.

SEAS First and Second Semester
- By the time a BSCS major declares, they should have completed STS 1500, CHEM 1610/1, ENGR 1620, PHYS 1425/9, and the Science elective.

Science Elective Notes
- Options are MSE 2090, ECE 2066, BIOL 2010, BIOL 2020, CHEM 1620, PHYS 2620, and ENGR 2500 (Nanoscience).
- MSE 2090 and ECE 2066 are the most often recommended Science electives.

2nd and 3rd Years
- A 2000 or 3000 level STS elective should be taken at some point in the 2nd or 3rd year.

4th Years
- STS 4500 and STS 4600 are the Senior Thesis track (Fall and Spring respectively).

E. Electives

CS Elective Course Notes
- Our department offers a wide variety of electives every semester, but not necessarily all electives that are in the catalogue.
- Please check the Undergrad Handbook [HTTP] for a comprehensive list of electives that the department offers.

HSS Elective Course Notes (BS)
- Don't ignore your HSS! Take one every semester or so in your third and fourth year! Rules for HSS [HTTP]

Unrestricted Elective Course Notes (BS)
- They may be called "unrestricted," but there are a few rules. Rules for HSS [HTTP]

Integration Elective Course Notes (BA)
- The Integration Electives list link is provided under the chart to the left. There is a wide range of great courses here!
- If you find another course that meets the requirements of an Integration Elective, talk to your advisor and Prof. Horton to see if it might count. In general, a course with a programming/technical nature outside of the CS department could be a candidate.

F. Senior Thesis and Capstone

CS Senior Thesis and Capstone Course Notes
There are two basic options to completing your Senior Thesis and Capstone requirement for the BSCS.

- In your 4th year, sign up for CS 4500 in the fall and STS 4600 in the spring
- If you wish to do a year-long project-based course for your senior thesis, sign up for CS 4970 in the fall and CS 4971 in the spring. CS 4970 counts as a CS elective. CS 4971 counts toward your Capstone requirement.
- If you would prefer to work on an independent (or small team) project of your own design, or would like to do research with a CS faculty member, potential topics will be posted near the beginning of the fall term. By looking through those topics and also meeting with CS faculty to discuss what research they are interested in, find a faculty member that will agree to work together with you. Across both fall and spring, sign up for a total of 3 credits of CS 4980. For instance, all three credits could be in the spring, or one credit in the fall and two in the spring. If the project is significant enough to warrant more credits, sign up for up to three credits of CS 4993 in the fall and 3 credits of CS 4980 in the spring.

Advisor Advice

- Make sure to remove the student's hold on your advising page in SIS
- This site is not intended to be a replacement or comprehensive restating of the advice from the Undergrad Handbook and/or the Dean's office, but as a reference to use during advising.
- If ever there is a conflict between this site and the Undergrad Handbook, go with the Handbook!
- If there are any problems or suggestions for this site, please email Mark Sherriff -