Illinois CS Proficiency Exams

If you have already mastered the material covered in certain Illinois Computer Science courses, you may receive credit and satisfy prerequisites by taking a proficiency exam.

CS proficiency exams are given at the start of Fall and Spring semesters.

  • Fall proficiency exams are held during freshman orientation week.

  • Spring proficiency exams are late in the week preceding the start of classes and/or over the weekend before classes start.

  • In both fall and spring, there are also additional dates early in the first week of classes.

It is best to take each exam at the earliest date that works for you, so that you can easily rework your class schedule and get caught up if you pass the exam. The exams for the three core programming courses (CS 124, CS 128, CS 225) must be taken in order. The first two exams (CS 124 and CS 128) are autograded, so you will know immediately whether you have passed and should consider attempting the next exam in the sequence.

Detailed information about each exam (e.g. dates) is typically posted several weeks before the start of each term. Sign-up details usually appear a week or two before the first exam date. Watch this page for the latest information.

Next Proficiency Exam Dates and Times

Spring 2024 proficiency exams will be held in-person at our computer-based testing facility (the CBTF) tentatively on several dates between 11 and 17 January. The sign-up process is as follows:

  • Use [form TBD] to tell us which exams you plan to take.
  • Plan on a 1-2 day delay for us to get you onto the roster(s) for your chosen exam(s).
  • Sign up for a specific test time on PrairieTest via the CBTF’s website.

To check if you have been added to the roster, go to the CBTF’s website and look on PrairieTest. The delay is somewhat variable, since it depends on when we next check the sign-up form.

Yes, this is a bit clumsy. We’re working around some technical issues beyond our control.

It’s ok to fill out [form TBD] a second time if you need to revise your selection, e.g. add a later exam because you passed an earlier one. However, to avoid delays, please give us the full list of exams you believe you are likely to take. For example, if you are confident you can pass the CS 124 proficiency and think it’s likely you can also pass the CS 128 exam, tell us that you plan to take both.

Disability Accommodations

If you have an accommodation letter from the Division of Disability Resources and Educational Services (DRES), please follow the instructions on the CBTF FAQ page to submit your letter to the CBTF. Do that now, since they need 5 business days to process the letter and set up your accommodations.

If you need disability-related accommodations and do not yet have a DRES letter, contact DRES as soon as possible to start the process of getting an official letter. If you have a strong grasp of the material in an early CS course, you may be ok taking the proficiency exam without your normal accommodation (though obviously we’d prefer to have the official paperwork so we can give you the best environment for taking the exam). However, an official letter can be critical when you take harder courses and there can be delays working through the paperwork to get one.

Exam format

Proficiency exams are similar in coverage and scope to a comprehensive final exam and are two or three hours long (depending on the course). They are intended to ensure that you are well-prepared for later courses in the same subject area. So we expect performance at the B- level or above. Specific passing criteria are at the discretion of each course instructor.

Taking Your Proficiency Exam

See the CBTF’s website for the testing locations and other important information. You must arrive on time and bring your University of Illinois ID to the proficiency exam, if you have one. If you show up late or without proper identification, you will not be able to complete the exam.

Receiving Your Results

The CS 124 and 128 exams are entirely autograded, so you will find out immediately whether you passed. Some of the other exams include some manually-graded questions, so it may take several days before your exam is graded. In that case, you will receive your proficiency exam results directly from the instructor supervising the exam.

Proficiency results are pass/no-pass only. You will not receive detailed feedback.

Results are transmitted very quickly to the CS academic office. The CS advisors will reach out to you with override information necessary for getting into later courses. Please be patient because they are typically working through a long list of students.

We have seats held back in the early core courses for incoming majors who pass proficiency exams. Non-majors should keep an eye on the registration system if they cannot immediately get a seat in the later course. Seats do appear during the first week of classes as other people adjust their schedules and we release any unneeded heldback seats. Meanwhile, try to stay caught up with the course you are hoping to add.

It may take several weeks for proficiency credit to appear on your official transcript. However you can adjust your schedule right away. Only passing results appear on your transcript.

