The Department of Computer Science & Engineering
cse@buffalo
CSE 410/510 & PHI 498:
PHILOSOPHY OF
COMPUTER SCIENCE
Spring 2004

SYLLABUS

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

http://www.cse.buffalo.edu/~rapaport/510/syl.html )

Last Update: 20 April 2004

Note: NEW or UPDATED material is highlighted


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

  • COURSE DESCRIPTION:

    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?

    PREREQUISITES:

    STAFF:

    Professor:
    Dr. William J. Rapaport, 214 Bell Hall, 645-3180 x 112, rapaport@cse.buffalo.edu
    Office Hours: Mondays, 11:00-11:50 a.m.; Tuesdays, 2:00-2:50 p.m.; or by appointment.

    Teaching Assistant:
    Dmitriy (Dima) Dligach, Trailer E-14, 645-3771, ddligach@cse.buffalo.edu
    Office Hours: Tuesdays, 11:00 a.m.--1:00 p.m., or by appointment.

    CLASS MEETINGS:

    CLASS INSTRUCTOR REGIS. NO. DAYS HOURSLOCATION
    LectureRapaportCSE 410: 467274 (4 cr.)
    PHI 498: 306372 (3 cr.)
    CSE 510: 111333 (3 cr.)
    TTh9:30 - 10:50 a.m. NSC 222

    RECOMMENDED TEXTS:

    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.

    IMPORTANT DATES & TENTATIVE SCHEDULE:

    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)! UPDATED I have adjusted some of the dates below to reflect what we actually did in class, rather than on what I had hoped to do:-)

    DAY MONTH DATE TOPIC
    or
    ASSIGNMENT
    READINGS
    T Jan 13 Introduction;
    What is philosophy?
    What is philosophy of X?
    See "Reading Assignments"
    Th   15 What is computer science? See "Reading Assignments"
    T   20 What is science? See "Reading Assignments"
    Th   22 Assign position paper #1
    What is engineering?
    See "Reading Assignments"
    T   27 What is a computer?
    (Part I: History of Computers)
    See "Reading Assignments"
    Th   29 Position Paper #1 due;
    Peer editing session #1
    See "Reading Assignments"
    T Feb 3 What is an algorithm?
    What is computation?
    See "What is computation?"
    Th   5 Position Paper #1 Revisions due;
    Turing machines
    Turing 1936
    and
    see "Reading Assignments"
    T   10 What is a computer?
    (Part II: Is everything a computer?)
    For next time:
    See "Reading Assignments"
    Th   12 What is a computer/Part II (concluded)
    What is a procedure?
    See "Reading Assignments"
    T   17 Optional 2nd revision of
        Position Paper #1 due;
    Assign position paper #2

    What is a procedure? (concluded)
    See "Reading Assignments"
    Th   19 What is hypercomputation? See "Reading Assignments"
    T   24 Peer editing session #2;

    Deadline for abstract of
    optional term paper

    See "Reading Assignments"
    Th   26 What is hypercomputation? (concluded) See "Reading Assignments"
    T Mar 2 Position Paper #2 Revisions due;
    What is a computer program?:
    What is an implementation?
    See "Reading Assignments"
    Th   4 What is an implementation?
    (concluded)
    See "Reading Assignments"
    F   5 LAST "R" DATE  
    T   9 Are computer programs theories? See "Reading Assignments"
    Th   11 Assign position paper #3

    What is software?

    See "Reading Assignments"
    Sat   13 Spring Break begins  
    T   23 Class resumes;
    Optional 2nd revision of
        Position Paper #2 due.

    Can computer programs be
    copyrighted or patented?

    See "Reading Assignments"
    Th   25 Peer editing session #3 See "Reading Assignments"
    T   30 Can programs be verified? See "Reading Assignments"
    Th Apr 1 Optional 2nd revision of
        Position Paper #3 due;
    Assign position paper #4

    Philosophy of AI:
    The Turing Test

    See "Reading Assignments"
    T   6 The Chinese-Room Argument See "Reading Assignments"
    Th   8 Peer editing session #4 See "Reading Assignments"
    T   13 Assign position paper #5

    What is computer ethics?
    Should we trust decisions
    made by computers?

    See "Reading Assignments"
    Th   15 Position Paper #4 Revisions due

    Is it moral to build an artificial intelligence?

    See "Reading Assignments"
    T   20 Peer editing session #5 See "Reading Assignments"
    Th   22 Last Class: Summary & review

    optional, take-home final exam
    handed out

     
    T   27 Position Paper #5 Revisions due
    in my office (Bell 214)
    or mailbox (Bell 211) by 5 p.m.

    Reading Day

     
    W   28 Reading Day  
    Th May 6 Take-Home Exam xor Term Paper
    due in my office (Bell 214)
    or mailbox (Bell 211) by 5 p.m.

    NEW BRING YOUR READING JOURNAL
    TO MY OFFICE
    BETWEEN 10 A.M. & NOON
    OR BETWEEN 1 P.M. & 5 P.M.

     

    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

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

    ATTENDANCE, HOMEWORKS, NEWSGROUP, ETC.:

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

    HOW TO STUDY:

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

    GRADING:

    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.

    Weights:

    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"

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

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

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

    CLASSROOM DISRUPTIONS:

    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 (rapaport@cse.buffalo.edu)
    file: 510/syl-2004-04-20.html