CSC321.01 2015F, Class 11: Ethics, Revisited
Overview
- Preliminaries.
- Admin.
- Upcoming Work.
- Extra Credit.
- Questions.
- Writing prompt.
- Three articles.
- Open questions.
- Possible approaches to prompt.
Preliminaries
Admin
- Guest lecturer: S.S.S. Since I was already filling in for Rebelsky in
CSC 301 and regularly serve as a professional algorithm consultant,
Rebelsky thought I should also lead today's discusison.
- Rebelsky apologizes for missing class last week. (He was out of it
enough that he slept from 9am to 5pm and then again from 9pm to 7am.)
- Rebelsky also apologizes for screwing up the Web site again and again
and again. He clearly needs to think more about professional
responsibilities.
- Your assignment for the coming week:
- The essay in the week 10 thing. (The due dates are now updated.)
(This is individual work.)
- Read Chapter 9.
- Legacy HW 1 is due the Tuesday after Turkey break. You should start
it this coming week.
- Partners: SZ&AM, HD&EG, ZW&RJ, AH&DK, LG&NS, RG&TD, EB&DC,
MO&ZC, BC&AO, EE&AD.
- Folks affected by Rebelsky's lack of updates
- Slightly confused: BC, EE, EG, LG, RG, AH, AO, NS
- Very confused: EB, DC, ZC, TD, AD, RJ, DK, AM, MO, ZW, SZ
Questions
Writing Prompt
Write a short essay reflecting on the ethics of engineering software as
a service, due November 24.
Parameters
- Address your question from the perspective of a software engineer or entrepreneur (not a user).
- Write approximately 400-800 words. Your essay should be tight: Don't waste words!
- Cite at least two of the assigned readings (from the two sets of readings) and at least three additional sources.
- Your additional sources could be our textbook or a reading from another, relevant class.
- Your additional sources could be a research article, magazine article, news article, or even a substantial blog post. The ACM magazines are all good sources, depending on your topic of interest.
- Use APA or ACM style for your citations.
- Use a 10-12 point font and double spacing (about 2-3 pages). Do not use a separate cover page.
- Submit the final version of your essay via email to me by 11:00 p.m. on November 24.
- You will have the opportunity to revise your essay once during finals week.
- I will retain a copy of the final version of your essay for the departmental
discussions on writing in the CS curriculum and ethics in the CS curriculum.
Selected Articles
Computing Ethics: Why Software Engineering Courses Should Include Ethics Coverage.
- "Ethical judgment, what philosophers often call practical wisdom, is needed most when moral dilemmas arise for which there are no easy solutions". Pg 25 column 1.
- The title is pretty descriptive.
- It's important.
- Everyone expects you to know.
- Computing conveys power. LOTS of power. With great power comes
great responsibility.
- No one else is there to do the ethics for you.
- The work you do can affect the world (and effect the world)
The Ethics of Software Engineering Should Be An Ethics For The Client.
- "The developing nature of software engineering requires not a revision of an ailing code but a revolution in ethical thinking that acknowledges the purpose and practice of software engineering." Page 39, bottom middle column. (x2)
- "We should consider software engineering as a communicative art where engagement with the client is at its heart and an understanding of the tasks, goals, and moral concerns of the client leads to the development of software that is appropriate to the client’s needs."
- You need to engage with the client.
- Feels a bit like applying the agile mindset to ethics.
Computer Experts:Guns-for-Hire or Professionals?
- "What is the state of the field of computing now and where should it go?"
- "Whether the field of computing evolves to come closer to the paradigm of a profession (or not), whether computer experts choose to see themselves as guns-for-hire (or not), computer experts must act so as to be worthy of public trust." Page 26, middle column, last paragraph. (x2)
- Unlike real professionals, CS professionals don't have the same kinds of
standards or organizations.
Issues to Discuss
What is one question arising from these articles that you'd like to discuss during class?
T: If ethics is really important to understand, why don’t we learn
more about it at school? Where in the Grinnell curriculum (or at least
the Grinnell CS curriculum) does consideration of ethics belong?
- Claim: A liberal arts education naturally gives you good foundation
because you end up thinking about humanistic issues throughout all
your courses.
- May not include formal ethics.
- An important aspect of almost any liberal arts education is that
you learn to put yourself in the place of the other.
- Because of the individually mentored curriculum, not everyone at
Grinnell necessarily gets this experience.
- And we often divorce our courses from the real world.
- We have ethics in this course. Isn't that enough?
- What are the ethics of quicksort?
- Only two weeks?
- CS table is regularly about ethical issues.
- But we don't have things to rely on.
- Disconnected and therefore easy to ignore.
- It should be something like commenting your code ... something
you do at every step of the way. Maybe consider an ethical
issue as part of every assignment?
- Include ethical issues in the introductory sequences
- It's tricky - What kinds of ethics do we consider - business, math,
ee?
- Do we teach a code of ethics and if we do, do we promote our own
code of ethics?
- A code of ethics is less important than the skills for thinking through
the ethical issues of a new problem.
- What's the relationship between ethics and morality? Ethics is
broader - it's associated with a community. Hopefully your personal
moral code and the greater community ethical code dovetail.
- Some students are taking internships after 151 and 161, won't they
need ethical knowledge for those internships?
- Suggestion: Make assignments with ethical grey areas. (E.g., privacy
issues.) (But it should be a fake ethical situation.) Perhaps do them
as "gotcha" style things: Did you think about this? Maybe.
- AI ethics and software engineering ethics are somewhat separated.
- Solve with self gov - Encourage yourselves and each other to consider
ethical issues.
- Reinforcement of the idea that "We have to use the skills to analyze
the ethics of this brand new situation."
X: Should the creators of the Les Paul Google doodle or other addicting
pieces of software be responsible for the time people wasted on their
creation? How much thought should go into creating a distraction
and where is the line drawn, (are video games un-ethical because of
‘wasted time?’) What is considered ‘wasted time’ and why is
it the programmer’s responsibility to keep track of it? Are things
created for the purpose of being distracting un-ethical?
- Question: What else could the programmers have been doing with the
time it took to build it?
- Isn't this an artistic thing, and isn't art worthwhile?
- There's always something else you could be doing with your time?
- Do we need this utilitarian approach? Should we impose a utilitarian
perspective on others.
- How is this different than watching a movie?
- Luis von Ahn's work on gaming for good ....
- We need to be able to recharge. And providing something that allows
people to recharge is valuable.
Y: I am wondering to what extent having some sort of central power in
programming is necessary. If everyone has their own preferences and
practices when it comes to . . . well, almost everything in developing,
does that negatively effect our ability to communicate effectively
when it comes to ethical practices? To me, it seems that there are
many different practices out there, and that the different programming
ideologies are problematic for collectively forming standards. Perhaps
we can form “what should or should not be done,” but how heavily
is that question influenced by the background and preferences of
each programmer? Additionally, there is the even more forward looking
question. The guys who worked on some of the technology for the atom
bomb did not necessarily know that their efforts were contributing to
such a horrific use case—they were heading towards nuclear energy,
perhaps. Could the same be said for developing software practices,
and how does this change our perception of ethics in the software
community? (Especially open source).
- Centralized authority is important because ...
- It gives you a place to turn to in problematic situations (e.g.,
whistleblowers)
- We already choose to accept centralized government
N: As we think about professionalism in computing, how do we deal with
the issue that many people (most?) who write programs have not had
significant formal training in programming?
W: Has there been any progress (either in discourse or in terms of actual
conclusions) in this debate? One article is from '08, another from '12,
and another from last year-- and they all seem to talk about the same
thing, namely the need for further discussion about ethics in computer
science. Six years is a really long time for the same debate to go on
about what is apparently the exact same talking point.
Z: While reading the "Computer expert: Guns-for-Hire or
Professionals?" article, I constantly thought about the freelancers. Are
those group of computer scientist who work on a contract to contract
basis and sometimes chose the highest bidder by the definition stated
in the article categorized as "Guns for hire".?
V: How is computer science different from other fields? Why do we need
a specialized code of ethics? There are a myriad of other industries
that have equally large reaches, can there not be a common code of ethics?
U: How should ethics be taught to computer scientists? What is necessary for ethical work in the field, and what is not ? Should the ethical standards of computing experts be higher than those which are not computing experts ?
S: What do we think of a positive more holistic code of ethics?
R: There's an argument that computer science is in need of a liberal arts education component for instilling humanity within computer scientists: for the majority of computer science undergrads that do not experience a liberal arts education, what is a solution for an institutionalized focus on humanities?
Paper Planning
What might you or your colleagues write about related to the prompt
"Write a short essay reflecting on the ethics of engineering software as
a service, due November 24."
- Data mining and big data.
- Security of different kinds of user information.
- Should SaaS developers have certification exams?
- What responsibility does a developer have to share their source code with
the client?
- Ethics of working with other people.
- Ethics of developing software for pornography or dating apps or ....
- Conducting experiments using your SaaS platform.
- Kinds of SaaS as a public good.
- How do we educate SaaS developers to consider these issues?
- Ethics of uncommented or badly written code.
- Issues in your community.
Other issues