Resources for COMP492
Class 1: January 20
Discussion of syllabus. Course highlights.
Design pattern lab (see the assignments web page).
Class 2: January 29
Instructor-led discussion.
Required reading:
- Quinn Ch 2 ("Introduction to Ethics"). You can skim most of this
chapter; you are not required to be an expert on philosophy for this
course. Do read sections 2.7 and 2.8 carefully -- these are about
act utilitarianism and rule utilitarianism, which are relatively
easy to understand and apply.
- Richard G. Epstein, The Case of The Killer Robot,
1996. We will use
the online
version published by the Online Ethics Center of the National
Academy of Engineering. An expanded version is also published as a
book: Richard G. Epstein, The Case of The Killer Robot, John
Wiley and Sons, 1996.
Summary of ethical theories and professional ethics.
Class 3: February 3
Project work day.
Class 4: February 10
1. Joanne's discussion on computers and
sustainability. Required reading is listed
in Joanne's
Moodle post (look for Tuesday, February 3, 2015, 6:19 PM)
2. Mark's discussion on computer security. Required reading is
listed in
Mark's Moodle
post (look for Tuesday, February 3, 2015, 1:24 PM). In addition to
following the links, make sure to read the article attached to that
post: The Threat of Advancing Cyber Crimes in Organizations:
Awareness and Preventions, Anil Kumar and Jaini Shah,
International Journal of Advanced Research in Computer Science, 5(8).
Class 5: February 17
1. Mia's discussion on computer vision. For the required
reading, see
her Moodle
post from Monday, February 9, 2015, 10:45 PM. Don't miss the PDF
attachment, from Szeliski's computer vision book.
2. Kevin's discussion on encryption. Required reading:
- Book chaper: "An Introduction To Encryption And Security
Management." Secure Communications (2002): 25-59. Applied Science &
Technology, 9 Feb. 2015. Read only pages
38-54. Available
online from Dickinson library (I think you need to be on the
campus network for this to work).
- Two Wikipedia articles:
- 5 newspaper articles:
As mentioned in class, our textbook covers some examples of the US
government trying to control the use of encryption via legislation and
regulation: the "clipper chip" (section 5.11.4) and restrictions on
the export of cryptographic software (section 5.11.5)
Class 6: February 24
Code review -- see the assignments page.
Class 7: March 3
1. Kirsten's discussion on professional ethics and
patents. For the required reading, see
her Moodle
post from Tuesday, February 24, 2015, 10:07 AM. Don't miss the PDF
attachment to this post.
- And for a completely optional but amusing extra, check out Drew
Curtis's TED
talk, How
I Beat a Patent Troll (6 minutes). Lawrence Lessig has a great
TED talk on software patents too, but it's 18 minutes long. Anyone
have time to watch that??
2. Soo Jin's discussion on intellectual property and piracy. Required reading:
Class 8: March 17
1. Xin's discussion on social networks.
Required reading:
2. Matt's discussion on malware. Required reading:
Class 9: March 24
We will have Matt's postponed discussion (see above for details), and
the remaining time will be for work on senior projects.
Class 10: March 31
Instructor's discussion on trust and computer systems:
- The required reading is the classic paper by Ken Thompson,
entitled Reflections on trusting trust. This paper was
actually the lecture given by Ken Thompson when he accepted the
Turing Award. It was also published in the Communications of the
ACM, August 1984, Volume 27, number 8, pages 761--763. A copy of
this copyrighted article is available on Moodle. A full copy of the
program presented by Thompson in Figure 1 of the paper is also
available: thompson-program.c
(actually, this is a simplified and adapted version of the program
but uses the same ideas).
- We will do an ungraded minilab in class. In addition to the
above thompson-program.c we may
also use the following tools for working with self-reproducing
programs: self-rep-tools.zip.
- As usual, you are required to post two discussion questions about the reading.
Class 11: April 7
Individual work on posters and/or project code and/or project report.
Meet with instructor as necessary to make progress on these tasks.
Class 12: Wednesday, April 15
Note that there is no Tuesday class this week. Instead, you're
required to present at the science symposium on Wednesday, April 15.
Class 13: April 21
This class will consist of two separate discussion sessions led by the instructor:
- Professional ethics for software engineering. Required
reading: Quinn chapter 8, "Professional Ethics." The
handout Summary of
ethical theories and professional ethics may also be useful.
- Classic paper discussion: Have we fulfilled Vannevar Bush's
vision? Required reading: Vannevar
Bush, As
We May Think, Atlantic Magazine, July 1945.
Class 14: April 28
This class will take the form of an afternoon tea party, from 4PM to
5PM, at the instructor's house (details sent via email). The
attendance policy will not be in effect, but I do hope everyone will
be able to make it! Optional reading: the classic 1959 talk about the
future of computing by Nobel-winning physicist Richard
Feynman, There's
Plenty of Room at the Bottom (this talk has its
own Wikipedia
page too). The reading is optional. You are not required to submit
discussion questions.