higher rates than students with no experience, though these
differences are significant only in the case of AP CS vs. no AP
CS. When we limit our attention to students who have made it
past the introductory course(s), we see that these differences
mostly disappear. Controlling for grades in these courses did
not change these observations.
These data mostly do not support either hypothesis H1 or H2
when measuring student success by retention in the program:
Pre-college CS experience mostly does not lead to statistically significant differences in continuation rates. However, when
looking just at continuation of students after the introductory
programming sequence, the data do support hypothesis H2: CS
majors who took AP CS are more likely to persist after their
lower division courses to the Advanced Data Structures course
than those who did not.
Significant differences in the course grades of students with
different levels of experience. We now examine whether
differences are also observable in low-stakes pretest grades.
Table 3 shows students’ average pre-test scores for each of the
groupings we used in the previous section. In general, we see
that there is no significant difference in pre-test scores between
groups with different pre-college experience types and levels.
The significant difference between experience types for CS2 is
small (0.4 points out of 10) and favors students with informal
experience only. Thus, the pre-test data partially reject and
partially confirm hypothesis H1: students with more pre-college experience do no better than their less experienced
peers on pre-tests in either the lower-division or the upper-division class.
THE IMPORTANCE OF AP CS
Our results highlight the critical importance of AP CS at the
high school level. At 18% overall, AP CS was the most common-
ly reported type of formal prior experience, and second-most
common prior experience (after “self-taught one or more lan-
guages,” at 21%). Moreover, students who took AP CS had sta-
tistically significantly higher average course grades in nearly all
school on average, even when the latter group includes students
who have had other kinds of formal and informal experience.
The data confirm hypothesis H2 when measuring student
success by course grades: certain types of pre-college CS experience, even in isolation, are linked with significant improved
average performance in CS classes at all levels. In particular,
students who take AP CS have significantly higher mean course
grades than those who don’t, even though students who do not
take AP CS may have other in-class or informal pre-college CS
ADVANCING THROUGH THE CS PROGRAM
Beyond course grades, persistence in the CS program is a
measure of students’ performance. To examine the impact of
pre-college CS experience on this persistence, we analyzed
whether students in the lower-division classes in our study
(all CS1 and CS1.5 courses, CS2, and low-level programming)
eventually went on to take Advanced Data Structures—the
gateway course to our upper division—by the end of spring
2017, two years after we collected our survey data.
For this section of our study, we restricted our attention to
only students who were declared CS majors. We wanted to
remove students who were never intending to continue with
computer science and for whom continuing to the advanced
classes would not be a reliable measure of success. A limitation,
however, is that this data misses students who intend to declare
a CS major but have not yet been able to (because our CS major
is closed, student interested in switching into the major from
another major on campus have to apply to do so after completing most lower-division classes).
We examined retention rates for the following groupings of
students: ( 1) those who took AP CS vs. those who did not take
AP CS, ( 2) those with formal (in-class) pre-college CS experience vs. those with only informal pre-college CS experiences vs.
those who reported no pre-college experience on survey question Q2, and ( 3) those reporting “a fair amount” vs. “a little” vs.
“absolutely no” precollege experience on survey question Q1.
We used Chi Squared to test for significant differences between
groups’ continuation rates.
Results are shown in Table 2. When we consider students in
all of the lower division courses in our study, most of the time
students with experience continue on to the upper division in
Table 3: Average pre-test scores (out of 10) for CS2 and Advanced Data Structures by different experience groups.
Table 2: Percent of students who go on to take Advanced Data Structures from different groups with
different pre-college experience. All LD=students in all lower division courses; No Intro = students in CS2 and
low level programming only.