[an error occurred while processing this directive]

Skip to Content

Prerequisite Policy

The computer science department has as one of its goals to be the top undergraduate department in the country. We expect the education we provide our majors will allow them to become technological leaders. To ensure proper preparation, we completely revamped our curriculum and have made further significant modifications to improve it.

The result is a state-of-the-art program of study that requires rigorous effort both on the part of our faculty and on our undergraduate students.

Two measures of the success of our ongoing effort are the extreme popularity of our courses and the number of schools that have incorporated our curriculum into their programs of study.

To ensure that our courses can present the required important material at the appropriate level, students must demonstrate adequate preparation to take our courses. In particular, students must meet the prerequisite requirements. Our prerequisite requirements for a given course specify both the courses that must have been previously taken along with the minimal qualifying grades in those courses. In general, the minimal qualifying grade for a prerequisite course is C-. Students not meeting the requirements for a course will not normally be permitted to enroll in that course.

Please note that for the overall good, prerequisite requirements are being strictly enforced.

The following is a partial list of prerequisite requirements for Computer Science courses:

  • CS 201 -- requires the completion of CS 101 with a grade of C- or better.
  • CS 202 -- requires the completion of CS 101 and with a grade of C- or better.
  • CS 205 -- requires the completion of CS 105 with a grade of C- or better.
  • CS 216 -- requires the completion of CS 201 and CS 202 with grades of C- or better.
  • CS 302 -- requires the completion of CS 201 and CS 202 with grades of C- or better.
  • CS 305 -- requires the completion of CS 201 with a grade of C- or better.
  • CS 333 -- requires the completion of CS 201 and EE/CS 230 with grades of C- or better.
  • CS 340 -- requires the completion of CS 216 with a grade of C- or better.
  • CS 414 -- requires the completion of CS 216 and CS 333 with grades of C- or better.
  • CS 415 -- requires the completion of CS 216 and CS 333 with grades of C- or better.
  • CS 416 -- requires the completion of CS 201 and CS 202 with grades of C- or better.
  • CS 432 -- requires the completion of CS 216 with grade of C- or better.
  • CS 433 -- requires the completion of CS 414 with grade of C- or better.
  • CS 434 -- requires the completion of CS 333 with grades of C- or better. Also, APMA 213 and APMA 310 are required.
  • CS 445 Computer graphics -- requires the completion of CS 216 with a grade of C- or better.
  • CS 453 -- requires the completion of CS 340 with a grade of C- or better.
  • CS 457 -- requires the completion of CS 201 and CS 333 with grades of C- or better.
  • CS 458 -- requires the completion of CS 457 or EE 457 with a grade of C- or better
  • CS 462 -- requires the completion of CS 202 and CS 216 with grades of C- or better.
  • CS 494 -- requires the completion of CS 216 with a grade of C- or better.
  • CS 551 Dependable Computing -- requires the completion of CS 216, CS 302, and CS 333 with grades of C- or better.
  • CS 551 Electronic Commerce -- requires the completion of CS 340 with a grade of C- or better.
  • CS 551 CAD -- requires the completion of CS 432 with a grade of C- or better.
  • CS 551 Internet Engineering -- requires the completion of CS 457 with a grade of C- or better.
  • CS 551 Architecture -- requires the completion of EE 435 with a grade of C- or better.
  • CS 551 Real-time Systems -- requires the completion of CS 333 and CS 414 with a grade of C- or better.
  • CS 551 Formal Techniques in Software Engineering -- requires a C- or better in CS 340.
  • CS 571 -- requires the completion of CS 333 and CS 340 with grades of C- or better.
  • CS 587 -- requires the completion of CS 340 and either CS 457 or CS 414 with a grade of C- or better.
  • CS 588 Cryptography -- requires the completion of CS 302 with a grade of C- or better.

For a complete of prerequisite for all Computer Science courses, please consult the University of Virginia Undergraduate Record.

For further information, please contact the Computer Science undergraduate program director.