If you’ve been reading this blog for a few years now, you know that one of the big projects I worked on beginning in 2013 was a linked-courses learning community. In short, a colleague and I designed a one-quarter-long two-course learning community for women and men of color coming into majors in the School of Computing that required the novice Python programming sequence. We ran it for five years until circumstances in my colleague’s life prevented us from continuing it. If you want the gory details from the many (many) blog posts about it, just search “learning community” on the site.

I tried to find a post summarizing the end of the project, but I couldn’t find one. In reflecting on it that’s probably because I was insanely busy being SIGCSE chair when the project ended. But if I’m being honest it was probably also because I felt like a bit of failure by the end. We tried to track all sorts of things to find evidence that it was improving the retention of the students involved, but it was tough to come to any conclusions based on what we examined. Given how much blood, sweat, and tears I poured into the project, that felt pretty awful.

Starting a couple of months ago a few colleagues proposed taking another look at the novice Python sequence and the data structures sequence that follows it. We wanted to understand what retention problems we might have with the two sequences and brainstorm initiatives that could improve any issues we might see. The project is large and on-going, but one small piece of it inspired me to blog today.

One of the sets of data that we examined was the retention in the pipeline of the two sequences by introductory Python instructor. We wanted to understand how well groups of students starting out in the sequence did, and in particular, we tracked the percentage of students who enrolled in each class, completed each class, and then went on to enroll in the follow-on class. We also looked at the percentage of students who ended up earning a B- or better in the final course in the sequence. To make the data I’m about to present clear the Python sequence is CSC 241 and CSC 242 and the data structures sequence is CSC 300 and CSC 301. When we graphed the day we got the following:

The instructors here, labelled A, B, C, D, and Amber, are the ones who taught students in CSC 241 and taught at least 150 students in the associated time period. The data examines how well those students who started with a particular instructor did through the course of the whole programming sequence. So, for example, 90.5% of my CSC 241 students completed the class and 80.4% of them went on to enroll in a section of CSC 242 (although not necessarily mine). Needless to say I was thrilled to see that my retention numbers are the best, particularly when it comes to students enrolling in and then passing CSC 242. Do all of us have work to do to improve? Absolutely! No one wants to see 20% of people failing to enroll in the second Python course. But there is some satisfaction in seeing that you’re doing as well as anyone in the institution.

Importantly, it dawned on my that during this time period I was teaching a disproportionately high percentage of men of color and women, thanks to the learning community. And our data shows that those populations have lower retention rates, as can be seen at (many) other institutions. So not only was I succeeding in retaining students better than my colleagues, I was doing it with a population where retention can be more of a challenge. It was the first small evidence that all those hours spent working on the learning community had actually produced a result. I caused me to do a small happy dance, which I decided to share here.