Reflection Problems for Project

Problems 1 and 2 (Reflection) due at 11:59pm, Monday, November 4, 2024.

Problem 3 (Reflection) due at 11:59pm, Monday, December 2, 2024.

Problems 4 and 5 (Reflection) due at 11:59pm, Tuesday, December 10, 2024.

All submissions should be done via Autolab.

Problem 1 (10 points)

This question is a bit different

Unlike the questions for other problems, for Problem 1, the question is related to the project as a whole (and is not really related to the first coding problem). So please make sure you at least read all the problem statements before attempting this question.

Who/What are stakeholders?

In this question, you will have to identify stakeholders in the projects (i.e. think of all the five problems) when answering this question. Roughly speaking a stakeholder is an entity (could be individuals or a collection of individuals) who have some "stake" in a setup/company (in this case think of stakeholders in the entire setup of the project): this could be some obvious ones like customers of a company or it could be more subtle e.g. a governmental agency that regulates an industry for example.

Your Task

Cathy O’Neil and Hanna Gunn’s ethical matrix for algorithm design begins with a simple question: Does my algorithm work? However, algorithms do not “work” in a vacuum. So, this question becomes more complicated when we also ask: Whom does my algorithm work for?

Below, we’ve provided five entities that are interested in how well your algorithm works for them. These are your stakeholders. For reference, stakeholders are those who have a unique “stake” in an enterprise. They are the groups of people interested in and affected by the work your algorithm will do. Each stakeholder group in your list must have their own unique set of interests or concerns. For example, you could not list two stakeholders who are only concerned with “profit” because they would be considered the same group as they have the same stake. Your task is to list the stakes for these five stakeholders in your routing algorithm. This will require you to imagine the needs of these stakeholders and the concerns they might have about how your design works.

Listed below are five entities. In your submission, for each entity,

Stakeholder 1 (2 point)

Federal Communications Commission (FCC) .

Stakeholder 2 (2 point)

Local/regional indigenous nation .

Stakeholder 3 (2 point)

Local/state legal system.

Stakeholder 4 (2 point)

Internet customers in rural areas.

Stakeholder 5 (2 point)

Internet customers in urban areas.

Submission

Submit all answers in one PDF

We recommend that you typeset your solution but we will accept scans of handwritten solution-- you have to make sure that the scan is legible. Your group needs to submit one PDF for the first reflection problem.

Note

If you do not have separated out answers for all the $5$ stakeholders, you will get a zero(0) irrespective of the "correctness" of your solution..

Preliminary Grading Guidelines

Below is a preliminary instantiation of the generic grading rubric above for (all five parts of) Problem 1. In actual grading, we will use a grading rubric that expands on the preliminary grading rubric below.

PDF only please

If Autolab cannot display your file, (irrespective of the reason) then you will get a zero (0) on the entire question.

Autolab might not be able to display files in formats other than PDF (e.g. Word cannot be displayed). Note that Autolab will "accept" your submission even if you submit non-PDF file, so it is YOUR responsibility to make sure you submit in the correct format.

Also the file size has to be at most 3MB.

Templates

Download LaTeX template. Download Microsoft Word template.

Problem 2 (10 points)

Back to "normal" service

Starting with this problem, the rest of the reflection problems will be directly related to the corresponding coding problems. E.g., this reflection question is based on what you did for the second coding problem.

Your Task

Listed below are four questions. The first question is to present the algorithm idea of the code that you submitted for the second coding problem. For the rest of the questions, you group has to answer each question and justify your answers.

Now that you’ve had a chance to think about your design, reflect on how your algorithm works for your stakeholders and which stakeholders it performs best for. Ideally, everyone on your network would receive the same services consistently, but in actuality this is difficult to realize.

In their book chapter, O’Neil and Gunn suggest bringing stakeholders into the room and asking for their desired outcomes and concerns. However, in this situation, we will assume the ForProfitOnly company you work for is not interested in hosting this conversation. Thus, as the software designer you are tasked with imagining what your stakeholders need and designing your algorithm to meet as many of those needs as possible.

As O’Neil and Gunn argue, design decisions are often also moral decisions (250). If your algorithm works well for customers in urban areas, but not rural ones, then you’ve made a decision to supply rural residents with systemically slower internet. This decision raises an ethical question of fairness. Unfortunately, there is no current industry standard for defining fairness in algorithmic design. So, for this assignment, we are using O’Neil and Gunn’s definition in their book chapter. O’Neil and Gunn argue that “fair institutions and policies can be understood as those that are not significantly responsive to arbitrary differences between individuals and that do not disadvantage those whom we already recognize as being disadvantaged” (253). Thus, in our earlier example, an algorithm that works well for urban customers, but not rural ones, would privilege urban customers.

