Computer Science Advanced Standing Exam
Gates Hall
August 28-30, 2020

Overview

The Computer Science Advanced Standing Exam (CASE) is used to determine whether a student should receive credit for CS 1110. While that course is currently offered in Python, the computer science department will extend credit to any student that exhibits mastery in an object-oriented language.

Because of the unique situtation with COVID-19, the placement exam this year will take place online. In addition, we are using the circumstances to perform an educational experiment. There are two different version of the placement exam this year. One will only offer placement into 2110 (though credit is still possible), while the other will award both placement and credit for CS 1110. You are welcome to take just one or both of them. If you take both placement tests, course placement will be awarded according to your best score between the two. Credit for CS 1110, however, is a little more nuanced; you should read both options before deciding.

Option 1: Placement Only (but Credit Possible)

The educational game Reduct is a research project developed here at Cornell. It has a unique syntax (which the game trains you in over a single session), but covers most of the major programming concepts that we are looking for when we determine course placement into CS 2110 or its equivalent. Because of its experimental nature, we can only use this exam to offer placement into higher-level CS courses, and cannot offer CS 1110 credit for this game. However, students who perform well on this exam can still earn CS 1110 credit with a follow-up oral interview if necessary.

For this placement exam, you are to play a session of Reduct. The problem sequence is designed to take 45-60 minutes. Credit is determined by how far you progress in the game. You may play the game anytime from Friday, August 28th at 12:00 pm (when the link goes live) until Sunday, August 30th at 10 pm (when we will be grading submissions).

Your play session data will be kept for research purposes unless you choose to opt out of data gathering. For more information about this option, and privacy concerns regarding this exam, refer to the specific exam instructions (Cornell netid required). In addition, you may contact the PI Rene Kizilcec for any questions or concerns.

Option 2: Placement and Credit

We will offer a traditional-style placement exam on Sunday, August 30th at 12:30 pm. This exam will be online, but proctored through Zoom. You will submit your answers as source code files to Gradescope. You are permitted to use any object-oriented programming language that you choose, including Python, Java, or any of the C variants (C++/C#/Objective-C). Sufficient performance on this exam will guarantee both credit for CS 1110 and placement into higher-level CS courses.

The exam will be timed and take no more than 90 minutes. It will be limited to the topics most crucial for determining credit: testing, object-oriented design, recursion, and multidimensional lists/arrays. For more information about this option, refer to the specific exam instructions (Cornell netid required).


Grading

Grading has only three outcomes: credit and placement, placement only, no placement. Students taking the traditional exam will either receive both placement and credit for CS 1110 or no credit/placement at all. Students taking the experimental exam will either receive placement only or no placement. Students who receive placement only from the experimental exam and no placement for the traditional exam (or who do not take the traditional exam at all) will be offered an additional in-person interview with the chance to earn credit for CS 1110.

There is no penalty for failing either exam. The only record of this exam will be data used for our experimental analysis -- which you can opt out of. In addition, you are free to reject credit should it be awarded.

Grading will be complete by Monday, August 31st, which is historically the time you meet with your freshman advisor to discuss courses. Your grade will be posted online in the Cornell course management system (CMS). Log in to this site with your netid and password; the Advanced Standing Exam is listed as a Fall 2020 course named "CS ASE".

If you pass, the grade in CMS will be a 2; there will be no further comments. If you fail the exam, there will be a 0 and, if we deem it necessary, comments explaining the grade. In cases where placement is awarded without credit, the score will be a 1, with additional information about scheduling an in-person interview if necessary. If you have further questions about your score, e-mail Walker White for an appointment to discuss your exam.


Advising Recommendations

You should use the recommendation of the Advanced Standing Exam to determine your fall courses with your advisor.

If you are awarded credit for CS 1110

In this case we advise you to take CS 2110 as your first programming course. If you do take CS 2110, and you discover during the ADD period that it seems too difficult, consult with your advisor about how to proceed. Be aware that if you ever choose to take CS 1110, the grade that you receive in CS 1110 will replace your credit for the Advanced Standing Exam.

If you are awarded placement without credit for CS 1110

It is possible to take CS 2110 without receiving credit for CS 1110. You should only accept this offer if you have significant programming experience and have discussed the issue thoroughly with your advisor.

If you take CS 2110 without having received credit for CS 1110, and if you are a student in the College of Engineering, you should note that CS 2110 cannot fulfill both the CS 1110 requirement and the College of Engineering distribution requirement. CS 2110 is a three-credit course, whereas CS 1110 is a four-credit course. In that case you will need to take both of the following types of courses:

Please consider this option carefully.

If you are awarded neither placement nor credit for CS 1110

In this case we advise you to take either CS 1110 or CS 1112 as your first programming course. While CS 1110 is the traditional course for students interested in going on to higher level computer science courses, some students do benefit from the heavier emphasis on scientific computation in CS 1112. Discuss which course is best for you with your advisor.