A few days ago, I was surprised when my friends taking University of Washington’s introductory programming course - CSE 142 - described an assignment they had this week. Called Admissions, the assignment exemplified some of the main problems the field suffers. I hope to explain why this assignment should be changed and why this small detail matters a lot.
Admissions is a homework task where the students write an algorithm that decides whether a student gets admitted to college or not. After the user enters an SAT score, an ACT score or a GPA for two students, the program plugs those numbers into a formula and spits out a message along the lines of “the first applicant seems to be better.”
Having taken a similar introductory sequence at UW - one that didn’t have this assignment - the part I recall most vividly was the last lecture of the second course. Having covered all the material for that quarter, my instructor turned to us and said, at the end of the course, that his hope was to “to have dispelled the notion that we are ostriches that bury our heads when we come across other fields.” This was accompanied by a video of soccer robots playing in the background.
The main problem with assignments like this one is that they promote writing algorithms without considering what effects they have from the perspective of other disciplines - exactly what I was warned against two quarters ago. Sadly, this is very common. For example, online advertisers are six times less likely to show advertisements for high-paying jobs to women than they are likely to show them to men. This is likely caused by some code written in Google AdSense to optimize for number of clicks, all other considerations be damned.
I think the greatest damage being done here is to the students who are taking the introductory sequence but are not pursuing a career in CS. They might come away with the impression that is it acceptable to deploy algorithms like this in the real world; without exposure to CS courses that cover why this might be problematic, they would probably discover this problem too late, if at all.
I understand that this assignment has been part of the homework rotation for many years, maybe even before problems like this where well known to the public. Nonetheless, I encourage you to modify or retire this assignment, if only to signal that narrow modes of thinking are no longer enough in our field.
Undergraduate Student, Class of 2020