CSE Placement Exam

The CSE placement exam is used to determine if you should take CSE 131 (Introduction to Computer Science) or if you know enough of the material from the course to have it waived.

Having the course waived does not provide credit for the course, but it will allow you to take any courses that would normally require CSE 131 as a prerequisite without taking CSE 131. It will also satisfy the CSE 131 requirement for degrees that require CSE 131.

Who Should / Shouldn’t Take the Exam

You should consider taking the placement exam if any of the following are true:

  • You have experience with computer programming that isn’t transferable as CSE 131.
  • You took an AP Computer Science A (CS-A) course and did not get a 4 or 5 on the exam, but you feel you know the material well.
  • You took the CS-A course and did get a 4 or 5 on the exam, but you’re worried you won’t be prepared for future courses that depend on what you learned in CS-A.

You do not need to take the placement exam if:

  • You have a 4 or 5 on the AP Computer Science A (CS-A) exam and are comfortable with the topics from CS-A. You will get credit equivalent to CSE 131.
  • You have passed a course that is approved as a transfer for CSE 131. A list of accepted transfer courses can be found here. Please coordinate with admissions to ensure a transfer is possible.

AP’s Computer Science Principles (AP-CSP) has a different focus than CS-A and is not equivalent to CSE 131. AP-CSP credit alone is not sufficient for CSE 131. You will need to either take CSE 131 or demonstrate that it is unnecessary via the placement exam.

When to Take the Exam 

The placement exam should be completed more than a month before you arrive on campus. If you are starting on campus in a fall semester, it should be completed no later than July 15th to ensure you have results by the start of the fall semester. We provide no assurances about when results will be posted if the exam is taken at other times of the year.

Exam Content and Exam Prep

The exam focuses on the most significant concepts from CSE 131:

  • Data types and variables
  • Selection statements (if-statements)
  • Iteration/looping
  • 1D and 2D arrays
  • Creating and using methods/functions
  • Recursion
  • Basic Object Oriented Programming (creating new object types and working with objects)
  • Collections of data (list, sets, and maps)

Although it’s not necessary that you have a complete understanding of all of these topics, you should be familiar with the majority of them.

CSE 131 introduces these concepts via the Java programming language. The exam assumes some experience with Java. It’s possible to do well on the exam if you have experience with the above topics in another programming language and no Java experience, however you should take a “crash course” in Java before taking the exam. Here are some suggestions to review/prepare if you don’t have much Java experience:

  • If you have experience with Python rather than Java, look at Java for Python Programmers.
  • It may help to look at a prior offering of CSE 131’s content. Here is all the content from Fall 2019.
  • You can search for online resources on introductory Java or or use introductory textbooks, like the Java version of “Computer Science: An Interdisciplinary Approach” by Sedgewick and Wayne (some parts of CSE 131 are based on this text).

Exam Format and Proctoring

The exam is an online exam. You can start it at any time after you receive access, but you only have two hours to complete it once you start. You may prepare a 1-page handwritten crib sheet in advance (single side of letter size piece of paper), but you are not allowed to use of any other resources (no other people, websites, books, development environments, etc.). Use of outside resources is considered an academic integrity violation. Sharing the contents of the exam in any way is also considered an academic integrity violation.

Exam Results

Results are processed roughly monthly and sent to the email address you use for the exam. If the exam is taken prior to July 15, results will be made available before the start of the fall semester. There are three common types of result:

Result 1: You should take CSE 131.

Result 2: You may skip CSE 131 if you want, but you need to study a provided list of topics to ensure you know all the CSE 131 content before taking any courses that have CSE 131 as a prerequisite.

Result 3: You have a satisfactory knowledge of CSE 131 content and seem well prepared for courses that rely on it.

Request the Placement Exam

Complete the form at this link to get access to the placement exam:

After submitting the form an email will be sent to you from “bsiever@wustl.edu” that describes the process to:

  1. Set up an account to get access to the placement exam
  2. And, start the exam. You will have 120 minutes to work after clicking the “Start Assignment” button.

Please check spam folders if you don’t see the email within an hour.


Please direct any questions not addressed above to the Computer Science Undergraduate coordinator at: cse.undergrad@wustl.edu.