"[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 an explicit part of our design process.
Students will:
We'll answer questions such as "Who is impacted by a system beyond its users?", "Do the benefits of a system outweigh the harms?", "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 class and the type of thinking and learning that we'll be doing (we'll call that Module 0), we'll look at each of the following:
In each module, we'll think about the impact of various computer systems that already exist in the world. It's our way of thinking, 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 impact evolves.
To give you a sense of the types of systems we will study, here are some questions that we have wrestled with in past offerings of 6.1850:
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).
Your final letter grade in 6.1850/6.S967 will be comprised of:
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 written assignments that you'll do in preparation for class (typically only in preparation for Tuesday classes). At the end of each module, we'll give participation check-in grades, to let you know how you're doing.
The final project will be done in teams of 2-3 (we may allow rare exceptions for students to complete the project individually). In total, the final project is worth 50% of the final grade, but there are multiple deliverables along the way, and multiple opportunities to get feedback. In particular, you'll complete:
After each deliverable, the course staff will help you evolve and refine your ideas. Students in the graduate version (6.S967) will have the same assignments, but different expectations for their final project.
There will be two individual writing assignments. The details of each will be released throughout the term, but the first will likely focus on using the impact framework on a system we haven't studied in class, and the second will relate to your final project. The first assignment will have an opportunity for formal revision, which can improve your grade.
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. The graduate version, 6.S967, is an AAGS in the Computer Systems track.
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
50% final project
20% other writing assignments
Participation
Final Project
Individual Writing Assignments
Policies
FAQ