Resources for COMP 491 and 492

Notation: Section numbers (e.g. 4.3, 5.2.1) refer to the textbook (Quinn's Ethics for the Information Age). References such as A1, A2 refer to Assignment A1, Assignment A2, and so on.

Class 1: August 31

Brief introduction to the course, including survey of potential senior projects.

Description of test-driven development (the Wikipedia page on test-driven development contains some basic information). The official JUnit page is a good place to start for using JUnit -- in particular, the JUnit Cookbook contains a simple, brief tutorial. Note that Eclipse lets you automate many aspects of JUnit, so make sure to read about this, experiment with it, and don't hesitate to ask for help from the instructor or your classmates.

DNA splicing lab to practice test-driven development.

Class 2: September 7

Required reading: Excerpt from Chapter 3 of Ian Somerville, Software Engineering (6th Edition), 2001 (available on Moodle).

Lecture and discussion on the reading. Remember, you must bring a copy (physical or electronic) of the reading to class.

Plagiarism lab to practice iterated waterfall design.

Class 3: September 14

Required reading: Ch 2.

Class 4: September 21

Project presentations.

Announcements:

Class 5: September 28

Dilbert.com

Required readings:

  1. Excerpts from Chapter 5 of Ian Somerville, Software Engineering (6th Edition), 2001 (available on Moodle).
  2. Chapter 11 of Steinberg and Palmer, Extreme Software Engineering, 2004 (available on Moodle).

Lecture and discussion on the readings. Remember, you must bring a copy (physical or electronic) of the reading to class.

Our interactive discussion will include thinking about the requirements for John's iPhone app and George's web app. To help remind us about these two projects, John and George have graciously agreed to make their project proposal slides available:

Class 6: October 5

Required readings:

  1. Lilian Burdy, Yoonsik Cheon, David Cok, Michael Ernst, Joe Kiniry, Gary T. Leavens, K. Rustan M. Leino, and Erik Poll. An overview of JML tools and applications. International Journal on Software Tools for Technology Transfer, 7(3):212-232, June 2005. A preprint version of the paper is available online.
  2. Passing the Word: Chapter 6 of The Mythical Man-month by Fred Brooks, originally published by UNC Chapel Hill, 1975; 20th anniversary edition published by Addison-Wesley, 1995. (Available on Moodle).

In class, we'll take a brief look at how JML can be used in our JML minilab.

Class 7: October 12

Required reading: Quinn, Chapter 8 ("Professional Ethics").

Class 8: October 26

Required reading: 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.

Class 9: November 2

Code review.

Class 10: November 9

Project work day.

Class 11: November 16

Dilbert.com

Required reading: Quinn 3.4-3.7, plus some Internet research described below. Prepare and bring to class typed or written answers to the following discussion questions. (The answers won't be graded. Informal, brief notes are fine but they must record specific answers to the questions backed up by evidence.) The discussion questions are:

Required internet research: Use some web research to answer the following questions. In each case, try to find a reliable source and bookmark your source so that you can display it in class if asked to do so. (Note: Scholarly sources are not required. Journalistic articles from established newspapers and news organizations are more reliable than blogs. Blogs affiliated with an established news organization are more reliable than unaffiliated blogs. Wikipedia and similar sources may or may not be as reliable as journalistic sources -- the quality of the information must be assessed carefully on a case-by-case basis. Be prepared to explain why you believe your source is reliable.) Questions:

  1. Which Western democracy has seriously considered using nationwide Internet censorship in the last two years? What type of censorship was proposed? Is the censorship likely to be implemented?
  2. Which country recently reinstated a ban on YouTube? What were the reasons behind the country's initial ban on YouTube?

Two useful links for the class, related to Google's self-censorship in China:

Class 11: November 16

Required reading: Quinn Chapter 4. Note: This reading is longer than usual (54 pages). It is dense and important material. Please start early. Thanks!

Prepare and bring to class typed or written answers to the following discussion questions. (The answers won't be graded. Informal, brief notes are fine but they must record specific answers to the questions backed up by evidence.) The discussion questions are: