Embedded EthiCS @ Harvard Bringing ethical reasoning into the computer science curriculum

We Value Your Feedback! Help us improve by sharing your thoughts in a brief survey. Your input makes a difference—thank you!

View our previous style of repository entries for over a hundred other modules that ran from 2017–2024.


Basics of Digital Privacy

Instructor Materials for Basics of Digital Privacy

Module Description

This module is about privacy in the age of big data and machine learning. The focus is two-fold: first, students are asked to think about why privacy might be important (especially in an era where almost all of our data is already collected and many of us intentionally post information online), and second, students are tasked with evaluating 3-4 different conceptions of privacy and assessing whether they actually offer the kinds of protections we think are valuable. The course is a very introductory level CS course which covers basic programming concepts and the history of the field. The module is therefore also very general in order to fit with the aims and scope of the course.

Course Name: Great Ideas in Computer Science – CS1, Spring 2025

  • Applied Computing
  • Human-Centered Computing
  • Information Systems
  • Introductory & Foundational
  • Networks
  • Security & Privacy
  • Goods & Values
  • Privacy
  • Responsibility & Action

Great Ideas in Computer Science – CS1, Spring 2025

Instructor Materials for Great Ideas in Computer Science – CS1, Spring 2025

Course Description

An introduction to the most important discoveries and intellectual paradigms in computer science, designed for students with little or no previous background. Explores problem-solving and data analysis using Python, a programming language with a simple syntax and a powerful set of libraries. This course covers basic data types and collections (lists, dictionaries, tuples, and sets), control flow, recursion, supervised machine learning via regression, visualization, information hiding and encapsulation using classes and objects, and introduces the analysis of program performance. Presents an integrated view of computer systems, from switching circuits up through compilers, and examines theoretical and practical limitations related to unsolvable and intractable computational problems. Other topics include the social and ethical dilemmas presented by such issues as software unreliability, algorithmic bias, artificial intelligence, and invasions of privacy.

Module Title: Basics of Digital Privacy

  • Applied Computing
  • Human-Centered Computing
  • Information Systems
  • Introductory & Foundational
  • Networks
  • Security & Privacy
  • Goods & Values
  • Privacy
  • Responsibility & Action

Moral Responsibility and Software Development

Instructor Materials for Moral Responsibility and Software Development

Module Description

This module asks students to consider the relationship between software design and moral responsibility. The module works by proposing a basic principle of moral responsibility, and then presenting the students with case studies meant to problematize that basic principle in various ways to show how complicated the notion of moral responsibility can get. This course is about the design of computer programs, so the module focuses on the moral responsibility of programmers with respect to designing and producing these systems. The primary consideration in question is whether programmers (or the companies they work for) bear some responsibility for the impacts of their products. If the answer is yes, then “designing well” must include some consideration of designing ethically. Importantly, this module was run by the CS coursehead, so the module instructor guide may deviate slightly from the slides, and there may be aspects of the instructor guide that are missing information.

Course Name: Abstraction and Design in Computation – CS51, Spring 2025

  • Introductory & Foundational
  • Software & Its Engineering
  • Theory of Computation
  • Design Process & Evaluation
  • Ethical Theory
  • Responsibility & Action

Abstraction and Design in Computation – CS51, Spring 2025

Instructor Materials for Abstraction and Design in Computation – CS51, Spring 2025

Course Description

Fundamental concepts in the design of computer programs, emphasizing the crucial role of abstraction. The goal of the course is to give students insight into the difference between programming and programming well. To emphasize the differing approaches to expressing programming solutions, you will learn to program in a variety of paradigms — including functional, imperative, and object-oriented. Important ideas from software engineering and models of computation will inform these different views of programming.

Module Title: Moral Responsibility and Software Development

  • Introductory & Foundational
  • Software & Its Engineering
  • Theory of Computation
  • Design Process & Evaluation
  • Ethical Theory
  • Responsibility & Action

Ethics Bowl

Instructor Materials for Ethics Bowl

Module Description

This module immerses students in the ethical evaluation of real-world software projects through a collaborative, “red teaming” format inspired by the Ethics Bowl. As part of the course, students are already working in teams on software projects, which form the basis for this exercise. Prior to the module, each team prepares a concise summary of their project, detailing aims, stakeholders, deployment plans, and data sources. This summary is then shared with another team playing the role of their “red team”—i.e., a group acting as adversaries who are looking for possible problems with the software. The red team’s job is to critically assess the project from a moral standpoint, identifying possible ethical pitfalls, stakeholder concerns, and potential public relations risks. During the class session, teams meet in pairs to present their critiques, engage in constructive discussion, and practice responding thoughtfully to ethical challenges. This interactive process encourages students to anticipate objections, refine their ethical reasoning, and consider the broader impact of their work. The session culminates in classroom-wide presentations, offering further opportunities for peer feedback and exchange of ideas.

Course Name: Software Engineering with Generative AI – CS1060, Spring 2025

  • Applied Computing
  • Human-Centered Computing
  • Security & Privacy
  • Social & Professional Topics
  • Software & Its Engineering
  • Design Process & Evaluation
  • Goods & Values

Software Engineering with Generative AI – CS1060, Spring 2025

Instructor Materials for Software Engineering with Generative AI – CS1060, Spring 2025

Course Description

Software has become a chief driver of innovation in every field of study and industry. Generative AI is rapidly transforming software development—not so much by replacing developers, but rather as a dramatic force multiplier for capable developers. Students will learn and practice industrial software engineering by building Software as a Service (SaaS) with modern tools. These include generative AI, automated testing, continuous integration, and continuous deployment (CI/CD). We will follow a software development lifecycle to plan, design, implement, test, deploy, and maintain a small, cloud-based SaaS system.

Module Title: Ethics Bowl

  • Applied Computing
  • Human-Centered Computing
  • Security & Privacy
  • Software & Its Engineering
  • Social & Professional Topics
  • Design Process & Evaluation
  • Goods & Values

Privacy and Efficiency in Design: The Game

Instructor Materials for Privacy and Efficiency in Design: The Game

Module Description

This module is designed around a data management board game. In groups, students are divided into one of three roles: developers, user-experience designers, and managers respectively. Developers care about the product working efficiently and effectively. User-experience designers care about user trust and loyalty. Managers are tasked with balancing the interests of developers and user-experience designers. After playing the game, group discussions help students deliberate about heuristics for navigating trade-offs and trade-off negotiations.

Course Name: Software Engineering with Generative AI – CS1060, Spring 2025

  • Applied Computing
  • Human-Centered Computing
  • Security & Privacy
  • Social & Professional Topics
  • Software & Its Engineering
  • Goods & Values
  • Privacy
  • Resource Distribution

Software Engineering with Generative AI – CS1060, Spring 2025

Instructor Materials for Software Engineering with Generative AI – CS1060, Spring 2025

Course Description

Software has become a chief driver of innovation in every field of study and industry. Generative AI is rapidly transforming software development—not so much by replacing developers, but rather as a dramatic force multiplier for capable developers. Students will learn and practice industrial software engineering by building Software as a Service (SaaS) with modern tools. These include generative AI, automated testing, continuous integration, and continuous deployment (CI/CD). We will follow a software development lifecycle to plan, design, implement, test, deploy, and maintain a small, cloud-based SaaS system.

Module Title: Privacy and Efficiency in Design: The Game

  • Applied Computing
  • Human-Centered Computing
  • Security & Privacy
  • Social & Professional Topics
  • Software & Its Engineering
  • Goods & Values
  • Privacy
  • Resource Distribution

Organ Distribution Algorithms

Instructor Materials for Privacy and Efficiency in Design: The Game

Module Description

This module asks students to consider the use of algorithms for decision-making about resource distribution under conditions of scarcity. The central case for the module is the use of matching algorithms to pair kidney donors with kidney recipients, given that there are far more people in need of kidneys than there are available donated kidneys. The module presents two or three different ethical principles which could be incorporated into the matching algorithm in order to prioritize patients based on various different considerations, and the students are asked to weigh the ethical pros and cons of each approach.

Course Name: Algorithms and Their Limitations – CS1200, Fall 2024

  • Artificial Intelligence & Machine Learning
  • Mathematics of Computing
  • Theory of Computation
  • Ethical Theory
  • Fairness & Bias
  • Goods & Values
  • Resource Distribution
  • Rights

Algorithms and Their Limitations – CS1200, Fall 2024

Instructor Materials for Algorithms and Their Limitations – CS1200, Fall 2024

Course Description

An introductory course in theoretical computer science, aimed at giving students the power of using mathematical abstraction and rigorous proof to understand computation. Thus equipped, students will be able to design and use algorithms that apply to a wide variety of computational problems, with confidence about their correctness and efficiency, as well as recognize when a problem may have no algorithmic solution. At the same time, they will gain an appreciation for the beautiful mathematical theory of computation that is independent of (indeed, predates) the technology on which it is implemented.

Module Title: Organ Distribution Algorithms

  • Artificial Intelligence & Machine Learning
  • Mathematics of Computing
  • Theory of Computation
  • Ethical Theory
  • Fairness & Bias
  • Goods & Values
  • Resource Distribution
  • Rights

Distributive Justice

Instructor Materials for Distributive Justice

