CS489 Computer Ethics and Social Issues (Autumn 2021)


Time: 09:00-10:15, Mondays and Wednesdays Location: Online/Zoom (link to be distributed later)


Shin Yoo shin.yoo@kaist.ac.kr Office: E3-1 Room 2405


We will use a dedicated Slack workspace. Invitation links will be distributed later.


This course is concerned with a broad range of ethical issues that are closely related to, or have their origins at, computing technology and their uses. The aim of the course is not to find the answer to these problems. Rather, we will examine them from various angles together and discuss what we can do.

Another very important apsect of this course is that we will go through concrete technology that can help us while dealing with these issues. For example, instead of just saying that privacy is important, we will also look at techniques that allow you to effetively hide your data. Instead of just saying that a society should be fair, we will look at techniques that test large software systems for fairness.


  • 30% Course Participation
  • 40% Courseworks
  • 30% Course Project

All courseworks and projects will be partially peer-evaluated: 50% of the scores will be based on evaluation from your peers, and the remaining 50% will come from the lecturer. This also means that, for each coursework and the project, you not only have to submit your deliverable, but also have to grade a reasonable number of submissions from others.


  • Active Class Participation: a non-trivial part of this course is in-class presentation and discussion. If you just sit quietly, you will not gain much from this course. Class participation is 30% of the whole grade. Also note that the entire class is in English, including the language you submit your assignment in.
  • Strong programming skills: you are required to develop an individual course project. There will be also a number of hands-on sessions where we will program together during the class.
  • Unix/Linux-savvy: you should be familiar with the usual build tools and Unix/Linux command line environments.
  • Git-aware: you will be required to submit a GitHub repository as part of your project deliverables.

Teaching Assistant

Lecture Schedule

The schedule below is still tentative for now and may change, given that we do not know the exact class size yet. Empty spots will be filled as we move along.


To be announced.

Assignment 1: Ethics, Computers, and Our lives

Pick a media coverage (e.g., a newspaper or magazine article) of an event that you think is related to both computer science and ethics. Write a minimum 1,000 words essay to describe what the ethical issue is, how it is related to computer science, and what your opinion is. Include a link to the article you chose: the article itself can be in either Korean or English (if you really have to choose something in other language, please contact me and explain why).

Due on 8th September before the class begins. Submit a PDF via KLMS (Assignment 1).

Assignment 2: The Use of Macro Programs

We are increasingly converting various services to online. When a mass scale infrastructure level service migrates to online space, we often face inconveniences such as waiting, service error, etc. As programmers, our instinct when faced with a boring and repetitive task is to automate it. The result is a series of macro programs that would either buy train tickets, do online course registration, book a vaccine appointment, or buy facial masks for you. Is this fundamentally cheating, or a valid use of a powerful tool (=computers and software) that are given to us? Should we sometimes accept personal level inefficiency just to become a good citizen? Write a minimum 1,000 words essay to express your opinion on this.

Due on 29th September before the class begins. Submit a PDF via KLMS (Assignment 2).

Assignment 3: Hippocratic Oath for Computer Scientists

Some people think that computer scientists should take what corresponds to Hippocratic oath that physicians take: you can read about the argument here. Your assignment is to draft your own version of such an oath. Also briefly discuss your thoughts about how taking such an oath can affect CS majors.

Due on 13th October before the class begins. Submit a PDF via KLMS (Assignment 3).

Assignment 4: Thoughts on Gig Economy

Write a minimum 1,000 words essay detailing your thoughts about gig economy. Technology has contributed a lot to enable this new form of work. Some people actively argue that it is the inevitable future of jobs (e.g. The online jobs revolution: Freelance is future of work). Others think it is closer to exploitation and needs to be resisted (e.g. Strike 2.0: how gig economy workers are using tech to fight back). Where do you stand? How can technology help make it fairer and more just?

Due on 10th November before the class begins. Submit a PDF via KLMS (Assignment 4).

Project Aim

The aim of the term project is to put the practical knowledge obtained during the course to an actual use. Any project topic is acceptable, as long as it directly touches on the theme of ethics.

  • You can develop an app (e.g., Ethical Decision Making AppStore, Google Play).
  • You can write tools/frameworks that promote/implement certain ethical issues (e.g., secure deep learning using homomorphic encryption) and evaluate it empirically.
  • You can design a human experiment about a topic related to ethics (e.g., something akin to The Moral Machine).

Choices are endless, but it has to involve some technical depths. There will be an opportunity to present the initial ideas and get feedback (Project sales pitch sessions).

  • Project pitch: 5 minute presentation explaining what your project is. 1st of November.
  • Project final presentation: 15 minute presentation about the final outcome of your project. 6th and 8th December.

The submission of course project is by the end of 19th December 2021. Every individual should submit the following through KLMS:

  • Group report: this should be a detailed report of your project, in whatever format that you think is the best.
  • A GitHub repo link: As announced at the beginning of the course, you should also submit a GitHub repository that contains everything about your project. The link should be included in the group report.
  • Individual report: this report should contain two parts - first, describe what your own contribution to the project was, and second, evaluate your team members using on a scale of 0 to 10, with a brief justification for your evaluation.

This list is not an obligation, but contains highly recommended readings if you want to widen your views around the issues we will handle throughout the course.