In this assignment, students are asked to create classes and functions for hiring and firing decision making. The primary concern most students have is the lack of directions they are given over precisely what information should factor into the decision making process. Students typically express frustration that they are being asked to write code to make decisions they have no frame of reference for and no experience making. They typically ask for what the correct answer is; however, part of the assignment’s goal is to teach them to make these difficult decisions for themselves. Given that part of the goal of this assignment is to teach them how to make decisions, not what decisions to make, they should be told that the most important thing is that they are able to justify their decision-making process. Interestingly, students expressed great frustration when their programs exhibited biases they had not explicitly encoded into their projects. In order to use that frustration as a positive teaching moment, we encouraged them to analyze the societal reasons why the biases could have appeared despite their best efforts.
When framing this assignment to students, it is important to remind them that the goal is to simulate the creation of a real-world program where there is not a match-the-output auto-grader they can rely on to ensure they have the correct results. Additionally, they are having to design a program to perform a task they are not necessarily an expert at. This added complication is the main area of nervousness for students, and is best resolved by simply informing them that they are not being graded on exactly how they choose to implement it, but instead that their implemented algorithm is correct for the way they implemented it, and that they provided a reasoning for the implementation they chose. We strongly discourage a random decision-making process, as it does not allow for students to understand the concept of unintended consequences as well as a set algorithmic design does. Overall, students tend to respond well to this assignment provided that they are well informed of the above information regarding grading and implementation expectations.