6.1850 (U) / 6.S967 (G): Computer Systems and Society

Instructor: Katrina LaCurts
Tue/Thu 11am-12:30pm, 34-301
This page is subject to change before the start of the Fall 2024 semester.
"[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

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

Overview of Content

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.

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

Your final letter grade in 6.1850/6.S967 will be comprised of:

30% participation
50% final project
20% 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 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.

Final Project

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.

Individual Writing Assignments

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.

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