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.
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.
Announcements:
Required readings:
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:
Required readings:
In class, we'll take a brief look at how JML can be used in our JML minilab.
Required reading: Quinn, Chapter 8 ("Professional Ethics").
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.
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:
Two useful links for the class, related to Google's self-censorship in China:
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: