CSCI 494: Social and Ethical Issues
Social and Ethical Issues
Spring 2017
Thomas VanDrunen
Meeting time: Tu 8:30-10:25am.
Meeting place: Meyer Science 131
Office hours: MTuWF (not Th) 3:30-4:30 pm; Th 9:30-10:30 am and 1:00-3:00 pm.
Contact: 163
Science; 752-5692;
Thomas.VanDrunen@wheaton.edu
Syllabus
Details and due dates for the term paper
Other interesting papers and articles
Final exam: Tues, May 2, 8:00am
Schedule
Note that the readings listed are assigned for that date to be discussed
in class.
Send me a summary/response no later than 8:00pm the night before.
Full bibliographic information for these readings can be found
in the course packet or
in this bibliography.
Page numbers below refer to the pagination of the readings in the course
packet, not in their original publication.
(Jump to current assignment)
Jan 10. Computer science and personality, part 1.
Levy, Hackers, chapter 1: "The Tech Model Railroad Club",
pg 4-15.
Levy's book is a sketch of some of the personalities in the early
days of the hacker community.
In this first chapter, Levy traces the origins of hacker culture to
a student model railroad club at MIT.
We're using this to begin a discussion about the personality types
of people who have traditionally been drawn to computer science.
This reading is also the first in a recurring theme this semester
about the culture of the hacker community.
- Are self-motivated learners more likely to be interested
(or successful) in computer science (as opposed to other
areas of study)?
- Is personality less of a factor today than in the time Levy was
writing about for what kind of person is attracted to computer science?
For example, do (or can) games, social media, apps, etc attract a
more diverse group of people to computer science?
- Do you have a sense of belonging in computer science?
- Do you observe a "logical mind-frame" spilling into other
areas of life (either in yourself or in other computer people)?
Jan 17. Computer science and personality, part 2.
Weinberg, The Psychology of Computer Programming, chapter 8:
"Personality Factors," pg 16-26.
Pausch, The Last Lecture, chapters 4-6, "The Parent Lottery", etc,
pg 27-34.
Weinberg's book is a classic about, well, the psychology both of
the activity of computer programming and of those who practice it.
I think chapter 8 gets at the core of the book;
it at least is what's most memorable for me.
Pausch was a computer science professor at Carnegie Mellon University
before his death from pancreatic cancer.
An autobiographical "last lecture" he gave in 2007
has gotten
more than 18 million views on YouTube
and was adapted into book form.
By picking these three chapters I hope to give you a representative sample
of the book's contents.
Together these readings will allow us to continue our discussion
on computer science personalities.
- What methodological differences between computer science
and other fields (for example, how easy it is to
inspect and attempt to replicate an experiment) may affect the
personality traits of computer scientists?
- Is a certain kind of stress (the "fix this bug by Thursday" kind)
inherent to the practice of programming, or is that an
artifact of bad management?
- How can a computer scientist achieve the balance between
humility and assertiveness (both taking pride in one's work
but not being emotionally attached)?
- Do any personality traits fit better or worse with any
particular programming methodologies?
(For example, is humility necessary for code reviews?)
- Does corporate culture affect programming methodologies?
- Is a future computer scientist more likely to want to
paint on her bedroom walls?
(Or, play with Legos, keep one's folders organized,
look things up in the dictionary during dinner...?)
Jan 24. Computer science education.
Dijkstra, "On the cruelty of really teaching computing science", pg 35-64.
Harvey and Wright, preface to Simply Scheme, pg 65-72.
Gabriel, "Master of fine arts in software," pg 73-75.
I think you know that Dijkstra has influenced my thinking about computer
science and how I teach it.
Now you can hear about it from his own words (and in his own
handwriting).
Dijkstra's ideas are more respected than followed---even by me.
The preface to the textbook Simply Scheme is a concise example
of an explicitly contrarian view (right out of "hacker culture").
We'll be hearing more from Dijkstra later this semester.
Gabriel's proposal for a Master of Fine Arts in Software is
part of a different conversation, but I added it here because it is
also about computer science education.
We'll be hearing more from Gabriel, too.
- Are appeals to intuition and metaphor bad (inherently misleading)
for learning about "radical novelties" like computers and programming?
- Are the terms software engineering,
software maintenance, and artificial intelligence
(and the concepts they represent) as bad as Dijkstra considers them?
- What would the hackers from Levy's book think of Dijkstra's
approach to computing and computing education?
- Are calling program errors bugs and anthropomorphising
pieces of code (pg 55) as bad as Dijkstra makes them out to be?
- Evaluate the feasibility and merits of Dijkstra's proposal
for an introductory computer science course.
- How fair is Harvey and White's characterization of
traditional (software-development oriented, non-radical)
computer science instruction?
- Even though Harvey and White openly mock Dijkstra, at
some level aren't they really saying the same thing?
- Is your teacher an uptight authoritarian?
(I won't take it personally.)
- Does Gabriel's proposal for an MFA in Software have
a chance of being implemented? Why not?
Jan 31. Computer science and women.
Margolis, Unlocking the Clubhouse, chapters 1, "The Magnetic
Attraction", and 4, "Geek Mythology", pg 76-93.
Kihlstrom, "Men are from the server side, women are from the client side,"
pg 94-105.
Why are there so few women in computer science?
Other STEM fields---see mathematics and biology in particular
here at Wheaton---have made
great gains in attracting female students.
What's wrong with us?
This podcast episode
suggests it wasn't always like that and points to specific
things that may have discouraged women from joining the field.
It refers to Unlocking the Clubhouse, which is one of the most
well-known works that addresses this question.
Kim Kihlstrom, who wrote the other piece we're reading, was a CSCI professor
at Westmont College and
was a leader among CSCI faculty at Christian colleges.
(She passed away in 2008.)
- Which of the following things that have been suggested about
differences between males and females are valid, and
to what extent have they (or their perception)
affected the low rate of female
representation in computer science?
- Males tend to be more attracted to tinkering than females are.
- Males tend to have more confidence, whereas females need more
affirmation.
- Males are more "functional", females are more "relational."
- Males like video games and Legos more than females do.
- Males are more likely to have a myopic fascination with something
than females are.
- Do you resonate with any of the stories of students interviewed
in the Margolis chapters?
- Has computer science as a field suffered as a result of
the lower representation of females (such as, from a less rich
range of perspectives)?
- What is your vision for a more female-friendly computer science?
Feb 7. No class. Faculty development day.
Feb 14. Computer science and power.
Abelson and Sussman, introduction to Structure and Interpretation of
Computer Program, pg 106-107.
Weizenbaum, Computer Power and Human Reason, chapters 1,
"On Tools", and 4, "Science and the compulsive programmer", pg 108-130.
SICP is one of the most respected introductory programming texts
(again, more respected than used).
Reading this introduction continues threads from CSCI ed and
hacker culture (Sussman is one of the personalities in Levy's book).
What sticks with me is the brazenness of their comparison of programming
with sorcery.
Weizenbaum, who observed the early days of hacker culture firsthand,
was one of the first people to articulate concern about what
the power of computer programming does to people.
- To what extent is the analogy between programming and sorcery valid?
If valid, does it indicate something bad or dangerous about programming?
- Are Weizenbaum's general points about tools (prosthetic vs non-prosthetic
tools, the clock changing our understanding about time,
the rejection of direct experience) helpful?
- In some ways technologies affect the culture they come to;
in other ways, we can see technologies as products of the cultures they
appear in.
Which tendency is stronger?
- Did computers arrive "just in time"? What would the
second half of the 20th century
have been like without them?
- What are some examples of the enhancement of a process exposing
the process's weakness?
- Fred Brooks talks about software as being an infinitely flexible medium
for creative expression.
Weizenbaum talks about the programmer creating new worlds of which
he or she is the master.
Which is the better way of thinking about it?
(Or, do they each capture part of the truth?
Or, are they both wrong?)
- Is the progression from programmer to creator to omnipotent to
corrupt to compulsive an accurate description of programming gone wrong?
(And is it as bad as the progression from nouns to adjectives in the same list?)
- Evaluate the comparison between the compulsive programmer and
the compulsive gambler.
- Evaluate the contrast between the compulsive programmer and
the professional programmer.
Feb 21. The ethics of hacker culture.
Levy, Hackers chapter 2, "The Hacker Ethic", pg 131-136.
Various essays by the Free Software Foundation and/or Richard Stallman,
pg 137-147.
Crisman, "Open Source Software and Christian Thought", pg 148-158.
As one of the first observers of hacker culture, Levy also noticed
that this culture has a distinct ethical philosophy.
The most important contemporary expression of this
ethic is in the open-source/free software movement,
and it spills over into the entire debate about intellectual property.
Karl-Dieter Crisman, a math professor at Gordon College (a Christian
college in Massachusetts), gives a Christian assessment.
- Is it inherently ethically necessary that people have the freedom
to tinker and to have access to information, such as source code?
- Is "the best way to promote free exchange of information" to have
decentralized systems without imposed or bureaucratic authority?
Or is such authority necessary to direct group efforts toward
useful ends?
- What examples of using computers to create art and beauty and to
change peoples lives for the better make you excited about computer science
(or programming, or hacking, or software development)?
- If everyone could interact with computers with the same
innocent, productive, creative impulse that hackers did,
would the Hacker Ethic spread through society like a benevolent ripple?
- Are unfree programs inherently unethical?
Does proprietary software tend toward malware?
- Is violating copyright law the moral equivalent of raping and pillaging
on the high seas?
- Is it unjust to pressure someone to use Skype (since it it has nonfree
Skype client software)?
- In what ways is the hacker ethic opposed to biblical ethics?
- What "common grace" insights does the hacker ethic have?
- Is there such a thing as intellectual property (inherently, in God's moral law)?
Feb 28. The production of software, part 1.
Raymond, The Cathedral and the Bazaar, chapters 1, "A brief
history of hackerdom", and 2, "The Cathedral and the Bazaar",
pg 159-188.
More from hacker culture.
Eric Raymond's original essay and the book that sprouted from it
are a classic.
For our present purposes, I am most interested in what it says about
how software should be produced.
The readings on software development are fairly long,
so I've split them into two weeks.
- Is constructive laziness an essential attribute of a great programmer?
- What programmers do you admire? (I've heard of students getting this
question in a job interview.)
- Could the bazaar model work for software without geek-interest, for example
photo/video/music-editing software?
- Could the bazaar model work for a very large project from scratch,
without initial scaffolding?
- How can one monetize a bazaar-model project?
How can programmers working on a bazaar-model project be compensated
for their work/time?
- Is Raymond's "Management Maginot Line" argument valid?
- Is the cathedral model or the bazaar model inherently better?
Mar 7. No class. Spring break.
Mar 14. The production of software, part 2.
Gabriel, "Mob Software," pg 189-204.
VanDrunen, "A Christian Analysis of 'Mob Software'", pg 205-226.
Gabriel's email to me in response to "A Christian Analysis", pg 227.
I heard Gabriel's essay in person when he gave it as a keynote address at
OOPSLA 2000.
It prompted a lot of thinking on my part, and eventually it led to my
Faith and Learning Paper, part of the tenure process here at Wheaton.
Sorry it's so long.
You'll be able to see how the research I did for that paper lead me
to many of the things we're reading about in this course.
- Is Gabriel's vision of mob software feasible?
- Is my analysis of Gabriel's presuppositions/worldview fair?
- In what ways are Gabriel's claims about software production
a working out of his presuppositions?
- Are there any limitations to the extent Christians can participate
in "mob software" in good conscience?
Mar 21. Design.
Norman, The Design of Everyday Things, chapter 1, "The psychopathology
of everyday things, pg 228-244.
Gabriel, "Worse is better," pg 245-248.
Brooks, The Design of Design, chapter 4, "Requirements, Sin, and
Contracts", pg 249-254.
Huttenlock, "Establishing a Framework for Evaluating Technology",
pg 255-267.
This topic follows closely on the production of software.
Norman's book on design, especially bad design, is a classic that gets
quoted a lot in CSCI circles, especially in the context of user interfaces.
The Gabriel piece is the "famous part" of a longer talk he gave, and
it's what he's most known for.
You've all read Brooks's The Mythical Man-Month;
this chapter is from a more recent book on software (and other) design.
Brooks is a Christian, and it's interesting to see how his faith shapes his
thoughts here.
Finally, Terry Huttenlock works in Buswell Library;
her Faith and Learning Paper also gives a Christian perspective on
technological design.
- What are some really good examples of bad design around you,
either in everyday things or in software?
- Are we ethically obligated to do good design?
- Is worse better?
- Is the fall the reason why the waterfall model persists?
Or would the waterfall model work better if it were not for sin?
Mar 28. Skepticism of technology.
Stoll, Silicon Snake Oil, chapter 2, "An amalgam of popular fictions...",
pg 268-281.
Carr, The Shallows, chapter 1, "HAL and me", pg 282-288.
Postman, Technopoly, chapter 1, "The judgment of Thamus,"
pg 289-298.
I'm a bit of a Luddite at heart.
We've got to spend some time looking at those who refuse to get on
the bandwagon of computers, the internet, digital publishing, technology,
whatever.
Two of these are from the nineties, so we have the opportunity to see how
well they've endured the test of time.
- What do we lose (in commerce, reading, relationships, etc)
in the computer/internet/smartphone revolution?
- What is the real lesson in Stoll's Chinese astronomer story?
- Will computers ever replace boogie-woogie music?
- Do you think differently because of your use of search engines,
hyperlinks, etc?
- How can a person enjoy the benefits of jetski reading but
retain the ability to scuba-dive read?
- Has the computer raised ego centrism to the status of a virtue? (Pg 296)
April 4. Defining the field of computer science, part 1.
Dijkstra, "The Humble Programmer," pg 299-314.
Dijkstra, "My Hopes of Computing Science," pg 315-321.
Our excuse for reading these Dijkstra classics is the question,
What is the field of computer science?
- Is Dijkstra's description of the humble programmer---that programming
is an unglamorous, less visible practice---still true today?
- Does Dijkstra exemplify the humble programmer?
- Dijkstra says, "The only effective way to raise the confidence
level of a program significantly
is to give a convincing proof of its correctness."
Do modern testing tools (unit testing frameworks, automated regressing testing,
model checking analysis) mitigate that claim?
- Is the ability to write "one-liners" (see pg 310-311) a desirable thing
for a programming language?
Dijkstra says, "I must regard this as one of the most damning things
that can be said about a programming language."
- What are your hopes for computing science?
April 11. Defining the field of computer science, part 2.
Denning, various papers from CACM, pg 322-341.
Over the course of about ten years, Peter Denning
(a leader in computer science for many decades) talked about
how to understand computer science as a field.
- Is computer science [a] science? Is that even a fair or relevant question?
- What is the difference between computer science and IT?
Or between computer science and computer engineering?
- Should a related major (IT, software development, computer engineering,
etc) be taught in the same department as computer science?
- Design your own undergraduate computer science curriculum.
April 18. Computer science and faith.
Knuth, Things a Computer Scientist Rarely Talks about, chapter 6,
"God and computer science," pg 342-358.
Schurrman, Shaping a Digital World,, chapter 1, pg 359-367.
I hope we have been talking about computer science and faith this
entire semester (and this entire major).
But here are two pieces that explore the intersections explicitly.
One of them is by a giant in the field who is a believer but not
an Evangelical (I'm quite sure he wouldn't be able to sign
Wheaton's Statement of Faith) to a secular audience.
The other is by a computer science professor from a Christian college,
mainly written to Evangelicals.
- What theological insights can we get from programming
(or other aspects of computer science)?
- What theological problems does limiting God's infinity (even with
a "very large finite number" concept like "Super K")
induce?
- Is technology neutral?
- Does the fact that computers have changed the world
prove that computers aren't neutral?
- Are the four responses to technology listed by Shurrman
(adapting Niebuhr's responses to culture) a valid framework
for thinking about how Christians have or should think about technology?
April 25. Computer science connections.
Hofstadler, Godel, Escher, Bach, chapter 1, "A musico-logical offering,"
pg 368-410.
We have to read something from GEB.
Thomas VanDrunen
Last modified: Wed Apr 19 16:33:49 CDT 2017