Module Description

How should economic resources be distributed in society, and what makes a distribution fair? In this module, we explore competing philosophical perspectives on distributive justice and examine their practical implications using interactive small group discussions and structured debates. Students begin by considering which hypothetical society they would prefer to inhabit, not knowing their own place within it. This exercise serves as a springboard to introduce and critically evaluate three major theories of distribution: egalitarianism, which values equality in resource allocation; libertarianism, which emphasizes individual entitlement and the justice of acquisition and transfer; and the Difference Principle, which permits inequalities only when they benefit the least advantaged. One key goal of the module is to illustrate how we can build better theories of distributive justice by carefully weighing the merits and shortcomings of each perspective, and moving toward more satisfactory views at each step. By the end of the module, students will revisit their initial preferences for a just society and reflect on how their thinking has evolved in light of the philosophical arguments encountered.

Course Name: Economics and Computation – CS1360, Spring 2025

  • Applied Computing
  • Human-Centered Computing
  • Mathematics of Computing
  • Security & Privacy
  • Social & Professional Topics
  • Fairness & Bias
  • Goods & Values
  • Resource Distribution
  • Rights

Economics and Computation – CS1360, Spring 2025

Instructor Materials for Economics and Computation – CS1360, Spring 2025

Course Description

The course explores the interaction between the disciplines of economics and computer science. In one direction, we will see how computational thinking (including concepts like approximation algorithms and worst-case analysis) gives a new perspective on areas of economic theory such as game theory, mechanism design, and social choice. In the other direction, we will discuss how economic approaches can address timely questions in computer science and artificial intelligence. Special attention will be devoted to problems of societal significance. For a detailed list of topics, see the course schedule.

Module Title: Distributive Justice

  • Applied Computing
  • Human-Centered Computing
  • Mathematics of Computing
  • Security & Privacy
  • Social & Professional Topics
  • Fairness & Bias
  • Goods & Values
  • Resource Distribution
  • Rights

Generative AI and Meaningful Work

Instructor Materials for Generative AI and Meaningful Work

Module Description

One way of thinking about what computer scientists do is that they build tools. This module asks students to practice critically evaluating tools that can have downstream ethical impacts, using generative AI as a case study. In addition to questions about impact, trade-offs, accessibility, etc., the module focuses on the value of work. The last portion of the module asks students to reflect on how using generative AI impacts their experiences of meaningful work.

Course Name: Programming Languages – CS1520, Spring 2025

  • Artificial Intelligence & Machine Learning
  • Mathematics of Computing
  • Theory of Computation
  • Design Process & Evaluation
  • Goods & Values
  • Governance & Political Philosophy
  • Knowledge & Information Exchange

Programming Languages – CS1520, Spring 2025

Instructor Materials for Programming Languages – CS1520, Spring 2025

Course Description

This course is an introduction to the theory, design, and implementation of programming languages. Topics covered in this course include: formal semantics of programming languages (operational, axiomatic, denotational, and translational), type systems, higher-order functions and lambda calculus, laziness, continuations, dynamic types, monads, objects, modules, concurrency, and communication.

Module Title: Generative AI and Meaningful Work

  • Artificial Intelligence & Machine Learning
  • Mathematics of Computing
  • Theory of Computation
  • Design Process & Evaluation
  • Goods & Values
  • Governance & Political Philosophy
  • Knowledge & Information Exchange

Ethical Trade-offs in OS Design

Instructor Materials for Ethical Trade-offs in OS Design

Module Description

Engineers must often make tradeoffs, e.g. between speed and safety or flexibility and robustness. This module introduces students to cost-benefit analysis (CBA) as a structured process to guide decision-making about tradeoffs in the context of operating systems design. The module uses case studies to first familiarize students with the steps of CBA and how to apply them and then collectively assess some of CBA’s limitations as an all-purpose tool for determining the most socially and ethically appropriate course of action. The class session for this module was collaboratively run with the CS professor, who motivated the topic with technical content at the beginning of the session.

Course Name: Programming Languages – CS1520, Spring 2025

  • Applied Computing
  • Computer Systems Organization
  • Human-Centered Computing
  • Security & Privacy
  • Software & Its Engineering
  • Design Process & Evaluation
  • Ethical Theory
  • Fairness & Bias
  • Goods & Values
  • Responsibility & Action

Operating Systems – CS1610, Spring 2025

Instructor Materials for Operating Systems – CS1610, Spring 2025

Course Description

This is an in-depth course in operating systems design and implementation, focusing on multicore operating systems kernels. Operating systems are some of the most complex software artifacts that exist. Kernels abstract the features provided by computer hardware, making those features safer and more convenient to use. This means that OS designers have to understand how hardware works (at least at the level of specifications) and how software works. OS programmers also must become comfortable with navigating in, and contributing to, code bases too large to wholly understand. Most of us can pick up this important skill.

