Responsible Problem Solving: course components

Focusing on the societal consequences of design choices in data structures and algorithms

A computer science student first learns problem solving in data structures and algorithms. She learns to define a problem clearly, break it into solvable components, reason about the correctness of any proposed solution, measure resources used by her solution (space and time) and how to use them efficiently.

But when computer scientists apply these problemĀ­solving skills to questions and systems that impact society, responsible problem design and solution requires that we model societal costs and resources accurately. In these curricular components, we aim to bring questions and issues from impacted societal domains into the data structures and algorithms curriculum where computer science students first learn a problemĀ­solving mindset. We aim to create computer scientists who naturally consider issues such as sustainability, racism, and community impact (e.g., of surveillance) alongside matters of data structure design and complexity.

On this site, we will post the slides and assignments for curricular modules that are core components of the standard data structures and algorithms curriculum reimagined to include a focus on responsibility.

More soon!

Sustainability and Complexity About Us

Sustainability and Complexity

The goal of this lesson and assignment is to introduce students to the environmental impacts of computing.

Level: This lesson is designed to accompany Chapter 2 of Algorithm Design by Kleinberg and Tardos, and could also generally be used as a second lesson on complexity after the initial introduction of the high level and/or formal definitions in a data structures or algorithms course.

Background: In order to determine the energyusage and CO2 emissions of a function, the Python 3 package energyusage uses methodology outlined in this paper.

Slides (pptx) Homework (tex) Homework (pdf)

This lesson was created with the help of Jon Wilson in Haverford College's Environmental Studies Department.

About Us

Suresh Venkatasubramanian, Sorelle Friedler, Seny Kamara, and Kathi Fisler.

This project is funded by the Mozilla Responsible Computer Science Challenge.