Courses in the Computer Science major / Frequently Asked Questions

  1. Can I skip a core course?

    We do not encourage planning for this, but if a student does it, we apply several policies: (1) we may let a student skip a course that is a prerequisite for a course they have already successfully taken, requiring extra electives to fill out the 12 credits; (2) we generally require an extra elective of a similar nature (e.g., a programming course for CPSC 201 or CPSC 223 and a theoretical course for CPSC 202); and (3) we are very reluctant to let students skip either CPSC 323 or CPSC 365/366.

    For some students a 5 on the AP exam is not sufficient preparation to take CPSC 201 or CPSC 223, and the students should be aware of this.

    Note that taking a courses without previously having taken one of its prerequisites requires permission of the instructor. There is no requirement that an instructor grants this permission.

  2. What CPSC courses count as itermediate or advanced electives?

Intermediate courses are CPSC 3xx.

Advanced courses are CPSC 4xx.

Certain courses can never be used as electives for the major: - Any course with a CPSC 1xx or CPSC 2xx number (even if you took it under a different number). - Any core course (like CSPC 323, 365, or 366). - CPSC 480. - CSPC 490.

  1. Can I take a course outside CS as a CS elective?

    With permission of the DUS or their designated faculty representative, CS majors may apply up to two relevant courses from other departments to the BS version of the major, or one to the BA. Because courses in other departments vary in their content from year to year, we do not have a fixed list of courses that automatically qualify as electives in CS. Some general considerations when proposing a particular outside elective: