Week 14: Computer Science and Society

Reading

Goals

  • Understand how algorithms and programs can adversely affect society.

  • Grapple with trying to create a fair scoring system.

Discussion Questions

  • Imagine that you are part of a team building a new software tool and you discover something questionable and possibly unethical about its specifications. What should you do?

  • It is often argued that algorithms are an unbiased way to allocate limited resources. What issues can arise when algorithms replace human judgement?

Exercise

This was adpated from an exericse called "Developers as Decision Makers" created by Evan Peck at Bucknell University.

Your job is to build an algorithm that helps determine the order in which students will get to select their housing. To simplify things, we’re going to use a point system.

  • Students are awarded a number of points based on a variety of factors.

  • Students with the most points get first choice at housing.

This approach is used by many universities. For example, consider this possible scoring system:

  • Rising Sophomore: 1 point

  • Rising Junior: 2 points

  • Rising Senior: 3 points

  • Academic probation: -1 point

  • Disciplinary probation: -2 points

Your goal: Create a better program to assign points to students in order to prioritize them for housing selection.

There are many more potential aspects to consider if you want to create a fair algorithm that takes into account the diverse needs of students.

You should not create a program that serves people without talking to those people first. Talk to other students in the class. Ask them about their needs. What other factors might you want to consider in deciding who should choose housing first?

Come up with your own scoring system. Then meet with another group in class and share your breakdown. See if you can come to some consensus about which factors should be used and how they should be weighted.