CSE 40175 is the one of the core classes in the Computer Science and Engineering program at the University of Notre Dame. The purpose of the course is to develop a solid foundation for reasoning about ethical, professional, and social issues that arise in the context of computer science and engineering. Emphasis is placed on identifying appropriate legal, professional and moral contexts and on applying sound critical thinking skills to a problem. Topics covered include professional codes of ethics, safety-critical systems, whistle blowing, privacy and surveillance, freedom of speech, intellectual property, and cross-cultural issues. This course relies heavily on case studies of real-world incidents.

Upon successful completion of this course, students will be able to:

  1. Communicate effectively about a wide range of ethical, professional, and social issues regarding computer science and engineering in a variety of mediums and platforms.

  2. Analyze complex moral and technical issues by identifying stakeholders, exploring opposing positions, and considering short and long-term consequences.

  3. Discuss the impact of computing and technology in the past, the issues and obstacles facing society in the present, and the opportunities for the future.

  4. Evaluate different ethical, professional, and social issues in the context of computer science and engineering and in terms of Catholic social teaching.

Class Information

T/TH 11:00 AM - 12:15 PM
126 DeBartolo Hall
Mailing List (Class)
Mailing List (Staff)
Planet RSS, Blog List


Peter Bui (pbui@nd.edu)
Office Hours
M/W/F 2:00 PM - 4:30 PM, and by appointment
Office Location
350 Fitzpatrick Hall

Help Protocol

  1. Think
  2. IRC
  3. Think
  4. Email
  5. Think
  6. Office

Teaching Assistants

Graduate Teaching Assistant
Jason Liu (aliu1@nd.edu)
Office Hours
Monday 10:30 AM - 12:30 PM, Wednesday 1:00 PM - 2:00 PM
Office Location
212 Cushing
Graduate Teaching Assistant
Jermaine Marshall (jmarsha5@nd.edu)
Office Hours
Wednesday 1:00 PM - 5:00 PM
Office Location
212 Cushing
Undergraduate Teaching Assistant
Nicholas Acampora (nacampor@nd.edu)
Office Hours
Thursday 12:30 PM - 2:30 PM
Office Location
Engineering Library
Undergraduate Teaching Assistant
Camilla Tassi (ctassi@nd.edu)
Office Hours
Wednesday 3:00 PM - 4:00 PM, Thursday 1:00 PM - 2:00 PM
Office Location
LaFortune Basement
Unit Date Topics Assignment
Introduction, Ethics 01/12 Syllabus, Ethics and Computer Science, Code of Ethics Slides Slides Reading 00
01/14 Talents, Responsibility Slides
Hackers 01/19 Computer Science, Hackers Slides Reading 01
01/21 Meritocracy, Philanthropy, Income Inequality Slides
Employment 01/26 Hiring Process, Job Interviews Slides Reading 02
01/28 Salaries, Compensation, Promotion Slides Project 01
02/02 Startups Slides Reading 03
Workplace 02/04 Work-Life Balance Slides
02/09 Diversity in Technology Slides Reading 04
02/11 Codes of Conduct Slides
Engineering Disasters 02/16 Safety-Critical Systems Slides Reading 05
02/18 Whistleblowing Slides Project 02
Privacy vs Security 02/23 Edward Snowden Slides Reading 06
02/25 Government Backdoors Slides
Pervasive Computng 03/01 Cloud Computing Slides Reading 07
03/03 Online Advertising Slides
Spring Break
Intellectual Property 03/15 Patents, Patent Trolls Slides Reading 08
03/17 Copyright, Open Source Slides
03/22 Reverse Engineering, Full Disclosure Slides Reading 09
03/24 Piracy, DMCA Project 03
Connectivity 03/29 Network Neutrality Slides Reading 10
03/31 Immigration, Out-sourcing Slides
Artificial Intelligence 04/05 Intelligence Slides Reading 11
04/07 Automation Slides
Freedom of Speech 04/12 Censorship Slides Reading 12
04/14 Trolls, Anonymity Slides Project 04
Education 04/19 Computer Science Education Slides Reading 13
04/21 Computer Science 4 All Slides
04/26 Higher Education
05/06 Project 05 Project 05


Component Points
Readings Weekly reading assignments and corresponding writing prompts. 12 × 10
Projects Periodic group projects. 5 × 30
Participation Regular class attendation and contribution to course community. 30
Total 300


Grade Points Grade Points Grade Points
A 280-300 A- 270-279
B+ 260-269 B 250-259 B- 240-249
C+ 230-239 C 220-229 C- 210-219
D 180-209 F 0-179


All your Readings and Projects are to be submitted to your own blog before the class period on the day assigned in the schedule above.



Students are expected to attend and contribute regularly in class. This means answering questions in class, participating in discussions, and helping other students.

Foreseeable absences should be discussed with the instructor ahead of time.


All responses to the Readings should be posted to each student's individual blog. Choice of blog platform is up to each student, but the student must provide a valid RSS or ATOM feed to their blog at the beginning of the semester for easy syndication and monitoring.

Late Work

In the case of a serious illness or other excused absence, as defined by university policies, coursework submissions will be accepted late by the same number of days as the excused absence.

Otherwise, there is a penalty of 25% per day late (except where noted). You may submit some parts of an assignment on time and some parts late. Each submission must clearly state which parts it contains; no part can be submitted more than once.

Honor Code

All work that you submit must be your own. Collaboration is encouraged but must be disclosed by all parties. Print or online resources are allowed, but must be disclosed. However, you may not look at solutions from other current or past students, or any other source.

Students with Disabilities

Any student who has a documented disability and is registered with Disability Services should speak with the professor as soon as possible regarding accommodations. Students who are not registered should contact the Office of Disabilities.

Blogging Services

If you want something turn-key, you can consider one of the following hosted blogging services:

  1. Wordpress

  2. Blogger

  3. Medium

  4. Svbtle

  5. Ghost

Static Website Generators

If you are a little more adventurous, you can consider statically generating your blog and hosting the files on a web server (such as Github Pages or Netfile).

  1. Jekyll

  2. Pelican

  3. Hexo

  4. Hugo

Cloud Providers

If you are really adventurous, you can consider managing and hosting your blog on a cloud platform:

  1. Amazon Web Services

  2. Google AppEngine

  3. DigitalOcean