Module Title: Ethical Trade-offs in OS Design

  • Applied Computing
  • Computer Systems Organization
  • Human-Centered Computing
  • Security & Privacy
  • Software & Its Engineering
  • Design Process & Evaluation
  • Ethical Theory
  • Fairness & Bias
  • Goods & Values
  • Responsibility & Action

Data Privacy in Systems

Instructor Materials for Data Privacy in Systems

Module Description

This module explores privacy considerations for data systems. While data systems promise to economize a technology’s performance, depending on design, they can render people vulnerable to bad actors. After motivating the importance of privacy, we examine variance in legal requirements for privacy protections, taking the EU’s General Data Protection Regulation as a leading example. We then consider how attending to privacy considerations can improve design. In particular, we examine the adequacy of techniques like logical deletion (sometimes called “soft deletes”).

Course Name: Data Systems – CS1650, Fall 2024

  • Computer Systems Organization
  • Computing Methodologies
  • Hardware
  • Information Systems
  • Theory of Computation
  • Governance & Political Philosophy
  • Privacy
  • Rights
  • Safety, Explainability & Transparency

Data Systems – CS1650, Fall 2024

Instructor Materials for Data Systems – CS1650, Fall 2024

Course Description

We are in the big data era and data systems sit in the critical path of everything we do. We are going through major transformations in businesses, sciences, as well as everyday life – collecting and analyzing data changes everything and data systems provide the means to store and analyze a massive amount of data. This course is a comprehensive introduction to modern data systems. The primary focus of the course is on the modern trends that are shaping the data management industry right now: column-store and hybrid systems, shared nothing architectures, cache conscious algorithms, hardware/software co-design, main-memory systems, adaptive indexing, stream processing, scientific data management, and key-value stores. We also study the history of data systems, traditional and seminal concepts and ideas such as the relational model, row-store database systems, optimization, indexing, concurrency control, recovery and SQL. In this way, we discuss both how and why data systems evolved over the years, as well as how these concepts apply today and how data systems might evolve in the future. We focus on understanding concepts and trends rather than specific techniques that will soon be outdated – as such the class relies largely on recent research material and on a semi-flipped class model with a lot of hands-on interaction in each class.

Module Title: Data Privacy in Systems

  • Computer Systems Organization
  • Computing Methodologies
  • Hardware
  • Information Systems
  • Theory of Computation
  • Governance & Political Philosophy
  • Privacy
  • Rights
  • Safety, Explainability & Transparency

Fairness in Model Selection

Instructor Materials for Fairness in Model Selection

Module Description

This module introduces students to the complexities of fairness in machine learning through an extended case study centered on an osteoporosis risk classifier. The core focus is on critically evaluating the role of commonly used performance metrics in model selection and understanding how these metrics may support or obscure fair decision-making. As the case study unfolds, students are progressively provided with additional contextual information. At each stage, they are prompted to assess how the new information affects their interpretation of fairness and the appropriateness of different evaluation metrics.

Course Name: Machine Learning – CS1810, Spring 2025

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Computer Systems Organization
  • Information Systems
  • Mathematics of Computing
  • Design Process & Evaluation
  • Fairness & Bias
  • Goods & Values
  • Safety, Explainability & Transparency

Machine Learning – CS1810, Spring 2025

Instructor Materials for Machine Learning – CS1810, Spring 2025

Course Description

CS 1810 provides a broad and rigorous introduction to the principles of machine learning, probabilistic reasoning and decision making in uncertain environments. We will discuss the motivations behind common machine learning algorithms, and the properties that determine whether or not they will work well for a particular task. You will derive the mathematical underpinnings for many common methods, as well as apply machine learning to challenges with real data. In doing so, our goal is that you gain a strong, conceptual understanding of machine learning methods that can empower you to pursue future theoretical and practical directions.

Module Title: Fairness in Model Selection

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Computer Systems Organization
  • Information Systems
  • Mathematics of Computing
  • Design Process & Evaluation
  • Fairness & Bias
  • Goods & Values
  • Safety, Explainability & Transparency

Building Responsible Autonomous Vehicles

Instructor Materials for Building Responsible Autonomous Vehicles

Module Description

Autonomous vehicles (AVs) are increasingly common. According to one report, more than 54 million driverless vehicles were on the road in the United States during 2024. As with all vehicles, some collisions are unavoidable. For example, in 2023, a pedestrian was struck by a human-driven vehicle and thrown into the path of an autonomous vehicle. In addition to considerations of human well-being and safety, such cases raise important design questions for AVs. How should they navigate cases where collisions are unavoidable and unpredictable? Are there principles that help to mitigate harm and produce best outcomes? Here, ethical and design choices clearly coincide. This module examines whether analogies with (in)famous trolley problem cases in philosophy can lend insights for AV design, especially in cases where collisions are unavoidable.

