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

Lecture
T/TH 11:00 AM - 12:15 PM
Location
126 DeBartolo Hall
Mailing List (Class)
cse-40175-sp17-class-list@nd.edu
Mailing List (Staff)
cse-40175-sp17-staff-list@nd.edu
Slack
#cse-40175-sp17
GitLab
nd-cse-40175-sp17
Blogs
Planet RSS, Blog List
Galleries
Project 01, Project 02, Project 03

Instructor

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

Teaching Assistants

Teaching Assistant
Jonathan Baker (jbaker10@nd.edu)
Teaching Assistant
Patrick Lacher (jlacher1@nd.edu)
Teaching Assistant
John Templeton (jtemplet@nd.edu)
Teaching Assistant
Pamela Thomas (pthomas4@nd.edu)
Teaching Assistant
Nick Ward (nward3@nd.edu)

Help Protocol

  1. Think
  2. Slack
  3. Think
  4. Email
  5. Think
  6. Office
Unit Date Topics Assignment
Introduction 01/17 Syllabus, Ethics, Code of Ethics Slides Slides Reading 00
01/19 Talents, Responsibility Slides
Hackers 01/24 Computer Science, Hackers Slides Reading 01
01/26 Meritocracy, Philanthropy, Income Inequality Slides
Employment 01/31 Hiring, Negotiation, Contracts Slides Reading 02
02/02 Salaries, Promotion, Mobility Slides Project 01
02/07 Outsourcing, H-1B Visas Slides Reading 03
Workplace 02/09 Work-Life Balance Slides
02/14 Diversity in Technology Slides Reading 04
02/16 Codes of Conduct Slides
Engineering Disasters 02/21 Mission Critical Systems Slides Reading 05
02/23 Whistleblowing Slides Project 02
Privacy vs Security 02/28 Snowden Slides Reading 06
03/02 Government Surveillance Slides
Pervasive Computing 03/07 Cloud Computing, Online Advertising Slides Reading 07
03/09 Internet of Things Slides
Spring Break
Corporate Conscience 03/21 IBM & Nazis, Muslim Registry Slides Reading 08
03/23 Microsoft Antitrust, Sony Rootkit, Volkswagen Emissions Slides
Freedom of Speech 03/28 Network Neutrality Slides Reading 09
03/30 Online Censorship Slides Project 03
04/04 Trolling, Anonymity Slides Reading 10
Artificial Intelligence 04/06 Intelligence Slides
04/11 Self-Driving Cars Slides Reading 11
04/13 Automation Slides
Intellectual Property 04/18 Patents, Patent Trolls Slides Reading 12
04/20 Copyright, DMCA, Piracy Slides Project 04
Education 04/25 Computer Science 4 All Slides Reading 13
04/27 Computer Science Education Slides
05/02 Band of Brothers
Final 05/09 Project 05

Coursework

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

Grading

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

Blog

All Readings are due at midnight on the Sunday night before it is assigned in the schedule above (ie. Sunday → Monday).

All Projects are due at midnight on the night assigned in the schedule above (ie. Thursday → Friday).

Policies

Participation

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.

Blog

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