We should note that fairness is not binary. You cannot simply assess a complex system as being completely fair or completely unfair. Fairness exists on a spectrum and changes depending on which stakeholders we are concerned with. So, if you answer question four below by simply stating “my algorithm is fair/unfair,” you will not receive full credit.

For this reflection, please answer these questions:

Algorithm Idea (2 points)

In one paragraph, state the algorithm idea behind the code that you submitted for the second coding problem. This would be similar to a usual algorithm idea submission in a homework.

Whom does your algorithm work best for? (2 points)

What clients does your algorithm try to make their $pen_0$ value to be $0$? I.e. for which clients $c$ does your algorithm try to make sure to try get the $\text{pmt}_c$ revenue from them? Show how your answer follows from the algorithm idea above.

Whom doesn’t your algorithm work well for? (2 points)

What clients does your algorithm not try (actively) to make their $pen_0$ value to be $0$? I.e. for which clients $c$ does your algorithm not mind to get a revenue of $c$ from them? Show how your answer follows from the algorithm idea above.

How fair is your algorithm? (4 points)

How fair was the decision that your group made in the algorithm design to favor one group of customers (those identified in the second question above) over another (those identified in the third question above? Justify your answer.

If some of your customers are not as well served as others, are there ways for you to address this unfairness that might result in a more ethical distribution of services?

Submission

Submit all answers in one PDF

We recommend that you typeset your solution but we will accept scans of handwritten solution-- you have to make sure that the scan is legible. Your group needs to submit one PDF for the second reflection problem.

Note

If you do not have separated out answers for all the $4$ questions above, you will get a zero(0) irrespective of the "correctness" of your solution..

Preliminary Grading Guidelines

Below is a preliminary instantiation of the generic grading rubric above for (the last three questions) on Problem 2. (The Algorithm Idea part will be graded similarly to algorithm ideas in homework submissions.) In actual grading, we will use a grading rubric that expands on the preliminary grading rubric below.

PDF only please

If Autolab cannot display your file, (irrespective of the reason) then you will get a zero (0) on the entire question.

Autolab might not be able to display files in formats other than PDF (e.g. Word cannot be displayed). Note that Autolab will "accept" your submission even if you submit non-PDF file, so it is YOUR responsibility to make sure you submit in the correct format.

Also the file size has to be at most 3MB.

Templates

Download LaTeX template. Download Microsoft Word template.

Problem 3 (25 points)

Your Task

Listed below are seven questions. The first question is to present the algorithm idea of the code that you submitted for the third coding problem. For the rest of the questions, you group has to answer each question and justify your answers.

Coding problem three raises the question: When an algorithm doesn’t work as advertised, who is responsible? Accountability for proprietary informational technologies can be difficult to assign. As you’ve seen in the problem description, both the Office of the Attorney General and the Federal Communications Commission have assigned responsibility to your ForProfitOnly employer based on customer complaints and their own bandwidth tests.

Obviously, as a software engineer, you have little control over how your ForProfitOnly company advertises its products. However, as O’Neil and Gunn argue, both designers and deployers of algorithms bear an ethical responsibility for the consequences of their designs. Developers, in particular are “in a unique position of responsibility over the design of the algorithm as they are typically the only ones in a position to understand how the algorithm functions and are responsible for rendering the design goals into the algorithm” (242). As you no doubt saw in the problem description, most of the customers who complained didn’t know (or even really need to know) why their internet did not meet advertised speeds, only that it did not meet them. And while it might be tempting to assign responsibility to customers for leasing older model routers, they are not responsible for ensuring a paid service works. In this case, you are responsible.

For reflection three, please answer the following questions about designers’ responsibility for how their algorithm works:

Algorithm Idea (2 points)

State the algorithm idea behind the code that you submitted for for the third coding problem. This would be similar to an usual algorithm idea submission in a homework (though it does not really have to longer than one paragraph)

Lawsuit threat (2 points)

How did the threat of a lawsuit change your group's algorithm idea from the second coding problem to this problem? Specifically, which changes were motivated by the lawsuit threat, and why did you choose those adjustments as opposed to others?

FCC fine threat (2 points)

How did the threat of an FCC fine change your group's algorithm idea from the second coding problem to this problem? Specifically, which changes were motivated by the FCC fine, and why did you choose those adjustments as opposed to others?

Which customers are favored? (3 points)

Which clients did the changes to the bandwidth values favor? Show how your answer follows from the algorithm idea above.

Which customers are not favored? (3 points)

Which clients did the changes to the bandwidth values not favor? Show how your answer follows from the algorithm idea above.

How fair/ethical is your algorithm? (6 points)

Faster internet is a form of privilege. By choosing to favor some clients (those identified in the fourth question above) over others (those identified in the fifth question above), you have participated in assigning or reaffirming privilege for that group. Given our working definition of fairness [“fair institutions and policies can be understood as those that are not significantly responsive to arbitrary differences between individuals and that do not disadvantage those whom we already recognize as being disadvantaged” (253).], how fair/ethical is your algorithm design? Justify your answer.

Are laws and regulations enough? (7 points)

This question is not specific to your coding submission but related to the setup of the third problem overall. How effective are the threats of lawsuits and FCC fines (i.e. you need to talk about both) in keeping Internet service providers accountable? Justify your answer.

Submission

Submit all answers in one PDF

We recommend that you typeset your solution but we will accept scans of handwritten solution-- you have to make sure that the scan is legible. Your group needs to submit one PDF for the third reflection problem.

Note

If you do not have separated out answers for all the $7$ questions above, you will get a zero(0) irrespective of the "correctness" of your solution..

Preliminary Grading Guidelines

Below is a preliminary instantiation of the generic grading rubric above for (2nd to 6th questions) on Problem 3. (The Algorithm Idea part will be graded similarly to algorithm ideas in homework submissions.) In actual grading, we will use a grading rubric that expands on the preliminary grading rubric below.

Below is a preliminary rubric for the last question. Note that the rubric has five levels (and there is no level 4)-- the interpretations of these levels are the same as the usual grading guidelines for non-programming questions.

Grading scheme EXCEPTION!

For only this question (and one for Problem 5), we will follow the usual grading guidelines for non-programming questions. For all other problems, we will follow the three level grading scheme mentioned above.

PDF only please

If Autolab cannot display your file, (irrespective of the reason) then you will get a zero (0) on the entire question.

Autolab might not be able to display files in formats other than PDF (e.g. Word cannot be displayed). Note that Autolab will "accept" your submission even if you submit non-PDF file, so it is YOUR responsibility to make sure you submit in the correct format.

Also the file size has to be at most 3MB.

Templates

Download LaTeX template. Download Microsoft Word template.

Problem 4 (15 points)

Your Task

Listed below are five questions. The first question is to present the algorithm idea of the code that you submitted for the fourth coding problem. For the rest of the questions, you group has to answer each question and justify your answers.

Coding problem four requires you to consider what a fair distribution of services means for a systemically underprivileged group. Since the U.S. Census Bureau's Annual Social and Economic Supplement to the Current Population Survey first started recording the issue in the 1960s, rural areas have had an average of 4.5 percentage points higher rates of poverty than urban areas. While this may seem like a small gap, the issue is compounded by reduced access (and therefore slower adoption) to new technologies. And, while we are assuming your clients have infinite tolerance and will not unsubscribe from ForProfitOnly’s services given their monopoly in the area, Pew Research Center reported that in 2021, only 72% of rural Americans had access to broadband internet. So, in real life, there’s a chance they would choose to go without internet access.

Given our working definition of fairness [“fair institutions and policies can be understood as those that are not significantly responsive to arbitrary differences between individuals and that do not disadvantage those whom we already recognize as being disadvantaged” (253)], please answer the following questions about how designing for a disadvantaged group changed your design:

Algorithm Idea (2 points)

State the algorithm idea behind the code that you submitted for for the fourth coding problem. This would be similar to an usual algorithm idea submission in a homework (though it does not really have to longer than one paragraph)

Rural customers (3 points)

How did the presence of rural customers change your group's algorithm idea from the third coding problem to this problem? Specifically, which changes were motivated by the needs of rural stakeholders, and why did you choose those adjustments as opposed to others?

Which customers are favored? (3 points)

Which clients did the changes to the priorities values favor? Show how your answer follows from the algorithm idea above.

Which customers are not favored? (3 points)

Which clients did the changes to the priorities values not favor? Show how your answer follows from the algorithm idea above.

Is your algorithm fair/ethical? (4 points)

Given our working definition of fairness, how fair/ethical was your decision to privilege one group of customers (those identified in the third question above) over another (those identified in the fourth question above)? What could you or ForProfitOnly have done to make access more fair/ethical? Justify your answer.

Submission

Submit all answers in one PDF

We recommend that you typeset your solution but we will accept scans of handwritten solution-- you have to make sure that the scan is legible. Your group needs to submit one PDF for the fourth reflection problem.

Note

If you do not have separated out answers for all the $5$ questions above, you will get a zero(0) irrespective of the "correctness" of your solution..

Preliminary Grading Guidelines

Below is a preliminary instantiation of the generic grading rubric above for (last four questions) on Problem 4. (The Algorithm Idea part will be graded similarly to algorithm ideas in homework submissions.) In actual grading, we will use a grading rubric that expands on the preliminary grading rubric below.

PDF only please

If Autolab cannot display your file, (irrespective of the reason) then you will get a zero (0) on the entire question.

Autolab might not be able to display files in formats other than PDF (e.g. Word cannot be displayed). Note that Autolab will "accept" your submission even if you submit non-PDF file, so it is YOUR responsibility to make sure you submit in the correct format.

Also the file size has to be at most 3MB.

Templates

Download LaTeX template. Download Microsoft Word template.

Problem 5 (40 points)

Your Task

Listed below are five questions. None of these questions are specifically related to code that you submitted for the fifth coding problem but are related to the setup of the fifth problem in general

A basic tenant for businesses is that they exist to maximize value for shareholders. Many companies, like ForProfitOnly, will see value simply as revenue. Other companies, like EthicalInternet, define value holistically and insist their stakeholders value some concepts more than revenue. Clearly, EthicalInternet decided to value fairness. However, as we’ve said previously, there is no industry standard for fairness in algorithm design. Therefore, your final set of reflection questions challenges your group to come up with your own fairness constraint, and justify your alternative. You are not required to base your fairness constraint on our working definition of fairness, but you will need to justify your constraint. So, your group would be well served to decide on a definition of fairness before you proceed.

Alternate ethical/fairness constraint (15 points)

In the fifth problem, a fairness constraint was already given to you. But as we had mentioned then, that was just one notion of fairness. In this problem, your group should present a different fairness constraint under which EthicalInternet could have tried to maximize its revenue instead. Few clarifications:
  • The notion of fairness should be primarily with respect to the clients. You can of course in addition include other stakeholders.
  • The alternate fairness constraints should be feasible in that it should be reasonable enough to be implemented in today's world.
  • If for the alternate fairness constraints, EthicalInternet needs to know more information about the customers, then explicitly state what the extra information is needed and why. Also justify why it is reasonable for EthicalInternet to be able to collect such information from its customers.
  • The more precise your constraint, the more points your group will get. (When I say precise, mathematically precise is one way to go but as with proofs in this course, one can be precise even if one uses mostly English.)

Grading scheme EXCEPTION!

For only this question (and one for Problem 3 above), we will follow the usual grading guidelines for non-programming questions. For all other problems, we will follow the three level grading scheme mentioned above.

How is the alternate fairness constraint better? (5 points)

How is your alternate fairness constraint better (as a fairness metric/constraint) than the constraint used in the fifth problem? Justify your answer.

Would you change jobs? (5 points)

Given the presence of monopolies in technical industries, you might find yourself in a similar situation to your rural customers and not have other employer options. However, assuming you were working for ForProfitOnly and you got an offer from EthicalInternet for the same salary, would you switch jobs? Please explain why or why not.

What if the salaries were different? (5 points)

Based on how you answered the previous question, please answer the appropriate one below:

  1. If you answered YES to the question above, would you answer change if moving to EthicalInternet meant a $10\%$ decrease in salary? Please explain your decision.
  2. If you answered NO to the question above, would you answer change if moving to EthicalInternet meant a $10\%$ increase in salary? Please explain your decision.

Impact of individual engineers (10 points)

Regardless of how you answered the previous two questions, answer both of these questions:

  1. What do you imagine would be the impact of individual software engineers refusing to work for deceptive businesses like ForProfitOnly?
  2. Would individual software engineers be any more or less effective than current legal policies in promoting ethical algorithmic design and deployment? Why or why not?

Submission

Submit all answers in one PDF

We recommend that you typeset your solution but we will accept scans of handwritten solution-- you have to make sure that the scan is legible. Your group needs to submit one PDF for the fifth reflection problem.

Note

If you do not have separated out answers for all the $4$ questions above, you will get a zero(0) irrespective of the "correctness" of your solution..

Preliminary Grading Guidelines

Below is a preliminary instantiation of the generic grading rubric above for (the last four questions) on Problem 5. (As mentioned above the first question we will follow the usual grading guidelines for non-programming questions.) In actual grading, we will use a grading rubric that expands on the preliminary grading rubric below.

PDF only please

If Autolab cannot display your file, (irrespective of the reason) then you will get a zero (0) on the entire question.

Autolab might not be able to display files in formats other than PDF (e.g. Word cannot be displayed). Note that Autolab will "accept" your submission even if you submit non-PDF file, so it is YOUR responsibility to make sure you submit in the correct format.

Also the file size has to be at most 3MB.

Templates

Download LaTeX template. Download Microsoft Word template.