Can I skip a core course?
We do not encourage this, as it generally sets up students for failure in later courses. In the rare cases where it is allowed, we apply several policies:
- We may let a student skip a course that is a prerequisite for a course they have already successfully taken. In this case, they must take extra electives to fill out the 12 credits.
-
We generally require an extra elective of a similar nature, e.g. a programming course for CPSC 201 or CPSC 223 or a theoretical course for CPSC 202.
- It is very unlikely that we will let students skip either CPSC 323 or CPSC 365/366.
For some students, past experience has shown that a 5 on the AP exam was not sufficient preparation to take CPSC 201 or CPSC 223. You should be aware of this before attempting to skip ahead.
Taking a courses without previously having taken one of its prerequisites requires permission of the instructor. There is no guarantee that an instructor will grant this permission.
If you have confirmed with your CS advisor to use another course to substitute a core course, see question 5 on how to request update to Degree Audit.
Is there a way to test out of CPSC 201 and into CPSC 223?
Yes. The following information is for Spring 2025.
Students who have not completed CPSC 200 or CPSC 201 must pass the waiver test successfully to complete their enrollment in CPSC 223. Post-enrollment, the Registrar's Office will conduct a verification process to ensure that all prerequisite requirements have been met. Should these requirements not be fulfilled, enrollment in CPSC 223 will be rescinded.
- The waiver test will be on 1/14/2025 at 8 AM. The location is TBD.
- The duration of the exam is expected to be 60 minutes.
- The exam will be based on the CPSC 201 content, excluding the Racket programming language. Here are some of the important topics that are covered in CPSC 201, and you may expect to see some questions from them in the waiver exam: Boolean Functions, Gates and Circuits, Turing Machines, Computer Architecture, Asymptotic Complexity, TC-201, UNIX.
- The CPSC 223 Instructors do not prepare the questions for this exam, so they do not have practice questions or other supplementary materials to provide for you.
The most current information can be found on the syllabus.
What CPSC courses count as intermediate or advanced electives?
Intermediate courses are CPSC 3xx.
Advanced courses are CPSC 4xx/5xx/6xx.
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 (e.g. CPSC 323, 365, or 366).
- CPSC 480 (now numbered CPSC 280, but you still can’t use it if you took it before).
- CPSC 490.
- CPSC 690, 691 or 692.
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. For Fall 2024 only, the qualified courses are listed at the the bottom of this spreadsheet. Some general considerations when proposing a particular outside elective:
- The default answer is no. Courses outside the currently approved list are very unlikely to be approved. Repeated requests for a declined course will not change the outcome.
- Any course that has a CPSC 3xx or 4xx number, except for core courses, CPSC 480, or CPSC 490, counts as a CS elective already. For courses with numbers in more than one department, this is true even if you took the course under a different number.
- Electives for the CS major are expected to be intermediate or advanced courses. This tends to rule out courses with no prerequisites or those aimed at a general Yale audience.
- The most likely courses to qualify are those that have significant computer science content. This means that the course covers topics that are likely to appear in computer science classes regularly taught at other universities, but for local, contingent reasons happen to be taught in a non-CS class at Yale. Courses taught by instructors in other departments who have joint or secondary appointments in Computer Science can fall in this category.
- Computer science content involves content that relates to the academic discipline of computer science. The presence of a computer in a lab, or the use of a computer to process data using standard techniques or otherwise support the content of a course, does not constitute computer science content. Ask your class advisor or the DUS if you are not sure whether the content of a particular class qualifies, keeping in mind that the default answer is no.
How do I propose a replacement for a course in the major?
Contact your class advisor, or the DUS if your class advisor is not available. If you have received an approval, please use this form to request an update in Degree Audit.