Credit By Exam Information for Students: ICS 31





Why take this exam?

  • Many admitted students have taken a programming course, but the course may not be officially articulated on Consequently, you will not receive ICS 31 credit and will then need to take ICS 31 when you come to UCI. NOTE: Regardless, this exam is not mandatory. It is intended for students who want to get credit for ICS 31 but have not taken the equivalent of ICS 31 at an outside school.

  • If you are a proficient programmer, you should consider taking the credit by exam option.

  • If you do not have COMPLETE credit for ICS 31, i.e. took only 1 of the 2 required courses, OR your transfer school did not have an officially articulated ICS 31 course, we recommend you take the exam. You can review community college transfer articulation agreements held with UCI on the Admission Website.

  • There is no academic penalty if you do not do well on the exam.
    • You will be given the option to accept or deny your grade.


What if I have taken the AP exam?

AP Exam Decision Chart
Exam Score Action
AP Computer Science 1-2 Enroll in ICS 31. Do not take this test
AP Computer Science 3-5 Take this test OR Enroll in ICS 32A
AP Computer Science Principles 1-5 Enroll in ICS 31. Do not take this test.


How many times can I take this exam?

  • You may only take this exam once.
  • Re-takes and exceptions are not granted.


Is there a deadline to take this exam?

  • Yes, new ICS students who wish to take the exam must take it two weeks prior their orientation date so that you can enroll in the appropriate classes. 

Which ICS majors should consider the ICS 31 credit by exam?

  • Business Information Management
  • Computer Game Science
  • Computer Science
  • Computer Science and Engineering
  • Data Science
  • ICS Undeclared
  • Informatics
  • Software Engineering


What is the exam format?

  • The ICS 31 Placement Exam is a two-hour multiple choice exam. 
  • It is not open book or open note.
  • We adhere to strict academic honesty guidelines. Incidents of cheating will be reported to the campus.


What do I need to know about this exam?

  • Python knowledge: We expect you to be familiar with most of the Python 3 concepts covered in ICS 31.

  • Here is a summary of those concepts:

    • Basic Python 3 programming as covered in chapters 1–6 of Introduction to Computing Using Python, An Application Development Focus, second edition, by Ljubomir Perkovic (Wiley 2015).
    • Namedtuples in the collections library (in the standard Python 3 distribution). See the Namedtuples in ICS 31 document and the official documentation on
    • Type annotations in function headers, docstring comments, and the assert statement. These features and their role in software development are described in the Design Recipe document.
    • The Restaurants Program, a short case study that illustrates how these features are used and may be the basis of questions on the placement exam. (If we ask detailed questions about this code on the exam, we will supply a copy of the code with the exam.)
    • A detailed listing of Python language features covered in ICS 31/ CSE 41 is available.


How does grading work?

  • A grade of C or higher on the exam is a passing grade. 
  • If you choose to accept the grade, that grade will be reflected on your official UCI transcript after grades are posted and you will enroll in ICS 32.
  • If you do not accept the grade, that grade will not be reflected on your transcript and you will instead enroll in the actual course, ICS 31. 
  • If you are a new student, your exam results will be given to you at summer orientation during academic advising. So it is imperative that you take the exam well before you attend orientation.
  • Note: Grades always post at the end of the quarter.
    • Example: If you take an exam during fall quarter, it will post onto your transcript at the end of the quarter along with the rest of your fall grades.
    • You will not be eligible to take the next course until one quarter after when WebReg can view your credit for the course:
      • Summer --> Winter
      • Fall--> Spring
      • Please do not ask us to clear you for enrollment.


I am ready to take the test!

  • Great! Dates and sign up here.
  • Cost for exam: $5- Please pay here.
  • Bring to the exam:
    • Pen, pencil, and 2 forms of photo ID.
    • You cannot take the exam without a valid picture ID, such as your driver's license.
    • Proof of $5 payment- please print it out and bring it with you on the testing day.

I received my results, what should I do?

  • Should I accept my grade?
    • Grade of B- or lower: do not accept the grade and take the course instead.
    • Grade of B or higher: accept the grade.
  • What happens after I accept my grade?
    • Once you indicate your grade acceptance/denial, the Testing Center will notify the ICS Student Affairs Office.
    • ICS Student Affairs will report your grade, if accepted, to the UCI Registrars Office.
    • Grades are posted to the next quarter of completion
      • Summer: the grade will post on your Fall transcript.
      • Fall: the grade will post on your Winter transcript.
      • Winter: the grade will post on your Spring transcript.
      • Spring: the grade will post on your Fall transcript.
  • When can I enroll in the next course?
    • You may only take the next course in the sequence once your grade posts to your transcript. ICS will not clear you in advance. Therefore, it is up to you to plan your test date accordingly.