General Restrictions

In certain cases you may not be eligible to take a proficiency exam. You are responsible for understanding these conditions. We will not attempt to determine whether you are eligible to take a proficiency exam before you take it. You will only find out later that you will not receive credit. So please review these restrictions carefully.

  1. You may not take a proficiency exam for a course that you have already received a grade for. This is true even if it was a failing grade.
  2. You may only take each proficiency exam once in a 12-month period. So, once you take a proficiency exam, you must wait a full year to retake the same exam. If you attempt the same exam before the year is up, your score will not be counted. This restriction applies regardless of how the proficiency exam is given.
  3. You may not receive proficiency credit for a course if you have taken a later course in the same topic area. For example, you may not receive proficiency credit for CS 173 if you have already taken CS 374, since it is in the same area as CS 173. Similarly, you may not receive proficiency credit for CS 124 if you have already taken CS 128. In this situation, you may be required to substitute other later courses to fulfill your degree requirements. Consult your departmental advisor about whether to take the proficiency exam to verify your knowledge, even though you can’t get credit, and also to find out what substitute courses are appropriate.
  4. Graduate students generally may only take Illinois Computer Science proficiency exams when required to satisfy another degree program on our campus. It is extremely rare for a graduate student to need to take one of these exams. If you are one of the rare exceptions, please have your advisor contact the CS academic office to obtain special permission to take the exam.

Other course-specific restrictions may also apply. Please consult the information below specific to the proficiency exams you plan to take for more details.

Questions or Concerns

If you have questions not covered here, or on the course-specific pages below, please send email to the proficiency coordinators at That is the best way to have your questions answered quickly. Please avoid contacting the course instructors directly.

Course-Specific Information

Please review the information below for any proficiency exams you plan to take.

CS 101: Introduction to Computing for Engineering and Science

  • Format: Computer-based
  • Length: 2 hours
  • Location, Date, Time: See above
  • More Information: Available on the CS 101 website.

CS 105: Introduction to Computing for Non-Technical Majors

Note that the following information was not provided by the instructor and so may be incorrect. Contact the CS 105 Admin ( for more updated information.

CS 124: Introduction to Computer Science I

  • Format: computer-based
  • Length: 2 hours
  • Location, Date, Time: See above

The CS 124 proficiency exam is given in Java. CS 128 assumes that incoming students are familiar with Java, and students that are not have struggled. If you are proficient in another programming language and strong enough to start in CS 128, you should not have trouble learning Java to pass the proficiency exam.

CS 125: Introduction to Computer Science

Proficiency exams are no longer offered for CS 125. Please take the CS 124 proficiency exam instead.

CS 128: Introduction to Computer Science II

  • Format: computer-based
  • Length: 3 hours
  • Date, Time, and Location: See above.
  • More information is available on the CS 128 proficiency website.

  • Coding Environment:
    • You must author your responses to our programming questions using an in-browser instance of Microsoft Visual Studio Code. You can access a practice workspace by visiting PrairieLearn and enrolling in “CS 128: Introduction to Computer Science II, Proficiency Exam Environment Practice”.

CS 173: Discrete Structures

  • Format: computer-based, either on Moodle or PrairieLearn.
  • Length: 3 hours
  • Date, Time, and Location: see above

Additional information

The student code does not allow you to take the CS 173 Proficiency Exam after taking CS 374 (or a more advanced theoretical CS course).

The website for the Spring 2021 offering of CS 173 has a current set of skills lists, lecture notes, and videos. Course websites for Spring 2019 and earlier have old hardcopy exams that you can use for practice. (We have since moved the exams online.)

The exam will include some free-response questions (e.g. proofs) which are manually graded, so it will take a few days for results to be available. You are not required to use LaTeX to format your math, but you will be given a LaTeX reference sheet in case you want to use it.

CS 225: Data Structures

  • Format: Theory-based and programming-based questions, as a PrairLearn exam.
  • Length: 2 hours
  • Location, Dates, and Times: See above

  • More Information: Sample exams can be viewed on the exams page of the CS 225 website.