Course Syllabus

IMPORTANT NOTE:  All dates and policies contained in the CS 3090 syllabus and Canvas course are subject to change.  Students can expect to be informed immediately and clearly of any changes.

Critical Information


Prof. Travis Martin, 3122 MEB, 

Class meetings

Tues, Thurs, 3:40-5:00p in WEB L102, led by Prof. Martin


Due to the interactive and discussion-oriented nature of class meetings, in-person attendance is required.  A significant fraction of the semester's grade is determined by activities completed in-class -- a small number of these will be dropped, to account for emergencies and other necessary absences.


All class announcements will be posted on Canvas. Questions for the course staff should be sent as Canvas messages or emails to Prof Martin and Both TAs (Jo and Anurag).

Final course grade

Class participation (in-class activities and canvas quizzes) 35%
Canvas discussions (approximately every week) 30%
Block projects, including a final project 35%

Course Information

In this course, we will explore the moral, social, and ethical ramifications of the choices we make as computing professionals. Through class discussions, case studies, exercises, and projects, students will learn the basics of ethical thinking in science, understand a representative sample of current ethical dilemmas in computing, and study the distinct challenges associated with ethics in computing.

Prerequisite and corequisite

'C-' or better in CS 2420 and Majoring or Minoring in Computer Science, Computer Engineering, or Software Development

Students can only receive credit for one Ethics course taught in the School of Computing. So students should may take this course or CS 3390, Ethics in Data Science, but not both.

Learning outcomes 

Upon completion of CS 3090, students will be able to:

  1. Explain the key concepts of foundational ethical frameworks, and apply a framework to evaluate the morality of a technology or technological decision.
  2. State and discuss their own personal ethical code of conduct, including the impact of their code on other individuals and groups.
  3. Identify ethical issues when presented in a complex, multilayered technological context, as well as identify cross relationships among the issues.
  4. Determine the harms and benefits to individuals and groups resulting from a given technology or technological decision.
  5. Formulate, justify, and carry out an appropriate response to a technological ethical dilemma.
  6. Devise a plan to resolve technological ethical dilemmas in communal or hierarchical situations with conflicting moral codes.
  7. Use experiences different from their own to make technological decisions or evaluate morality.
  8. Argue (in text and speech) convincingly for or against a given technology or technological decision with a clear thesis and a well-structured argument supported by evidence or examples, while considering and defending against objections to this argument.

Course Materials


The CS 3090 Canvas course is always under development, with updates to the class schedule, course notes, readings, assignment specifications, and more, occurring regularly.  It is critical that students become familiar with the Canvas course right away and plan to visit it three times a week, at a minimum.


Weekly readings from a variety of sources will be assigned for the class, these readings will be posted as links on Canvas. No textbook is required for this class.

Class discussions

This class is discussion-focused, and these discussions form a critical part of the learning that will occur in the class. Thus, you and your peers' opinions and effort are a course material. This course couldn't exist with just one student. Students will discuss the readings via Canvas discussions, and also discuss with each other in class.

Course topics

The course will be broken into 5 blocks, with approximate topics as listed below (this list is subject to change):

  • Block 1: Intro to Ethical Thinking
    • The importance of ethics in computing
    • Ethical frameworks
  • Block 2: Software Engineering
    • Copyright & patents
    • Free and open source software
    • Writing ethical programs
  • Block 3: Data & Privacy & Platforms
    • Data privacy
    • Platforms as moderators
  • Block 4: AI & Algorithmic Decision Making
    • Algorithmic decision making
    • Automation in the workforce
  • Block 5: Inclusion, Equality, Workplace 
    • Technological divide, inequality of access
    • Workplace culture
    • Affecting change

Student Evaluation

Class Participation

The class participation part of ones grade comes from attending class, participating in in-class (written) activities, and from Canvas quizzes about course content and readings.

Canvas Discussions

You will be expected to discuss each week's readings with your classmates using the Canvas Discussions feature. In this class we will learn how to have insightful and productive discussions with each other, and the canvas discussions portion of your grade will be determined by how well your discussions demonstrate the things we learn.