Course Name: Planning and Learning Methods in AI – CS1820, Spring 2025

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Information Systems
  • Theory of Computation
  • Design Process & Evaluation
  • Goods & Values
  • Responsibility & Action
  • Safety, Explainability & Transparency

Planning and Learning Methods in AI – CS1820, Spring 2025

Instructor Materials for Planning and Learning Methods in AI – CS1820, Spring 2025

Course Description

Artificial Intelligence (AI) is already making a powerful impact on modern technology, and is expected to be even more transformative in the near future. The course introduces the ideas and techniques underlying this exciting field, with the goal of teaching students to identify effective representations and approaches for a wide variety of computational tasks. Topics covered in this course are broadly divided into search and planning, optimization and games, and uncertainty and learning. Special attention is given to ethical considerations in AI and to applications that benefit society.

Module Title: Building Responsible Autonomous Vehicles

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Information Systems
  • Theory of Computation
  • Design Process & Evaluation
  • Goods & Values
  • Responsibility & Action
  • Safety, Explainability & Transparency

Optimality is Value-Laden

Instructor Materials for Optimality is Value-Laden

Module Description

In reinforcement learning, an agent aims to maximize cumulative rewards. In a typical reinforcement learning course, students explore algorithms for computing optimal policies based on predefined reward functions. However, in real-world scenarios, reward functions are not handed to us—we design them. In this module, students step into the role of software engineers developing a rideshare application powered by reinforcement learning. They must design a reward function that balances technical goals with ethical considerations, accounting for societal impacts and potential unintended consequences.

Course Name: Introduction to Reinforcement Learning – CS1840, Fall 2024

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Information Systems
  • Theory of Computation
  • Design Process & Evaluation
  • Fairness & Bias
  • Goods & Values
  • Resource Distribution

Introduction to Reinforcement Learning – CS1840, Fall 2024

Instructor Materials for Introduction to Reinforcement Learning – CS1840, Fall 2024

Course Description

Modern AI systems often need the ability to make sequential decisions in an unknown, uncertain, possibly hostile environment, by actively interacting with the environment to collect relevant data. Reinforcement Learning (RL) is a general framework that can capture the interactive learning setting and has been used to design intelligent agents that achieve high-level performance in challenging applications such as Go, computer games, robotic manipulation, health care, and education.This course provides an introduction to reinforcement learning covering a range of problem formulations, algorithms, and theory. The four main themes of the course are (1) Markov decision processes (Bellman equations/optimality, planning, UCB, unknown environments, linear quadratic control, exploration, imitation learning), (2) bandits (epsilon-greedy, UCB, Thompson sampling, contextual bandits, linear bandits, exploration in MDPs), and (3) deep RL and methods for large-scale systems (policy gradient methods, Monte Carlo tree search, Q-learning, imitation learning).

Module Title: Optimality is Value-Laden

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Information Systems
  • Theory of Computation
  • Design Process & Evaluation
  • Fairness & Bias
  • Goods & Values
  • Resource Distribution

Moral Responsibility in the Face of Profound Uncertainty

Instructor Materials for Moral Responsibility in the Face of Profound Uncertainty

Module Description

In this module, participants consider decision-making about acting under conditions of uncertainty. The module takes as its starting point the decision by OpenAI not to release GPT-2 to the public, and asks whether that decision (and their subsequent decision to release the GPT) was morally justified. After discussing why utilitarian principles or cost benefit analyses may not resolve this question, participants are introduced to the precautionary principle as a way of thinking about decision-making under conditions of uncertainty. They discuss several variations of the principle and how these variations might apply to other scenarios involving decision-making about actions with potentially large consequences. The precautionary principle is explained, using Mason’s (2002) terminology, in three key pieces: the damage condition, the knowledge condition, and the potential remedy. These pieces of the principle can be adjusted or changed to make the principle more or less permissive with respect to what actions it allows and/or what remedies are prescribed. Importantly, this module was run by the CS coursehead, so the module instructor guide may deviate slightly from the slides, and there may be aspects of the instructor guide that are missing information.

Course Name: Introduction to Computational Linguistics and Natural-Language Processing – CS1870, Fall 2024

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Human-Centered Computing
  • Information Systems
  • Theory of Computation
  • Ethical Theory
  • Goods & Values
  • Governance & Political Philosophy
  • Responsibility & Action
  • Safety, Explainability & Transparency

