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.

Practice submitting discussion questions and responses to the Reading log on Moodle.

Survey of potential senior projects. Two possibilities I am aware of are (i) creating databases and/or web interfaces for the Nature Conservancy; (ii) implementing algorithms for scheduling tutoring sessions in the Dickinson writing center. Please let me know if you're interested in these possibilities and I will send you more details.

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. This lab is ungraded.

Individual discussions of potential project topics if desired.

Class 2: September 7

Required reading: Excerpt from Chapter 3 of Ian Somerville, Software Engineering (6th Edition), 2001 (available on Moodle). Don't forget to submit your two discussion questions to the Reading log forum on Moodle.

The main activity of the class is the Detecting Plagiarism lab to practice iterated waterfall design.

Following the lab, we will have a brief discussion on the reading. Remember, you must bring a copy (physical or electronic) of the reading to class.

Class 3: September 11

Required reading: Quinn Ch 2. [cancelled due to ill health]

Special event: September 11, 7pm

Clark forum event: the Ravi/Clementi Case. Attendance required. Will be discussed at next class.

Class 4: September 18

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).

Class 5: September 25

Project presentations.

Details of the literature survey assignment are now available.

Class 6: October 2

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).

Note that there is no single ideal structure for a design document. the content and structure depend on the type of system being described. Here are some examples of, and templates for, design documents:

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

Class 7: October 9

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

Today's handout: Professional Ethics Summary.

Announcement: the code review assignment is now available.

Class 8: October 23

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.

Please take the mid-semester survey.

Class 9: October 30

Canceled due to storm

Class 10: November 6

Code review.

Class 11: November 9

Required reading (both papers are available on Moodle):

Class 12: November 20

Required reading: Quinn 3.4-3.7.

In-class activity: Spend a few minutes searching the web to find an example of Internet censorship by a country other than China. Post a link to the example you have found to today's Moodle forum (not the reading log). Be prepared to describe the example to the rest of the class.

An interesting report, called Freedom on the Net 2012, authored by an organization called Freedom House.

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

Class 13: November 27

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