"[6.1850 is] a class that's almost impossible to not feel passionate about. The topics we consider are complex, challenging, and actually matter to the world around us. You'll find yourself learning with a group of students who all have very different backgrounds, but are united by a willingness to interrogate the most difficult questions we face in the discipline of computer science. You'll think differently about every computer science project you do after taking this class, which will make your work and the world around you all the better." - Fall 2021 student
6.1850 is a small (15-25 students) class focused on applying an ethical framework to design problems in computer systems. Unlike many subjects in EECS, it's focused on discussion and is somewhat student-driven; topics may evolve/change at the request of the students in the class.
You can read more about the objects of the class and its structure below. We'll be using Canvas this semester, but this (static) page will remain available for people interested in learning more about the class.
Learning Objectives | Content (Calendar) | Course Structure | Assignments + Grading | Policies | FAQ
The design decisions we make in computer systems imply power structures, affect individuals, society, and the world, even when it seems like they don't. Our primary goal in this class is to make the connection between these technical design decisions — e.g., whether to use a hierarchy or a mesh — and their impact on humans explicit by using an ethical framework as part of our design process.
We'll study an existing ethical framework — the "ethics protocol", designed by Abby Jacques and Milo Phillips-Brown — and apply it to the process of designing computer systems, with the goal of understanding the impact of various design decisions, and the goal of improving the framework itself within the context of computer systems.
Students will:
We'll answer questions such as "Do our design decisions change if
we use an ethical framework?", "How do we assess trading off technical
metrics such as performance against ethical issues?", "Can we develop
systems that are high-performing while having positive impacts on
society?", "Are there times when we simply shouldn't build a
system?". Along the way, we'll learn about plenty of different
computer systems.
6.1850 is divided into roughly three modules. After we spend a
week introducing the ethics protocol (we'll call that Module 0),
we'll look at each of the following through the lens of the ethics
protocol:
In each module, we'll apply the ethics protocol to many of the
systems we study. It's this ethical framework, and not the specific
systems themselves, that is the overall theme of this class. As such,
the list of systems we study might change from the initial plan,
especially if there is a system that students are particularly excited
to learn about.
In addition to the systems themselves potentially changing, topics
may shift around as the class progresses. E.g., we might choose to
discuss environmental impact throughout, or only touch on Bitcoin in
Module 1 and revisit it later in Module 3. Or we might change
one of these Modules entirely as we all learn together. Students
should expect to see the same systems come up multiple times, and to
think about these systems through different lenses as our
understanding of the ethics protocol evolves.
You can see a more detailed breakdown of the calendar here, but note that it is still under development.
Each week we'll have two ninety-minute sessions. The sessions
themselves will be a mix of lecture, discussion, and occasional
student presentations. Ninety minutes is a long time to sit in one
place, so you can expect there to be a ten-minute break somewhere near
the middle of class each day.
On Thursdays we will introduce new material in class. Students will
spend some time thinking about this material afterwards, reading some
things, doing some reflections, and then we will have a broader
discussion on the following Tuesday. (In this sense, you can think of
Thursday + Tuesday as a single week in 6.1850.)
So for example on Thursdays we might have a bit of lecture about
2-3 new computer systems, a bit of class-wide Q&A, a bit of thinking
in small groups, and a bit more lecture. At the end of that class, we
might give you 1-2 articles or papers to read, and some specific
questions to think about, or a specific way to think about our new
systems in the context of the ethics protocol. On Tuesday, we'll do
more discussion than lecture. We may even occasionally have students
discuss things that they read or thought about over the weekend
(think, like, short, informal presentations; no slides, but you should
think things through ahead of time).
30% participation We expect you to work hard in this class, but we don't expect you
to be perfect. There will be lots of opportunities to revise
assignments, and lots of guidance from the course staff along the
way. If you are willing to put in the work, you can expect to do well
in this class.
Participation will be graded very similarly to how we handle it in
6.1800[6.033], where we look at whether students are coming prepared to class,
actively listening, speaking up, asking questions, etc. We do not base
your participation grade on how often you give a "correct" answer in
class. And we understand that different people participate in
different ways; there's no one right way to participate.
Part of your participation grade will come from short, weekly,
written reflections about what you're learning in the class, and what
connections you're making to other topics.
The final project will be done in teams of 2-3; we may allow some
students to complete the project individually depending on their
circumstances. Although the final project is worth 40% of the final
grade, there will be multiple deliverables along the way, and multiple
opportunities to revise. You can expect something roughly along the
lines of:
You can expect roughly one individual assignment for each
module. The details of each will be released throughout the term, but
the majority will focus around assessing the ethics protocol on a
system we haven't studied in class.
The driving force behind our policies is that we care about you as
people more than we care about any deadline or grade. This will be a
small class (15-25 students), which means we are able to be relatively
flexible with our policies.
Late Policy: Assignments will have due dates. If you are
unable to turn in an assignment by its due date, get in touch with the
course staff; you don't need to give us a reason for your request. As
long as you reach out ahead of time, you can assume we will give you
at least a 24-hour extension, and we'll work with you to figure out
whether a longer extension is appropriate. We want to keep you on
track as the class progresses, but you should never pull an
all-nighter because of this class.
Attendance Policy: Because we grade for participation, we
expect you to be attending class regularly. But, things come up. If
you miss three or fewer classes during the semester, your
participation grade won't be impacted at all as long as you let
us know ahead of time that you'll miss class (we'll make an exception
for things like medical emergencies, of course). If you need to miss
more than three class periods, for example due to illness or a crisis
outside of class, get in touch with the course staff. You don't need
to explain the situation to us, but we may ask that you work with an
S3 dean so that we can figure out the best course of action.
Note that these policies don't mean that we can
accommodate every possible situation. But we will do our best
to make sure that you have as positive experience in this class as
possible.
Collaboration Policy: Collaboration is encouraged almost
everywhere. It is completely okay to talk to other students in this
class about the content, to share ideas, get feedback on ideas,
brainstorm together, etc. However, any written work that you turn in
must be in your own words (unless otherwise specified; for example,
the final project is done in teams), and the opinions that you
represent in that written work should be ones that you yourself
hold. In other words, if a member of the course staff asks you to
elaborate on something that you've written, you should be able to do
so confidently.
Who is this class for? Anyone (who has taken
6.1800[6.033]; see below) who is interested in thinking
about the impact of computer systems on individuals, society, and the
environment. If you vaguely enjoyed the content of 6.1800, even if you
don't think of yourself as a "systems person", and if you especially
enjoyed some of the 6.1800-in-the-news segments, or some of the
ethical issues that we brought up in recitation, this might be a class
for you.
What should I know going into this class? Don't worry about
reviewing specific technical content in preparation for 6.1850. If
you've taken 6.1800, you'll be fine; we'll review necessary details of
certain system as we go along.
What's more important is your attitude towards this class. 6.1850
is still relatively new, and some of the material might change on the fly; you'll
need to be able to roll with some changes as things progress. We'll do
a decent amount of discussion each day; you should expect to be an
enthusiastic participant in those discussions.
You should not expect this to be a high-stress class. There are no
exams, the final project has lots of opportunities for feedback and
revision, and the small size of the class means that we can be pretty
accommodating to student circumstances. That said, we expect you to
work hard. If you aren't willing to put in the work to preparing for
this class and participating in it, don't take it.
I'm interested in this class, but I didn't get an A in 6.1800;
should I still take it? Most likely, yes. 6.1850 is intended for
students who were enthusiastic about the material in 6.1800 and are
interested in thinking critically about the impact of the systems we
build on the world at large. Your contributions will be valuable
regardless of your expertise; getting an A in 6.1800 is not a
prerequisite.
I haven't taken 6.1800; can I still take this class? No; the
6.1800 pre-requisite is strictly enforced. The material will build
directly off of the content and structure of 6.1800, and will hopefully
feed back into next semester's offering of 6.1800. Even if you are a
systems expert, you cannot take this class if you haven't taken 6.1800.
Will class sessions be recorded? No; 6.1850 is more
discussion-based than lecture-based, so recordings aren't ideal. For
students who need to miss class (due to illness, e.g.), we'll help you
make up the material in a different way.
What degree requirements does this class fulfill? As far as
Institute requirements go, 6.1850 is a CI-M for 6-1, 6-2, 6-3, and 6-4
students. For departmental requirements in Course 6, 6.1850 fulfills
both the EECS and the II requirement; in the new 6-3 requirements, it
is part of the Computers and Society track. It is not an AUS.
Will Broccoli or Junebug ever come to class? No; that would
be a disaster. Rest assured I'll show you plenty of photos.
Overview of Content
Course Structure
Assignments + Grading
The following grade breakdown is tentative, but will be confirmed by the end of the first week of classes.
40% final project
30% other writing assignments
Participation
Final Project
There will be opportunities for revision and feedback between each of these phases.
Individual Writing Assignments
Policies
FAQ