The Department of Computer Science & Engineering
cse@buffalo
CSE/PHI 484/584:
PHILOSOPHY OF
COMPUTER SCIENCE
Spring 2007

SYLLABUS

This is a living document; the latest version will always be available on the Web at:

http://www.cse.buffalo.edu/~rapaport/584/S07/syl.html

Last Update: 29 April 2007

Note: NEW or UPDATED material is highlighted

Index: Other Relevant Links:
  • Course Description
  • CSE/PHI 484/584 homepage
  • Prerequisites
  • Directory of Documents
  • Staff
  • Email Archive
  • Class Meetings
  • Texts
  • Important Dates & Tentative Schedule
  • Reading
  • Attendance, Homeworks, Assignments, Exams, Listserv
  • How to Study
  • Grading
  • Incompletes
  • Academic Integrity
  • Classroom Disruptions

  • COURSE DESCRIPTION:

    We will investigate proposed answers to the following questions:

    1. What is philosophy?

        And, in particular, what is "the philosophy of X" (where X = things like: science, psychology, history, etc.)?

    2. What is computer science?

        To answer this, we'll need to consider questions such as: What is science? Is computer science a science? If so, what is it a science of? Is it a science of computers? What is a computer? Is it a science of computation? What is computation? Computations are said to be algorithms, so what is an algorithm? Algorithms are said to be procedures, or recipes, so what is a procedure? What is a recipe? What are Church's and Turing's "theses"? What is "hypercomputation"?

    3. What is a computer program?

        What is the relation of a program to that which it models or simulates? What is simulation? Are programs (scientific) theories? Algorithms are said to be implemented in computer programs, so what is a computer program, and what is an implementation? What is software? Can computer programs be copyrighted, or patented? Can computer programs be verified?

    4. What is the philosophy of artificial intelligence?

        What is AI? What is the relation of computation to cognition? Can computers think? What are the Turing Test and the Chinese Room Argument?

    5. What is computer ethics?

        Should we trust decisions made by computers? Should we build "intelligent" computers?

    PREREQUISITES:

    STAFF:

    CLASS MEETINGS:

    CLASS INSTR. REG. # DAYS HOURS LOCN
    Lecture Rapaport CSE 484: 335662 (4 cr.)
    CSE 584: 315113 (3 cr!)
    PHI 484: ?????? (? cr.)
    PHI 584: 185580 (4 cr!)
    MWF 10:00 a.m. - 10:50 p.m. Clemens 4
    Recitation TA CSE 484 R1: 050179
    CSE 584 R1: 459503
    M 11:00 a.m. - 11:50 p.m. Park 146
    Recitation TA CSE 484 R2: 47648
    CSE 584 R2: 424455
    W 12:00 noon - 12:50 p.m. Norton 214

    TEXTS:

    There are no good texts for this course. But there will be a lot of writing, so the only required text is a handbook on how to write, which you might find generally useful. Each of the following recommended texts overlaps to some extent the topics we will cover. Most of the assigned readings, however, will be made available on the Web or as class handouts.

    IMPORTANT DATES & TENTATIVE SCHEDULE:

    Note: I have adjusted some of the dates and assignments below to reflect what we actually did in class, rather than on what I had planned or hoped to do:-)

    DAY MO DT TOPICS READINGS
    W Jan 17 Introduction.
    What is philosophy?
    Readings
    F   19 What is philosophy? (cont'd)
    What is philosophy of computer science?
    Readings
    M   22 What is computer science?
    (Intro; Newell et al.; Knuth)
    Readings
    W   24 What is computer science? (cont'd)
    (Newell & Simon, Hartmanis & Lin, Brooks, Shapiro)
    Readings
    F   26 What is computer science? (summary)
    What is science?
    (sci vs. non-sci, description vs. explanation,
    instrumentalism vs. realism, sci. method (Kemeny))
    Readings
    M   29 What is science? (cont'd)
    (Kemeny's sci. method, Popper, Kuhn, (non-)emp. sci.)
    What is engineering?
    Readings
    W   31 What is engineering? (cont'd)
    (Bunge, Davis, Petroski, Loui)
    Readings
    F Feb 2 What is a computer?
    Part I: "Engineering" history of computers

    Discuss Term Paper

    Readings
    M   5 What is a computer?
    Part I: "Logical" history of computers

    Position Paper #1 assigned

    Readings
    W   7 What is an algorithm?:
    What is computation?
    Great Insights of CS
    (no new readings)
    ...but you might find Rapaport 2007 of interest.
    F   9 What is an algorithm?:
    Great Insights of CS (cont'd)
    (no new readings)
    M   12 What is an algorithm? (cont'd):
    Structured Programming,

    Peer Editing Week in recitations
    (i.e., first draft of Position Paper #1 due in lecture!
    —and similarly throughout the rest of the semester)

    (no new readings)
    W   14 What is an algorithm? (cont'd):
    Structured programming;
    Halting Problem
    (no new readings)
    F   16 Turing Machines:
    slow reading of Turing 1936

    optional term-paper proposal due

    (no new readings)
    M   19 Turing machines;

    R1: revision of Position Paper #1 due in recit.;
    Position Paper #2 assigned

    (no new readings)
    W   21 TM (cont'd)

    R2: revision of Position Paper #1 due in recit.

    Readings
    F   23 What is a computer?
    Part IIa: Is everything a computer?
    (Searle 1990)
    Readings
    M   26 What is a computer?
    Part IIa (Searle 1990) (concluded)

    Peer Editing Week in recitations;
    Term Paper-proposal revisions due

    Readings
    W   28 What is a computer?
    Part IIb: Not everything is a computer! (Hayes 1997)
    Part IIc: Is the universe a computer? (Lloyd 2004, Weinberg 2002)
    Readings
    F Mar 2 What is a procedure (algorithm, recipe)?
    (Cleland 1993)
    Readings
    M   5 What is a proc/alg/recipe? (cont'd)
    (Preston 2006)

    R1: Revision of Position Paper #2 due in recit;
    Position Paper #3 assigned

    Readings
    W   7 Hypercomputation: Copeland 2002, Davis 200x

    R2: Revision of Position Paper #2 due in recit

    Readings
    F   9 Hypercomputation (cont'd): Wegner 1997, Kugel 2002 Readings
    SSMTWRFSS   10-18 Spring Break  
    M   19 What is a computer program?
    What is implementation?
    (Chalmers)

    Peer Editing Week in recitations

    Readings
    W   21 What is implementation? (cont'd)
    (Rapaport)
    Readings
    F   23 Implementation (concl'd)
    Why is software "soft" & hardware "hard"?
    Readings
    M   26 Software vs. hardware (cont'd)
    Can computer programs be copyrighted?

    R1: Revision of Position Paper #3 due in recit;
    Position Paper #4 assigned

    Readings
    W   28 Can computer programs be copyrighted?
    Can computer programs be patented? (concl'd)

    R2: Revision of Position Paper #3 due in recit;

    Readings
    F   30 Are computer programs theories?

    LAST "R" DATE

    Readings
    M Apr 2 Are comp. progs. theories? (cont'd): Moor
    What is the program-world relationship? (Smith)

    Peer Editing Week in recitations

    Readings
    W   4 What is the prog-world rel'n? (concl'd)
    Can programs be verified? (Fetzer)
    Readings
    F   6 Can programs be verified? (cont'd)
    Computer Ethics (I):
    Should we trust decisions made by computers? (Moor 1979)
    Readings
    M   9 Should we trust decisions made by computers? (cont'd)

  • Revision of Position Paper #4 due in recitation this week;
  • Position Paper #5 assigned;
  • Start bringing in your Reading Journals :-)
  • Readings
    W   11 Should we trust decisions made by computers? (cont'd) Philosophy of AI:
    The Turing test
    Readings
    F   13 NO LECTURE!
    Please attend CSE Grad Conference
    (at Center for Tomorrow)!
    Readings
    M   16 Philosophy of AI:
    The Turing test (cont'd)

    Peer Editing Week in recitations
    Don't forget your reading journals!

    Readings
    W   18 Chinese Room Argument

    Last day to bring in your Reading Journals!

    Readings
    F   20 CRA (cont'd) Readings
    M   23 Computer Ethics (II):
    Is it moral to build an AI?

    R1: Revision of Position Paper #5 due in recit
    Reading journals returned

    Readings
    W   25 Is it moral to build an AI? (cont'd)

    R2: Revision of Position Paper #5 due in recit

    Readings
    F   27 Is it moral to build an AI? (concl'd)
    UPDATED Summary & review
    Readings
    M   30 Last Class:
    UPDATED Summary & review (cont'd);
    NEW if time: Smith 2002
    Readings
    Th May 3 Optional final exam:
    8:00 a.m.-11:00 a.m., O'Brian 109

    XOR
    optional term paper due;
    AND optional revised position paper due
     

    READING:

    "Teachers open the door, but you must enter by yourself." — Chinese Proverb

    "You can lead a horse to water, but you can't make him drink." — American Proverb

    "You can lead a horse to water, but you must convince him it is water before there is any chance he will drink." — Albert Goldfain

    "Education is not filling a bucket, but lighting a fire" — William Butler Yeats

    1. There are a lot of topics to cover, and not nearly as many lectures as there are topics. Consequently, in lectures, I will only be able to skim the surface of the issues. But I will assign a lot of reading, which I will expect you all to do.

      No matter how far we stray from the tentative schedule, if you do the readings at the assigned times, you will be able to finish everything by the end of the semester.

    2. Reading Journal:

      To help you keep track of your reading and the ideas you have while reading, it will be useful for you to keep a "Reading Journal": For each item you read, copy interesting quotes (or at least full references to them) and—most importantly—your comments on them and on the issues raised in each item you read. (For suggestions on how to do this, see the
      "Keep a Notebook" section of my "How to Study" guide on the Web.) An alternative is to write a 1-paragraph commentary on each reading: some insight or idea that struck you from the reading, an extension or application of the ideas, a question that the reading inspired (perhaps informed by some further reading on your part), or any other commentary inspired by the reading. The commentaries should not be summaries of the reading.(*)

      I reserve the right to collect these Journals at any time during, or at the end of, the semester and to include them in the grade calculation.

    3. There are 3 levels at which you can keep up with the reading assignments:

      1. Minimal: Just read the "Required" items.

      2. Medium: Read at the minimal level, plus read the "Strongly recommended" items.

      3. Maximal: Read at the medium level, plus read some or all of the "Recommended" readings

      You should include all the Required readings in your Reading Journal; you may include any Strongly Recommended or Recommended readings, too.

    HOW TO READ and HOW TO STUDY:

    ATTENDANCE, HOMEWORKS, ASSIGNMENTS, EXAMS, LISTSERV:

    1. You will be expected to:

      1. attend all lectures (attendance will be taken),
      2. participate in class discussions, and
      3. complete all readings and assignments on time.

    2. Your writing assignments will include:

      1. the Reading Journal,
      2. approximately 5 short position papers (about 1 page each),
      3. and an optional final exam XOR an optional term paper.

    3. The short position papers will be written in two stages:

      1. A "before" paper in which you will be asked to give your present opinions on the issues.

      2. This will be followed by class discussion during recitations ("peer-editing" sessions), after which you will write an "after" paper in which you will revise the first draft of your position paper based on your readings, the peer-editing sessions, and the class discussions.

      Grades on the essays will be a function of both your ideas and how well you defend and express them. You will have an opportunity to revise some (but not all) of these.

    4. All position papers and assignments will be announced in lecture. Therefore, be sure to get a classmate's phone number or email address (for instance, 1 or 2 people sitting next to you in class, whoever they are!) so that you will not miss assignments in the unlikely event that you miss a class.

      Most, but not necessarily all, assignments will also be posted to the course website or newsgroup.

    5. Email list:

      You will automatically be placed on an email list (a "Listserv") for the course. If you do not normally read email at the email address that UB has as your official address, please either do so for this course, or else have your mail forwarded. I will use this list as my main means of communicating with you out of class. And you can use it to communicate with the rest of us.

      You may send questions and comments that are of general interest to the entire class using the Listserv: Just send them to:

      You can also send email just to me, at:

      In any case, be sure to fill in the subject line, beginning with "CSE 584: " so that my mailer doesn't think it's spam.

      If you send email just to me that I deem to be of general interest, I will feel free to remail it to the email list along with my reply unless you explicitly tell me that you want to remain anonymous, in which case I may choose to remail it to the email list preserving your anonymity.

      The emails will be archived at the listserv website, and I will also archive them at http://www.cse.buffalo.edu/~rapaport/584/S07/EMAIL/.

      For more information, read the Listserv Information webpage.

    6. Students should notify Prof. Rapaport within the first two weeks of class if they have a disability which would make it difficult to carry out course work as outlined (requiring note-takers, readers, extended test time).

    GRADING:

    Undergrads (in 484) and grads (in 584) will be graded on different bases. All graded work will receive a letter grade: 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-' (484 only), 'D+' (484 only), 'D', or 'F'. Not all work turned in will be graded; however, all work turned in will be recorded, and missing work (and missing class) will tend to lower your grade. The final exam and the term paper are optional; you may not do both, however. The final letter grade will be a weighted average of all required work at either of two levels:

    1. Minimal: Attend all lectures and recitations, participate in class or on-line discussions, participate in all peer-editing sessions, do all assigned readings, and (if requested by me) turn in a complete Reading Journal. The maximum grade such students can receive is A- (A-minus) (if all grades on each item are A).

      Weights:
      attendance/participation + Reading Journal10%
      position papers90%

    2. Maximal: Do all work required at the Minimum level, plus write either the final exam or else a term paper (but not both). The maximum grade such students can receive is A (if all grades on each item are A).

      Weights:
      attendance/participation + Reading Journal10%
      position papers45%
      final exam XOR term paper45%

    Note that even if you do all the work at any level, you might still get a grade lower than indicated above if, for instance, you did not attend all lectures or if your letter grade for the papers or exam is less than A, etc.

    I will post more information on both the mechanics of the position papers (and peer editing sessions) and the term paper later in the semester.

    For further information on my philosophy of grading, see my web document on "How to Grade"

    Incompletes:

    It is University policy that a grade of Incomplete is to be given only when a small amount of work or a single exam is missed due to circumstances beyond the student's control, and that student is otherwise doing passing work. I will follow this policy strictly! Thus, you should assume that I will not give incompletes :-)

    Any incompletes that I might give, in a lapse of judgment :-), will have to be made up by the end of the
    Fall 2007
    semester.

    For more information on Incomplete policies, see the Graduate School web page, "Incomplete Grades".

    ACADEMIC INTEGRITY:

    While it is acceptable to discuss general approaches with your fellow students, the work you turn in must be your own. It is the policy of this department that any violation of academic integrity will result in an F for the course, that all departmental financial support including teaching assistantships, research assistantships, or scholarships be terminated, that notification of this action be placed in the student's confidential departmental record, and that the student be permanently ineligible for future departmental financial support. If you have any problems doing the assignments, consult Prof. Rapaport. Please be sure to read the webpage, "Academic Integrity: Policies and Procedures", which spells out all the details of this, and related, policies.

    CLASSROOM DISRUPTIONS:

    In large classes (but surely not ours :-), students have been known to be disruptive, either to the instructor or to fellow students. The university's policies on this topic, both how the instructor should respond and how students should behave, may be found in the PDF document
    "Obstruction or Disruption in the Classroom".


    (*) The idea and wording for such reading-commentaries are borrowed from the assignments for Stuart M. Shieber's course "Can Machines Think". [Back to text]


    Copyright © 2007 by William J. Rapaport (rapaport@cse.buffalo.edu)
    http://www.cse.buffalo.edu/~rapaport/584/S07/syl.html-20070429