Introduction to Computational Linguistics and Natural-Language Processing – CS1870, Fall 2024

Instructor Materials for Introduction to Computational Linguistics and Natural-Language Processing – CS1870, Fall 2024

Course Description

Natural-language-processing applications are ubiquitous – from digital assistants like Siri or Alexa, to machine translation systems like Google Translate, to fluent conversational systems like ChatGPT, Claude, and Gemini. How do such systems work? This course provides an introduction to the field of computational linguistics, the study of human language using the tools and techniques of computer science, with applications to a variety of natural-language-processing problems such as these. You will work with ideas from linguistics, statistical modeling, machine learning, and neural networks, especially the technologies behind current large language models (LLMs). The course is lab- and project-based, with students working primarily in small teams, and culminates in the building and testing of a full transformer-based question-answering system.

Module Title: Moral Responsibility in the Face of Profound Uncertainty

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Human-Centered Computing
  • Information Systems
  • Theory of Computation
  • Ethical Theory
  • Goods & Values
  • Governance & Political Philosophy
  • Responsibility & Action
  • Safety, Explainability & Transparency

Contextual Integrity Meets Differential Privacy

Instructor Materials for Contextual Integrity Meets Differential Privacy

Module Description

This module introduces students to the framework of contextual integrity (Nissenbaum 2010), a principled approach to evaluating privacy in socio-technical systems. Students will apply the framework to real-world scenarios in order to assess whether a privacy violation has occurred. In the latter part of the module, we explore the relationship between contextual integrity and differential privacy, examining how the two frameworks can complement each other.

Course Name: Applied Privacy for Data Science – CS2080, Spring 2025

  • Applied Computing
  • Human-Centered Computing
  • Information Systems
  • Security & Privacy
  • Theory of Computation
  • Knowledge & Information Exchange
  • Privacy
  • Rights

Applied Privacy for Data Science – CS2080, Spring 2025

Instructor Materials for Applied Privacy for Data Science – CS2080, Spring 2025

Course Description

This class will provide an overview of the risks of private data leakage in data science applications and a firm foundation in how to measure and protect against these risks using the framework of differential privacy, together with a hands-on examination of how to build algorithms and software to preserve privacy, including a review of the deployed solutions in industry and government.

Module Title: Contextual Integrity Meets Differential Privacy

  • Applied Computing
  • Human-Centered Computing
  • Information Systems
  • Security & Privacy
  • Theory of Computation
  • Knowledge & Information Exchange
  • Privacy
  • Rights

Code, Data, & Power

Instructor Materials for Code, Data, & Power

Module Description

In this module, we ask students to consider whether building open-source models is an effective way of ameliorating existing power asymmetries. One worry that many ethicists have raised regarding the status quo arrangement of the tech world, wherein a few large companies control a large market share of important software and other code, is that it consolidates a large degree of wealth and material resources in the hands of just these few large companies. Open source software has often been posited as a way of decentralizing access to code, thereby helping to set the stage for the redistribution of material resources among a greater number of people. Given this, it might seem plausible that creating more open source generative models (like Meta’s Llama model) would have a similar power-redistributing impact. This module calls into question the idea that creating truly open source models is a feasible solution to the problem of power asymmetries, given that these models require such a vast amount of resources to train and fine-tune, and the hardware required is also often proprietary (e.g. Nvidia chips).

Course Name: Advanced Computer Networks – CS2430, Fall 2024

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Human-Centered Computing
  • Information Systems
  • Networks
  • Ethical Theory
  • Governance & Political Philosophy
  • Resource Distribution

Advanced Computer Networks – CS2430, Fall 2024

Instructor Materials for Advanced Computer Networks – CS2430, Fall 2024

Course Description

This is a graduate-level course on computer networks. This course offers an in-depth exploration of a subset of advanced topics in networked systems. We will discuss the latest developments in the entire networking stack, the interactions between networks and high-level applications, and their connections with other system components such as compute and storage.In this year’s edition, we will use machine learning as a prime example to understand its unique requirements and challenges in the context of networking. As machine learning applications increasingly rely on larger models and faster accelerators, the demand for enhanced networking capabilities becomes imperative. Throughout this course, we will study cutting edge networking solutions and principles for co-designing networks with compute and storage, to meet the evolving needs of machine learning applications. The course will include lectures, in-class presentations, paper discussions, and a research project.More information of this course is at https://github.com/minlanyu/cs243-site. Notes: This course was previously numbered CS 243.

Module Title: Code, Data, & Power

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Human-Centered Computing
  • Information Systems
  • Networks
  • Ethical Theory
  • Governance & Political Philosophy
  • Resource Distribution