Block Projects

The semester will be split into 5 blocks of similar topics. In addition to the weekly activities, you will be expected to complete a programming and/or written project for each block.

Final course grade

See "Critical Information" above.

Late policies

For Canvas Discussions, no late submissions are accepted.

For Class Participation, if you were in class but unable to submit due to a technical error, we will accept late submissions the evening of class, and possibly later in exceptional circumstances (feel free to ask).

For Block Projects, we will accept late submissions up to 3 days after the deadline with a deduction of 10% of the max points. If you have some exceptional circumstance, contact us and we can discuss further.

Letter grades

The following table is used to associate numerical scores with the corresponding letter grade.  Note the lack of rounding.

93 ≤ X ≤ 100 A
90 ≤ X < 93 A-
87 ≤ X < 90 B+
83 ≤ X < 87 B
80 ≤ X < 83 B-
77 ≤ X < 80 C+
73 ≤ X < 77 C
70 ≤ X < 73 C-
67 ≤ X < 70 D+
63 ≤ X < 67 D
60 ≤ X < 63 D-
X < 60 E

Getting Help

To get help understanding course material, students may see the Teaching Assistant(s) during TA Help Hours, see the instructor during Office Hours, or canvas message or email the entire course staff (make sure to email all three of us for prompter and more accurate responses).

Policies and Guidelines

Laptop and mobile device policy

Students are expected to engage with the instructor and classmates during class meetings. Most activities will be verbal or require writing on a (provided) piece of paper. Laptops and mobile devices are permitted only when instructed, and only for in-class activities.

ADA statement

The University of Utah seeks to provide equal access to its programs, services and activities for people with disabilities.  If you need accommodations in the class, reasonable prior notice needs to be given to the Center for Disability & Access, 162 Olpin Union Building, 801-581-5020.  CDA will work with you and the instructor to make arrangements for accommodations. 

All written information in this course can be made available in alternative format with prior notification to the Center for Disability & Access.

Academic Misconduct

It is the student’s responsibility to be familiar with the policies regarding plagiarism and academic honesty under the University’s Code of Student Rights and Responsibilities and the School of Computing’s Policy on Academic Misconduct. If you are unsure, please check with the instructors. There is ZERO tolerance for plagiarism and academic dishonesty in the course. Any assignment in which academic misconduct is detected will receive 0 points, and the incident will be reported to relevant university administrators. If a second instance of academic misconduct is detected harsher penalties will be imposed, including but not limited to receiving an F grade for the whole course. 

Class Discussion

Students must read, understand, and follow the guidelines for class discussions.

Discussion threads, emails, and chat rooms are all considered equivalent to classrooms, and student behavior within those environments shall conform to the Student Code. Specifically:

  • Photos or comments that would be off-topic in a classroom are still off‐topic in an online posting.
  • Disrespectful language and photos are never appropriate.
  • Using angry or abusive language is not acceptable and will be dealt with according to the Student Code. The instructor may remove online postings that are inappropriate.
  • Do not use ALL CAPS, except for titles, or overuse certain punctuation marks such as exclamation points and question marks.
  • Course e-mails, e-journals, and other online course communications are part of the classroom and, as such, are University property and subject to the Student Code. Privacy regarding these communications between correspondents must not be assumed and should be mutually agreed upon in advance, in writing

Other polices and guidelines 

Students are bound by the following policies and guidelines:

Students should read and understand each of these documents, asking questions as needed.

Student mental health resources

Rates of burnout, anxiety, depression, isolation, and loneliness have noticeably increased during the pandemic.  If you need help, reach out for campus mental health resources Links to an external site., including counseling, trainings and other support.

Consider participating in a Mental Health First Aid Links to an external site. or other wellness-themed training Links to an external site. provided by our Center for Student Wellness and sharing these opportunities with your peers.

1Mueller, P. A. & Oppenheimer, D. M. (2014). The pen is mightier than the keyboard: Advantages of longhand over laptop note taking.  Psychological Science, 25(6), 1159-1168. doi:10.1177/0956797614524581.