Textbooks and Other Resources for CSC 300
Required Text:
- Johnson, Computer Ethics, 3rd
Edition, Prentice-Hall, 2000.
- Petroski, To Engineer is Human,
Vintage Books, 1992.
- Yourdon, Death March,
Prentice-Hall, 1997.
Note that you are responsible to find copies of the textbooks, they
have not been ordered by our bookstore. Get them as soon as
possible. Check with me if you are in financial trouble and
believe you must share books. I'll assume everyone has access to
each text at all times in some form.
Notice also that the textbooks are listed in order of relative
importance. I expect you'll read (and use) Johnson cover to cover
and use it as a manual. You will be expected to read the Petroski
text in its entirety in the first week of class, on your own. It
is a thought-provoking view from the top regarding software
requirements and specifications, good for higher level guidance.
The Yourdon text may not be referenced often during the course. I
expect that you will read it cover to cover by the end of the quarter
(I recommend that you read it early, it is an easy, and often
entertaining, read!) It is a very funny but realistic view of a
popular culture of software engineering that we'll often need to face
and the book contains good advice for the resulting problems.
We'll often need examples of ethical dilemmas, and this text is full of
them (then, you may want to consult the movie "Office Space" from time
to time :-)
I do not teach "out of the text" and will assume you use the text to
supplement (and contrast to) my lecture materiale. I sometimes
disagree with the text and I want to expose you to various
viewpoints.
Highly Recommended Materiale:
- Weinberg, The Psychology of
Computer Programming, Dorset
House1998.
- Parnas, "A Rational Design Process: How and Why to Fake It,"
(find the article from about 1986!)
- Brooks, "The Mythical Man-Month," (find the article or book!)
- Landaur, The
Trouble with Computers,
MIT Press, 1999
- Ludi, "A Student Survival Guide," (locally available)
- Here is a good pile of general references to help start you in
research in this area engineering
ethics bibliography.
And more at Codes of Ethics.
Further materiale thoughts:
- Read the IEEE Code of Ethics and the
IEEE/ACM Software Engineering Code of Ethics
- Read Cal Poly policies and rules regarding computing and review
Cal Poly academic ethics policies.
- Review your textbooks briefly so that you know what they're about.
- Go look at the CPSR and
EFF websites to see what they're about.
- While you're at it, go look for Microsoft's Code of Ethics and
maybe Apple's code of ethics too.
- Check on your instructor's academic and industry "pedigree" and
see if you can understand what makes him tick :-)
- Especially check on your instructor's research page for to see
what he has written, just get a general idea.
Note that you are expected to do your own research. Note also
that while the web may sometimes be a good start, it is NOT sufficient
in most every case and the indices of accuracy are missing (how do you
know the web resource is correct??) You'll need to get to know
how to use paper resources in the library as well as web research in
this course. I expect that you will cite sources during talks, on
exams, and for papers. Your citations to sources are critical to show
me that you did the research and that you have not committed plagiarism
(two good things!)