Ethics of Hacking Back

Instructor Materials for Ethics of Hacking Back

Module Description

In the face of a digital security threat, you are mostly on your own. There is no equivalent of state protection or police patrols. What is worse, you will likely receive no justice if your digital assets are attacked, destroyed, or stolen. Generally, these cases have seen no arrests, prosecution, or restitution. Unsurprisingly, some victims consider taking matters into their own hands by hacking back or striking against their digital attackers. In this module, we discuss the potential risks and benefits of hacking back and consider whether hacking back can be morally justified on the grounds of self-defense. We also discuss whether hacking back should be made legally permissible.

Course Name: Systems Security – CS2630, Fall 2024

  • Applied Computing
  • Computer Systems Organization
  • Networks
  • Security & Privacy
  • Ethical Theory
  • Governance & Political Philosophy
  • Privacy
  • Safety, Explainability & Transparency

Systems Security – CS2630, Fall 2024

Instructor Materials for Systems Security – CS2630, Fall 2024

Course Description

This course explores practical attacks on modern computer systems, explaining how those attacks can be mitigated using careful system design and the judicious application of cryptography. The course discusses topics like buffer overflows, web security, information flow control, and anonymous communication mechanisms like Tor. The course includes several small projects which give students hands-on experience with various offensive and defensive techniques; the final, larger project is open-ended and driven by student interests.

Module Title: Ethics of Hacking Back

  • Applied Computing
  • Computer Systems Organization
  • Networks
  • Security & Privacy
  • Ethical Theory
  • Governance & Political Philosophy
  • Privacy
  • Safety, Explainability & Transparency

Ethical Implications of Interpretability

Instructor Materials for Ethical Implications of Interpretability

Module Description

This module examines the ethical importance of being able to explain the human targets of machine learning decision systems exactly how the algorithms made their determinations. This feature, often referred to as “interpretability,” is generally seen as an important aspect of algorithmic systems that impact human lives and livelihoods. Some policy makers have even suggested that ML systems that aren’t interpretable shouldn’t be used. That said, many decisions made by humans that intuitively seem unproblematic aren’t interpretable, which raises concerns that ML faces a problematic double-standard. Furthermore, interpretability is subject to seemingly relevant trade-offs, e.g., a “black box” ML algorithm that is extremely accurate may, in some situations, be preferable to a less accurate algorithm that is interpretable. Students are given the opportunity to discuss the ethical importance of interpretability, the possible double standard charge in AI governance, and the ethical trade-offs regarding interpretability in extensive small group discussion.

Course Name: Topics in Machine Learning: Computational Properties in Interpretable Machine Learning – CS2822R, Fall 2024

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Human-Centered Computing
  • Information Systems
  • Security & Privacy
  • Design Process & Evaluation
  • Knowledge & Information Exchange
  • Resource Distribution
  • Rights
  • Safety, Explainability & Transparency

Topics in Machine Learning: Computational Properties in Interpretable Machine Learning – CS2822R, Fall 2024

Instructor Materials for Topics in Machine Learning: Computational Properties in Interpretable Machine Learning – CS2822R, Fall 2024

Course Description

There has been growing interest in recent years for machine learning systems that are somehow transparent about their inner workings — whether it be that the entire system is inherently interpretable, or that a single decision can somehow be explained. However, the question of what approach is best for what context remains elusive. In this course, we will focus on computational properties of interpretable machine learning methods, such as faithfulness or stability. Assessing methods with respect to these properties may allow us to rule out poorly-performing approaches without the need for expensive user studies. By categorizing methods by their computational properties, we will also be able to start thinking about which methods might be useful for a specific context. After a few initial assignments, the course will be focused on reading papers, discussion, and a semester-long project.

Module Title: Ethical Implications of Interpretability

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Human-Centered Computing
  • Information Systems
  • Security & Privacy
  • Design Process & Evaluation
  • Knowledge & Information Exchange
  • Resource Distribution
  • Rights
  • Safety, Explainability & Transparency

Deepfakes

Instructor Materials for Deepfakes

Module Description

Deepfakes are synthetic images, videos, or audio recordings generated or altered by AI. In this module, we identify and discuss potential impacts of deepfakes on individuals and groups, especially on how they can influence what people think and do. We then consider recent strategies for addressing deepfakes. One strategy is to develop AI systems that can detect features of deepfake material. Another influential strategy is to confirm and track the provenance of digital media. In small groups, students assess the potential advantages and disadvantages of these strategies. Students share their insights and identify lingering challenges for building trust in light of deepfake technologies.

Course Name: Advanced Computer Vision – CS2831, Fall 2024

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Information Systems
  • Mathematics of Computing
  • Theory of Computation
  • Goods & Values
  • Knowledge & Information Exchange
  • Responsibility & Action
  • Safety, Explainability & Transparency

