6.1850: Computer Systems and Society

Instructor: Katrina LaCurts
Tue/Thu 11am-12:30pm, 34-301 (not 3-333)
"[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.

6.1850 has been approved as a C-M for 6-1, 6-2, 6-3, and 6-4 students.

Learning Objectives | Content (Calendar) | Course Structure | Assignments + Grading | Policies | FAQ

Learning Objectives

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.

Overview of Content

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.

Course Structure

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).

Assignments + Grading

The following grade breakdown is tentative, but will be confirmed by the end of the first week of classes.

30% participation
40% final project
30% other writing assignments

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

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.

Final Project

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:

There will be opportunities for revision and feedback between each of these phases.

Individual Writing Assignments

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.

Policies

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.

FAQ

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.