Grades vs. Experience in CS1

Every year I like to examine how a student’s prior programming experience correlates with their final letter grade. At the very beginning of the fall semester, I asked my students in our introductory programming course to complete a short survey. In one of the questions, I asked about their first programming experience. Here’s what they self-reported:

As you can see, most students are not coming into the class cold. But 37 is still a large and non-trivial chunk of newbie brains to consider.

Now that grades have been calculated, I can see how grades were distributed across these experience levels. I was disappointed in last year’s results. If you were a new programmer in the fall 2016 offering, you were unlikely to have received a high grade. The cause of that skew is not entirely clear to me, but I had something in the works to help fix it…

In fall 2017, we split our introductory course up into two sections: Introduction to Programming for New Programmers and Introduction to Programming for Experienced Programmers. 90 students self-selected into the class for new programmers, 30 into the class for experienced programmers. The classes were not all that different—they had the same homework and exams, and they followed the same overall plan. What was different were the labs (kind of) and the tone of the conversation during lecture. Showboats and showboating were not welcomed in the class for new programmers.

At the end of the semester, this is how the grades spanned the various experience levels:

I see a couple of takeaways from this graph:

  • The number of As was fairly evenly split between new programmers and experienced programmers. Woo!
  • Prior experience is no guarantee of a passing grade.
  • A lot of students get As.

I’m okay with all of these.

Was it the restructuring of the course that helped out new programmers? I don’t know. I don’t have time to conduct that kind of analysis. Or time to figure out how to do it.


Leave a Reply

Your email address will not be published. Required fields are marked *