Advanced Computer Vision – CS2831, Fall 2024

Instructor Materials for Advanced Computer Vision – CS2831, Fall 2024

Course Description

Computer vision is about making systems that “see” by turning measurements of light into useful information. This course provides a comprehensive foundation for understanding and creating such systems. Topics include: camera geometry; radiometry and light transport; elements of biological vision; and classical and neural-network methods for extracting information about 3D shape, materials, dynamics and semantics. The course balances breadth and depth, and it blends theory and practice.

Module Title: Deepfakes

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Information Systems
  • Mathematics of Computing
  • Theory of Computation
  • Goods & Values
  • Knowledge & Information Exchange
  • Responsibility & Action
  • Safety, Explainability & Transparency

Strategies for brainstorming about the ethical implications of your research

Instructor Materials for Strategies for brainstorming about the ethical implications of your research

Module Description

This module was designed to help early stage doctoral students consider some of the possible social and ethical implications of the research they’ll be conducting during their program of study. The module consists of two short case studies, one to generate open conversation about the ethical implications of research more generally, and the other to support a team brainstorming activity. The students then apply the tools they’ve practiced on their own research projects, and collaboratively discuss ways they might be able to mitigate the possible harms and amplify the possible benefits of their research.

Course Name: Seminar on Effective Research Practices and Academic Culture – CS2902, Spring 2025

  • Social & Professional Topics
  • Design Process & Evaluation
  • Goods & Values
  • Responsibility & Action

Seminar on Effective Research Practices and Academic Culture – CS2902, Spring 2025

Instructor Materials for Seminar on Effective Research Practices and Academic Culture – CS2902, Spring 2025

Course Description

This is a reading and discussion-based seminar designed for entering Computer Science Ph.D. students. This course prepares students to manage the difficult and often undiscussed challenges of Ph.D. programs through sessions on research skill building (e.g. paper reading, communication), soft skill building (e.g. managing advising relationships, supporting your peers), and academic culture (e.g. mental health in academia, power dynamics in scientific communities), as well as research and professional-oriented discussions. This is a full-year, 4-unit course, meeting once a week in each of the fall and the spring. Students must complete both terms of this course (CS 2901 and CS 2902) within the same academic year to receive credit.

Module Title: Strategies for brainstorming about the ethical implications of your research

  • Applied Computing
  • Artificial Intelligence & Machine Learning
  • Information Systems
  • Mathematics of Computing
  • Theory of Computation
  • Goods & Values
  • Knowledge & Information Exchange
  • Responsibility & Action
  • Safety, Explainability & Transparency

Ethics of Technological Unemployment

Instructor Materials for Ethics of Technological Unemployment

Module Description

Evidence suggests that in the past three decades tech-driven task displacement across US sectors has significantly outpaced the replacement of those tasks by others, thus leaving less total work to be done by human workers. Robots and AI are expected to continue this trend, and some have argued that recent advances in those technologies will greatly accelerate the trend. Some researchers predict large scale unemployment due to novel technologies in the next several decades if the trend continues. In this module, students have the opportunity to consider and discuss the potential moral and practical reasons that might compel us–as a society–to take action to address this so-called technological unemployment problem. Students will also brainstorm and discuss what steps society might take to either prevent or slow down the pace of technological unemployment and what mitigation strategies could be deployed to address its bad consequences if we fail to prevent it.

Course Name: Introduction to Robotics – ES159, Fall 2024

  • Applied Computing
  • Hardware
  • Introductory & Foundational
  • Social & Professional Topics
  • Goods & Values
  • Governance & Political Philosophy
  • Resource Distribution
  • Responsibility & Action
  • Rights

Introduction to Robotics – ES159, Fall 2024

Instructor Materials for Introduction to Robotics – ES159, Fall 2024

Course Description

Introduction to computer-controlled robotic manipulators. Topics include coordinate frames and transformations, forward and inverse kinematic solutions to open-chain manipulators, the Jacobian, dynamics and control, and motion planning. In addition, special topics will be introduced such as computer vision, soft robotics, surgical robots, MEMS and microrobotics, and biomimetic systems. Laboratory exercises will provide experience with industrial robot programming and robot simulation and control.

Module Title: Ethics of Technological Unemployment

  • Applied Computing
  • Hardware
  • Introductory & Foundational
  • Social & Professional Topics
  • Goods & Values
  • Governance & Political Philosophy
  • Resource Distribution
  • Responsibility & Action
  • Rights

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 4.0 International License.

Embedded EthiCS is a trademark of President and Fellows of Harvard College | Contact us