The Department of Computer Science & Engineering
CSE 410/510 & PHI 498:
Spring 2004


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

Initial Version: 13 January 2004

Note: NEW or UPDATED material will be highlighted in future versions.

Index: Other Relevant Links:
  • Course Description
  • Homepage
  • Prerequisites
  • Directory of Documents
  • Staff
  • Class Meetings
  • Texts
  • Important Dates & Tentative Schedule
  • Reading
  • Attendance, Homeworks, Projects, Exams, Newsgroup
  • Homeworks
  • Projects
  • How to Study
  • Grading
  • Incompletes
  • Academic Integrity
  • Classroom Disruptions


    This is a new course at UB and a relatively new course anywhere. (I have found only one or two courses anywhere that cover similar material; most courses named "Philosophy of Computer Science" are really about whether computers can think. We'll cover that, but only as one among many other topics.)

    I hope to 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?



    Dr. William J. Rapaport, 214 Bell Hall, 645-3180 x 112,
    Office Hours: To be announced, or by appointment.

    Teaching Assistant:
    Dmitriy (Dima) Dligach; Trailer E 14, 645-????
    Office Hours: To be announced, or by appointment.


    LectureRapaportCSE 410: 467274 (4 cr.)
    PHI 498: 306372 (3 cr.)
    CSE 510: 111333 (3 cr.)
    TTh9:30 - 10:50 a.m. O'Brian 109


    There are no good texts for this course; hence, there are no required texts. 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.

    1. Colburn, Timothy R. (2000), Philosophy and Computer Science (Armonk, NY: M.E. Sharpe); ISBN 1-56324-991-X.

    2. Floridi, Luciano (1999), Philosophy and Computing: An Introduction (London: Routledge); ISBN 0-415-18025-2.

    3. Floridi, Luciano (2004), The Blackwell Guide to the Philosophy of Computing and Information (Malden, MA: Blackwell); ISBN 0-631-22919-1.

    4. Woodhouse, Mark B. (2003), A Preface to Philosophy, 7th edition (Wadsworth Publishing); ISBN 0534595448.


    Note: This is the most tentative schedule I have ever created, since this is a brand-new course. I make no promises about sticking to it (not even the assignment dates, though I'll try to maintain those as much as possible)! As the semester progresses, I will adjust some of the dates below to reflect what we actually do in class, rather than on what I hope to do:-)

    T Jan 13 Introduction;
    What is philosophy?
    What is philosophy of X?
    to be announced
    Th   15 What is computer science? to be announced
    Th   22 Assign position paper #1 to be announced
    Th   29 Peer editing session #1 to be announced
    T Feb 3 What is computation? to be announced
    Th   17 Assign position paper #2 to be announced
    T   24 Peer editing session #2;

    Deadline for abstract of
    optional term paper

    to be announced
    Th   26 What is a computer program? to be announced
    F Mar 5 LAST "R" DATE to be announced
    Th   11 Assign position paper #3 to be announced
    Sat   13 Spring Break begins  
    T   23 Class resumes to be announced
    Th   25 Peer editing session #3 to be announced
    T   30 Philosophy of AI to be announced
    Th Apr 1 Assign position paper #4 to be announced
    Th   8 Peer editing session #4 to be announced
    T   13 Computer ethics
    Assign position paper #5
    to be announced
    T   20 Peer editing session #5 to be announced
    Th   22 Last Class: Review

    optional, take-home
    final exam
    handed out

    T,W   27,28 Reading Days  
    Th May 6 Take-Home Exam
    Term Paper


    "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

    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. I also think it will be useful to you if you 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.) I will collect these Journals at the end of the semester, and include them in the grade calculation.

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

    1. Minimal: Just read the assigned items.

    2. Medium: Read at the minimal level, plus read the recommended-reading items that I will announce from time to time.

    3. Maximal: Read at the medium level, plus read some or all of the other readings that I will suggest in lecture or post to the course website or newsgroup, and/or that are listed in the bibliographies of any of these readings.
    You must include all the "minimal" readings in your Journal; you may include any "medium" or "maximal" readings, too.

    For advice on how to read a both philosophy and computer science writings, see "How to Read (a Computer Science Text)".


    1. You will be expected to attend all lectures (attendance will be taken), and to complete all readings and assignments on time. There will be 5 short position papers (about 1 page each), the Reading Journal, and an optional take-home final exam XOR an optional term paper.

      In some cases, the short papers will really be first drafts of "position papers" on the major topics: a "before" paper in which you will be asked to give your present opinions on the issues. This will be followed by class discussion ("peer-editing" sessions), after which you will write an "after" paper in which you will revise your position 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.

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

    3. On the other hand, some urgent announcements will only be posted to the newsgroup! So you should subscribe to, and regularly monitor, the newsgroup sunyab.cse.510. You may also post questions and comments there that are of general interest to the entire class. If you send me email that I deem to be of general interest, I will feel free to post it anonymously to the newsgroup along with my reply unless you explicitly tell me otherwise.

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


    For general advice on how to study for any course, see my web page,
    "How to Study".


    Undergrads (in 410/498) and grads (in 510) will be graded on different bases. All graded work will receive a letter grade: 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-' (410/498 only), 'D+' (410/498 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 take-home 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 three levels:

    1. Minimal: Attend all lectures, participate in class or on-line discussions, participate in all peer-editing sessions (whether or not you choose to write the position papers), do all assigned readings, and turn in a complete Reading Journal. The maximum grade such students can receive is C.

    2. Medium: Do all work required at the Minimal level, plus write all 5 position papers. The maximum grade such students can receive is B.

    3. Maximal: Do all work required at the Medium level, plus write either the take-home exam or else a term paper (but not both). The maximum grade such students can receive is A.


    These weightings automatically guarantee that a student who gets "A" grades for each component of the minimal level will get a C in the course, that a student who gets an A for each component of the medium level will get a B in the course, and that a student who gets an A for each component of the maximal level will get an A in the course.

    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.

    Note to (CSE) graduate students taking 510: In order to get a minimum passing grade for credit towards your degree, you will need to do work at least at the "medium" level of participation in order to get at least a B-.

    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 "Grading Principles"


    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 2004 semester.

    For more information on Incomplete policies, see the web page, "Incompletes".


    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 assistanceship, research assistanceship, 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.


    In large classes (such as this), 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 document
    "Obstruction or Disruption in the Classroom - Policies" (PDF).

    Copyright © 2004 by William J. Rapaport (
    file: 510/syl.2004.01.12.html