Computer Science Placement Exam
The Computer Science Department Placement Exam is managed by the CS Department Placement Coordinator, currently Professor Fontes. General information about the exam is below. If you have further questions, please contact the Placement Coordinator.
The CS placement exam is only necessary for students who think that they may place out of our introductory course (CPSC 21) and start with either one of our two intermediate-level courses (CPSC 31 or 35) instead. Students who want to start with CPSC 21 do not need to take the CS placement exam.
Students that take the placement exam usually have taken an introductory computer science course previously, or have had some self study with basic programming. Though CPSC 21 uses python as the programming language, students with prior programming experience who want to learn python should not take our intro course just to learn the python language. If you are unsure if you should take the placement exam, please review the Course descriptions or contact the Placement Coordinator.
Students who think they may place out of both CPSC 21 and CPSC 35 should take the placement exam and also contact the Department Placement Coordinator about their placement.
The placement exam is a written exam that should be completed in 90 minutes or less. Students should be able to write code in at least one of the following languages: Python, Java, C, or C++. The exam will test your ability to design and write code to solve a small sample problem. You should be familiar with coding concepts of variables, functions/methods, loops, and decision structures/if statements.
After taking the CS placement exam, students should follow up with the Placement Coordinator to discuss your results.
When to Take the Exam
The placement exam and meeting with the Placement Coordinator must be completed prior to registering for either 31 or 35. The placement exam is offered during fall orientation week. Incoming first year students should take it then.
Students who do not take it during orientation should contact the Placement Coordinator schedule a time to take the exam.
Advice for Passing Students
Most students with prior programming experience that take the placement exam pass the exam. Students with a strong performance on the CS placement exam should skip CS21 and take CS31 or CS35 as their first CS course at Swarthmore.
CS35 continues your prior CS experience and provides a general background for further study in the field. Topics to be covered include object-oriented programming in C++, advanced data structures (trees, priority queues, hash tables, graphs, etc.) and algorithms, and software design and verification.
CS31 is a broad introduction to computer science that focuses on how a computer works and how programs run on computers. We examine the hardware and software components required to go from a program expressed in a high-level programming language like C or Python to the computer actually running the program. This course takes a bottom-up approach to discovering how a computer works. Topics include theoretical models of computation, data representation, machine organization, assembly and machine code, memory, I/O, the stack, the operating system, compilers and interpreters, processes and threads, and synchronization.
These courses can be taken in any order, or even concurrently, and both are required for the CS major/minor. For first year students, we recommend only taking one of these courses in your first semester. Students who place into Math 15 or Math 25, may want to consider taking CS31 over CS35 while taking a Math course concurrently.
Students wanting to take any CS course should pre-register for the course during new student registration or the pre-registration window. The Computer Science Department currently has heavy enrollment pressures and CS21, CS31, and CS35 are regularly lotteried due to over-enrollment.
Advice for Non-Passing Students
The CS placement exam is designed to identify students that are comfortable with a majority of topics and concepts covered in CPSC 21. If you take the CS placement exam, but do not pass, don't worry. You should take CPSC 21 as your first CS course at Swarthmore to prepare you for our intermediate and upper level courses. The majority of our CS majors and minors take CPSC 21 as their first CS course.
Students wanting to take CPSC 21 should pre-register for the course during new student registration or the pre-registration window. The Computer Science Department currently has heavy enrollment pressures and regularly lotteries courses due to over-enrollment.
Who to Contact
Questions regarding the placement exam should be directed to the CS Department Placement Coordinator, currently Professor Fontes.