teaching machines

Grades vs. Experience in CS1

January 10, 2018 by . Filed under public, teaching.

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:

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.