COS 350: Ethics of computing

The course aims to help students think critically about the ethical and social aspects of computing technology and develop the skills needed to make ethical decisions when building and deploying technology. Activities will include readings, technical work, and case studies of contemporary debates.

Course staff

Instructor: Arvind Narayanan (arvindn)

TAs: Aatmik Gupta (aatmikg; Precept 4), Sayash Kapoor (sayashk; Precept 2), Kaiqu Liang (kl2741), Varun Rao (vn1332; Precept 3), Madelyne Xiao (mx3521; Precept 1)


After the introductory lecture, we will jump to Fairness and Machine Learning before returning to the rest of Part 1. For this module, the main reading is:

Solon Barocas, Moritz Hardt, Arvind Narayanan. Fairness and machine learning: limitations and opportunities. MIT Press, 2024. Available online.

Meeting times

Lecture: Tuesdays and Thursday, 11:00 am – 12:20 pm, McCosh 28

For precepts and office hours, see the calendar below.

Graded work

Course policies

Contact policy

Use Ed Discussion for nearly all course-related questions you have. You may use private posts at your discretion. In general, all questions about coursework, course logistics, etc. should be asked publicly (you can post a question anonymously if you prefer).

For assignment-related questions, go to TA office hours. If the TA is not able to resolve it, you may escalate to the instructor. Note that we won't offer debugging help. You are welcome to go to instructor office hours for questions about the lecture or any other discussion about course-related topics.

Regrade policy

We will return graded work together with the grading rubric that was used. If you believe a question has been misgraded, you have 3 days to request a regrade on Gradescope with a few lines of explanation of how the question was misgraded contrary to the rubric. Note that a regrade request will trigger a regrade of the entire assignment, not just the problem in question, and your grade may increase or decrease as a result.

Late policy

We will allow you to take 6 late days in total on assignments over the term. You can use up to 3 late days per assignment. Late hours will round up to a full day (i.e. if you submitted 4 hours late, it will cost you 1 late day). Once you run out late days, each additional day late will incur a fixed 10% deduction for the given assignment (e.g. –10 points off a 100-point assignment). We will not accept assignments 3 days after the due date.

Extenuating circumstances

Our late and drop policies are meant to cover a variety of “life happens” circumstances, including but not limited to the following: students who may have to travel (including for sports), observe religious holidays, experience routine illnesses, etc. If an extenuating circumstance arises, you must use up your late days and dropped components first before requesting an assignment extension. Extensions due to extenuating circumstances require an email to the instructors from a university official, typically a Dean or a Director of Study (a note from McCosh does not suffice).

AI policy

Unless otherwise stated, you are welcome to AI tools such as code generators and text generators, both for the assignments and for the take-home final. Of course, you are responsible for the accuracy of the work that you submit.

You must submit a writeup describing which AI tools you used and how. If you didn’t use any tools, say so. Use this as an opportunity to reflect on what worked and what didn’t, and to how to use the tools more effectively.

In our experience, there is currently a significant difference in quality between GPT-4 and free tools. If no one in your group has access, let us know in advance and we will reimburse a subscription to ChatGPT Plus.

Collaboration policy

activity course staff assignment group AI tools others
discuss concepts with…
acknowledge collaboration with…
expose solutions to… no
view solutions or copy code from… no no