Philosophy of Computer Science: What to Teach and How to Teach It

Philosophy of Computer Science: What to Teach and How to Teach It

This presentation by William J. Rapaport explores the topic of the Philosophy of Computer Science, what should be taught in a PhilCS course, how it can be taught to non-philosophers, and how a writing intensive course can be taught in a lecture environment.

  • Uploaded on | 0 Views
  • brice brice

About Philosophy of Computer Science: What to Teach and How to Teach It

PowerPoint presentation about 'Philosophy of Computer Science: What to Teach and How to Teach It'. This presentation describes the topic on This presentation by William J. Rapaport explores the topic of the Philosophy of Computer Science, what should be taught in a PhilCS course, how it can be taught to non-philosophers, and how a writing intensive course can be taught in a lecture environment.. The key topics included in this slideshow are Philosophy of Computer Science, course content, teaching methods, non-philosophers, writing intensive,. Download this presentation absolutely free.

Presentation Transcript

1. philcs-brynmawr.ppt current version: 20070917

2. Philosophy of Computer Science: What I Think It Is, What I Teach, & How I Teach It William J. Rapaport Department of Computer Science & Engineering, Department of Philosophy, Department of Linguistics, and Center for Cognitive Science

3. Outline What is the Philosophy of Computer Science? What should be taught in a PhilCS course? How can it be taught to non-philosophers? How can a writing-intensive course be taught in a lecture environment?

4. What Is Philosophy of CS? x y [ y = philosophy of x = philosophical investigation of: the nature of x , x s assumptions, x s methods, x s goals, etc.] Let x = CS / Philosophy of CS exists! Philosophy of CS : CS = Phil of Science : Science = Phil of Physics : Physics etc. Philosophy of CS Philosophy of AI Philosophy of AI Philosophy of CS Philosophy of CS Philosophy of Information Machlup & Mansfield 1983; Floridi 2002 Philosophy of CS Philosophy of Info

5. Is Anyone Doing PhilCS? lots of philosophical essays on the topics covered by PhilCS But few authors call it PhilCS some courses in PhilCS But not many (as of ~2007): Swedish National Course on PhilCS Gordana Dodig-Crnkovic, Mlardalen U. Philosophy of CS Matti Tedre, U. of Joensuu, Dept. of Computer Science & Statistics Konstantine Arkoudas, Rensselaer Polytech, CogSci/Phil lots of PhilCS courses that are really PhilAI

6. So, What Is the Philosophy of CS? (& How Can It Be Taught?) 0. What is philosophy? 1. What is computer science (or computing science)? 2. What is a computer? (the hardware question) 3. What is computation/computing? What is an algorithm? What is a computer program? (the software question) 4. What is the relationship between HW & SW? (the mind/body question?) 5. What is the relation of computers/computation to the real world? 6. Philosophy of Artificial Intelligence 7. Computer Ethics 8. Etc.? Exercise for the audience: Name some other topics!

7. What Is Philosophy? Necessary topic in a CS course Cf. Perrys Scheme of Intellectual and Ethical Development Dualism Correct answers to all questions are known only to Authorities Multiplism answers / all opinions are equally good Contextual Relativism Validity of an opinion is relative to its evidential context Are CS students Dualists? See (fear?) philosophy as being Multiplistic Is philosophy a Contextually Relativistic discipline? Students must critically evaluate opinions on basis of evidence

8. Perrys Scheme, briefly (digression)-I 1. Basic Duality: All problems are solvable Students task = to learn the Right Solutions on Golden Tablets accessible only to Authorities 2. Full Dualism: Some Authorities (literature, philosophy) disagree; others (science, math) agree There are Right Solutions, but some teachers views of the Tablets are obscured Students task = to learn the Right Solutions & ignore the others. 3. Early Multiplicity: 2 kinds of problems: Those whose solutions we know Those whose solutions we dont know yet Students task = to learn how to find Right Solutions 4. Late Multiplicity: Most problems are of the second kind Everyone has a right to their own opinion OR: Some problems are unsolvable Doesnt matter which (if any) solution you choose Students task is to shoot the bull (= position of most freshmen) ( Alienation: Retreat to earlier (safer) position: Ill study math, not philosophy, because there are clear answers OR: Escape (drop out): I cant stand college: All they want is right answers I cant stand college: No one gives you the right answers) 5. Contextual Relativism: All proposed solutions are supported by reasons i.e., must be viewed in context & relative to support Some solutions are better than others, depending on contextual support Students task is to learn to evaluate solutions.

9. Perrys Scheme, briefly (digression)-II 6. Pre-Commitment: Student sees necessity of: making choices committing to a solution 7. Commitment: Student makes a commitment 8. Challenges to Commitment: Student experiences implications of commitment Student explores issues of responsibility 9. Post-Commitment: Student realizes commitment is an ongoing, unfolding, evolving activity A. The journey from Position 1 Position 9 is sometimes repeated. B. Different Positions can be occupied at the same time in different areas.

10. What Is Philosophy? (contd) Philosophy = def search for truth in any field by rational means rational = (deductive) logic empirical, scientific investigation inductive, abductive reasoning + belief revision Philosophy of X = study of fundamental assumptions, methods, goals of X Socrates/Plato: philosopher as gadfly who challenges assumptions

11. What Is Philosophy? (contd) Critical thinking & informal argument analysis Computing Curricula 2001 Social & Professional Issues knowledge area Methods & tools of analysis Readings on nature of philosophy: * Audi, Brief Guide for Undergrads (2001) Plato, Apology Colburn 2000, Chs. 34 (on history) Supplementary text: Woodhouse, Preface to Philosophy (2003) Martinich, Philosophical Writing (2005) ~ 1 class period!

12. What Is Computer Science? philosophical & political motivations Philosophy: What is the nature of CS? Probably, CS is not a natural kind CS = what computer scientists do! Extensional characterization But: can still give intensional version of this extension: What do computer scientists do? (see below) Academic politics: Which dean should oversee CS? (Arts &) science? Engineering? CS/informatics?

13. What Is CS? (contd) Science of computers & surrounding phenomena (including algorithms) * Newell, Perlis, & Simon 1967 Study of algorithms & surrounding phenomena (including computers) * Knuth 1974 What can be automated / solved by TM / expressed recursively? AI = Is cognition recursive? Arden 1983 Artificial science (empirical study, but not a natural science) of phenomena surrounding computers * [Newell &] Simon 1976, 1969/1996 Natural science of procedures * Shapiro 2001 [McCarthy 2006: computational procedures] Body of knowledge dealing with info -transforming processes Denning et al. 1989 Study of information * Hartmanis & Lin 1992 Engineering (not science) * Brooks 1996, Loui 1987 NB: No philosophers here!

14. Is CS Science or Engineering? 1. Motivation: Local (UB) politics 2. What is science? 3. What is engineering?

15. Is CS Science or Engineering? 2. What is science? Goals = description vs. explanation instrumentalism vs. realism empirical vs. non-empirical sciences (e.g., math) scientific method: Bacons experimental method & Kemenys loop: while new observation do: begin observe it; induce general hypothesis; deduce future observation; verify predictions end. Popper: conjectures & refutations X is scientific iff X is falsifiable Kuhn: science proceeds by revolutions alternating with normal science Readings: ** [Okasha, Philosophy of Science: A Very Short Introduction (2002)] ** Kolak et al., Cognitive Science (2006): Philosophy of Science Papineau, Philosophy of Science (1996) Kemeny, A Philosopher Looks at Science (1959), Ch. 5 (on scientific method)

16. Is CS Science or Engineering? (contd) 2. What is engineering? Application of science to technology? invention of devices vs. discovery of new knowledge? Defined by a professional education? Davis, Thinking Like an Engineer (1998), esp. Ch. 1 A design activity? Petroski, Early [Engineering] Education (2003) Is CS a new kind of engineering? Studies theory, design, analysis, & implementation of information-processing algorithms Loui, CS Is an Engineering Discipline (1987)

17. If CS Is a Science, then What is it a science of? Of computers? What is a computer? Cf. microscopy a discipline that no longer exists! Of computation? What is computation?

18. What Is a Computer? (Historical Perspective) Survey of history of computers (& computation) 2 parallel goals: To make calculation easier/mechanicalto automate it Pascal, Leibniz, Babbage, Turing, Atanasoff & Berry, Eckert & Mauchly, von Neumann, [Asprey, Computing before Computers (1990)] ** {on line!} Simon & Newell, Heuristic Problem Solving (1958) on Babbage Ensmenger 2004 review of Who Invented the Computer? To provide a foundation for mathematics Leibniz, Boole, Frege, Hilbert, Gdel, Church, Turing, [Davis, Engines of Logic (2000)] ** Henkin, Are Logic & Math Identical? (1962) Davis, Math Logic & Origin of Modern Computers (1987)

19. What Is Computation / What Is an Algorithm? (Mathematical Perspective) Function viewed extensionally: Set of input-output pairs (s.t. same I/P yields same O/P) Function f is computable def algorithm A that computes f i.e., ( i )[ A ( i ) = f ( i ) ] & A specifies how i and f ( i ) are related An algorithm A for a problem P def finite procedure (= set of instructions) for solving P that is: 1. unambiguous (effective) I.e., clear/well-defined & executable by executor But: vague & relative! 2. halts (but what about ATMs, programs to print all primes?) 3. outputs correct answer to P (but what about heuristic programs?)

20. What is computation? (contd) Slow reading of Turing 1936 Turings & Churchs Theses TM -definability ( etc.) Note: This is the first of 2 (or 3) essential readings in the philosophy of CS!

21. What Is CS? (revisited) Possible answer: CS = study of algorithms and computers that implement them Link between these 2 branches of CS (i.e., where the two histories intersect): Turings 2 computers (TM, ACE) ACE was an implementation of TM With implementation-dependent details With implementation-dependent limitations

22. 3 Great Insights of CS 1. Booles & Shannons Insight Only 2 nouns are needed to represent anything: 0, 1 2. Turings Insight Only 5 verbs are needed to manipulate them: i. Move-left ii. Move-right iii. Print-0 iv. Print-1 v. Erase 3. Boehm & Jacopinis Insight Only 3 rules of grammar are needed to combine these: i. Sequence ii. Selection iii. Repetition Also useful &/or elegant: Exit Named procedures Recursion

23. 3 Great Insights of CS 1. Booles & Shannons Insight All the info about any computable problem can be represented using only 2 nouns : 0, 1 2. Turings Insight Every algorithm can be expressed in a lang. for a computer (TM) consisting of an arbitrarily long paper tape divided into squares (toilet paper that you never run out of), with a read/write head, whose only nouns are 0 & 1, and whose only 5 verbs are: i. Move-left -1-square ii. Move-right -1-square iii. Print-0 -at-current-square iv. Print-1 -at-current-square v. Erase -current-square 3. Boehm & Jacopinis Insight Only 3(*) rules of grammar are needed to combine any set of basic instructions into more complex ones: i. Sequence: DO this; THEN DO that ii. Selection: IF such-&-such is true, THEN do this ELSE do that iii. Repetition: WHILE such-&-such is true, DO this iv. (*)Exit (for simplicity/elegance) v. (*)Named procedures (optional, but very powerful) vi. (*)Recursion (elegant replacement for repetition)

24. What Is a Computer? (Philosophical Perspective) Searle, Is the Brain a Digital Computer? (1990) Everything is (can be seen as) a digital computer What counts is how they are used Hayes, What Is a Computer? (1997) Not everything is a computer A computer is (like) magic paper: Input = patterns describing changes to (other) patterns Output = the results of making the changes Cf.: a device that changes assignments to variables (Thomason 2003) Is the universe a computer? Does the solar system compute Keplers laws? Lloyd & Ng, Black Hole Computers (2004) Weinberg, Is the Universe a Computer? (2002) on Wolframs New Kind of Science

25. What Is an Algorithm? (Philosophical Perspective) What is a procedure? Algorithms recipes Mundane/quotidian procedures (Cleland 1993ff) : Effective procedures that generate causal processes E.g., recipes But not TM-computable Because effectiveness depends on external world But recipes specifications (Preston, forthcoming) Different implementers (e.g., chefs) fill in details differently Allow for improvisation (cf. jazz, rock)

26. Are There Other Kinds of Computation? Computation of functions that are not TM-computable Copeland, Hypercomputation (2002) Turing: oracle machines Add external source of nonTM-computable information (6th verb: nonTM-computable basic operation) Boolos & Jeffrey: Zeus machines Infinitely accelerating But: Davis, Myth of Hypercomputation Wegner: interaction machines Non-halting procedures with I/P from external world E.g., ATM, airline-reservation systems Putnam, Gold: trial & error/inductive-inference machines Like TM, but last answer counts, not first May be needed for AI to succeed Kugel, Computing Machines Cant Be Intelligent (& Turing Said So) (2002)

27. What Is a Computer Program? 1. What is implementation? 2. What is software vs. hardware? 3. Can software be patented? Copyrighted? 4. Are some programs (scientific) theories? 5. What is relation of programs to world? 6. Can programs be verified?

28. 1. What Is Implementation? Ubiquitous notion, rarely defined Examples: Programs implement algorithms ML programs implement programs in high-level languages Data structures implement ADTs ADTs implement other ADTs Related to realization (in philosophy of mind) Is implementation A relation between An abstraction & something concrete? 2 abstractions? An isomorphism? A homomorphism? Readings: Chalmers, On Implementing a Computation (1994) Rapaport, Implementation Is Semantic Interpretation (1999, 2006) Syntax, semantics, formal systems (see below)

29. 2. What Is Software? Software is a computer program changeable by a person Changeable hardwiring is software * Moor, 3 Myths of CS (1978) Software is syntactic form (see above) Suber, What Is Software? (1988) Software is a concrete abstraction: Software has both: Medium of description: text (abstraction) Medium of execution: implemented in electronics (concrete) cf. Spinozas dual-aspect theory of mind-body relation Colburn, Software, Abstraction, Ontology (1999/2000)

30. 3. Can/Should Software/Hardware Be Patented/Copyrighted? If computer program is text, then copyrightable But not patentable! Yet exportable. Same program engraved on CD-ROM ( executable) is a machine Patentable But not copyrightable or exportable! mismatch; somethings got to give Readings: * Newell, The Models Are Broken (1985/86): CS needs better ontological theories of computational entities Koepsell, Ontology of Cyberspace (2000): Lawyers need to devise better methods of legal protection Samuelson, Should Program Algorithms Be Patented? (1990)

31. 4. Are programs scientific theories? Programs are (a language for expressing) theories, which can then be their own models (Newell, Shaw, & Simon 1958) e.g., cognitive theories best expressed as computer programs in addition to statistical, mathematical, or natural languages programs are simultaneously theory & model (implementation) theory can be tested by executing program Philosophy of AI question: Do such cognitive programs actually exhibit (i.e., implement) cognitive processes? or merely simulate them? (a) Theory vs. model philosophical theories of scientific explanation & scientific models (b) Simulation vs. real thing (c) Simulation vs. emulation Readings: Weizenbaum, Computer Power & Human Reason (Chs.5,6) (1976) Simon, Sciences of the Artificial (Ch.1) (1996) Local UB color: Is a program that can identify handwriting a scientific theory of handwriting? Should its programmer be an expert witness on handwriting?

32. 5. Relation of Programs to World Recall Clelands mundane procedures * Smith, Limits of Correctness in Computers (1985) g ap between world and our models of it cant talk about real world except via a model or theory (cf. Kant) Computers are doubly removed from real world: rely on models of the models but must act in the real world. Third essential reading!

33. 6. Can Programs Be Verified? Background: formal methods for proving program correctness Gries, Science of Computing (1981) Dijkstra, Guarded Commands (1975) Fetzer, Program Verification: The Very Idea (1988) Cant logically prove that causal systems wont fail cf. Cleland again At best, can verify algorithms , not programs NB: requires firm grasp of algorithm/program/implementation

34. Computer Ethics (I) Deserves a course of its own!! Small fraction of the course (~ 1-2 weeks) Moor, What Is Computer Ethics? (1985): Need metaphysical/ontological theories of computers in order to answer ethical/social questions about their nature & use

35. Computer Ethics (I) 1. Given the shaky relation between program & world, should we trust decisions made by computers? * Moor 1979: Are There Decisions Computers Should Never Make? No , as long as their track record is better than humans Up to us humans to accept/reject computer recommendations Yes, because only humans can be moral agents Friedman & Kahn, People Are Responsible; Computers Are Not (1997) Suppose computers correct decision is overridden by a human! Johnson, To Err Is Human (2002)

36. Philosophy of AI: Could We Build AIs? Deserves course of its own! My own AOS; what students were awaiting all semester! Small fraction of the course (~ 1 week) What is AI? What is the relation of computation to cognition? Turing Test (Turing 1950) Computers will be said to be able to think if we cant distinguish their linguistic/cognitive ability from a humans Essential reading #2 Arguably, PhilCS = Turing 1936 + 1950 (+ Smith 1985 :-) Chinese-Room Argument (Searle 1980) Computer could pass a TT without really being able to think Local color: Syntactic Semantics (Rapaport 1985ff): Syntactic symbol manipulation (what computers do well) suffices for semantic interpretation of the kind needed for computational cognition

37. Computer Ethics (II) Whether or not we could build intelligent computers, should we build them? Perhaps we shouldnt (even begin!) But considering the possibility allows us to deal with: What is a person? Would an AI with personhood have rights? Could it be moral? LaChat, AI & Ethics (1986) What might happen if you create ALife (and then lose your funding)? Lem, Non Serviam (1971) Computer ethics deserves own course!

38. Summary & Unifying Themes 2 overview articles: Scheutz, Philosophical Issues about Computation (2002) Smith, Foundations of Computing (2002) Unifying themes: Copyright vs. patent Social & legal issues Ontological issues In the news Relation of abstract computation to real world implementation software vs. hardware copyright vs. patent programs as scientific theories programs as limited by models used program verification computer ethics

39. Where & Why Teach PhilCS? Philosophy department? Or: Computer Science department? Yes! Good intro to CS issues for philosophy students Useful way to bring wide variety of topics together & can shed new light on classical philosophical problems in: Metaphysics & ontology Epistemology Ethics topics that are unique to (Phil)CS Good intro to philosophy for CS students Capstone course for senior-level CS students Overview course for entry-level CS students

40. Texts There are a few (Colburn, Floridi) , but none do what I do Need anthology of classic readings publishers: too expensive solution? Web anthology?

41. Texts, etc. Floridi, Philosophy & Computing (1999) Colburn, Philosophy & Computer Science (2000) Both are monographs / Not neutral / Not ideal for intro course (?) Small with my topics Floridi, Blackwell Guide to Philosophy of Computing and Information (2004) Anthology of original overviews (not classical papers) Small with my topics Etc.: Monist 82(1) (1999) on PhilCS Minds & Machines, JETAI, CAP conference proceedings Websites: Taylor, Computational Philosophy Floridis homepage Eden & Turner, Philosophy of Computer Science Tedres and Arkoudass websites My course :-)

42. How to Teach Philosophy of CS Thinking is best done by: Slow & active reading Discussion Writing (lots of it!) How to do this in: large lecture course with no teaching assistants?

43. How to Teach Philosophy of CS Thinking is best done by: Slow & active reading Discussion Writing (lots of it!) Year 1: Expected 10-15 students, seminar setting 30 pre-registered (gut course?) So, posted news about lots of writing Enrollment increased to 60! Settled at ~50!! No TA to help grade No recitation sections Not a unique problem in 4-year colleges! A problem, nevertheless! Year 2: ~ 45 students + TA + recitations

44. Solution (inspired by Lewis White Beck) I. Required: Attendance + reading journal Max course grade = C II. Optional: 5 short position papers Max course grade = B III. Extra-optional assignment Term paper XOR final exam Max course grade = A

45. Solution (I) Required attendance & participation Reading journal copy & comment on interesting passages enforces active (& slow) reading

46. Required Attendance & Reading Journal 1. Attend & participate in all class discussions (including peer editing) 2. Maintain a reading journal: reading assignment: copy interesting passages comment on them To enforce (& substantiate) active reading Including writing and thinking

47. Solution (II) 5 short position papers : 1 page each every 2-3 weeks 1 week to write first draft due-date = peer editing day Students bring 5 copies of paper Small-group discussions 1 week later: revision due Without TA help, only grade ~40% of papers but each student gets at least 2 papers graded with TA help, can grade all papers

48. Short Position Papers 5 1-page position papers Every 2-3 weeks 1 week to write first draft Due-date = peer editing day Students bring 5 copies of paper Small-group discussions 1 week later: revision due Year 1: I graded ~40% of these & recorded the rest Each student got 2 papers fully critiqued & graded Year 2: With TA help, all papers graded Could re-revise for higher grade

49. E.g.: Position Paper #1: What Is CS?

50. Position Paper #1: What Is CS? Dean of Engineering says: CS department should be moved from Science to Engineering because: 1. Science = systematic observation, description, experimental investigation, & theoretical explanation of natural phenomena. 2. CS is the study of computers & related phenomena. 3. CS is not a science How would you respond to the Dean of Engineerings argument?

51. E.g.: Position Paper #1: What Is CS? Imagine that you are the newly-appointed Dean of the School of Science In an attempt to build up the rival School of Engineering, the newly-appointed Dean of Engineering has proposed to the Provost (the Deans' boss) that the Department of Computer Science be movedlock, stock, and computer, so to speakto Engineering, on the following grounds: 1. Science is the systematic observation, description, experimental investigation, and theoretical explanation of natural phenomena. 2. Computer science is the study of computers and related phenomena. 3. Therefore, computer science is not a science. (The Dean of Engineering has not yet argued that computer science is an engineering discipline; that may come later.) You may agree with this argument; then again, you may not agree with it. You should ignore political considerations: you may suppose that the move from Science to Engineering involves no loss of money, prestige, or anything else, and it is to be done, if at all, only on strictly intellectual grounds. How might you respond to the Dean of Engineering's argument? The Provost is eagerly awaiting your reply, and will abide by your decision...if, that is, you give a well-argued defense of your position.

52. How to Evaluate an Argument (and how to grade an essay) Valid? Missing premises? Agree with premises (including missing ones)? What is science? What is CS? Give reasons for opinions! Well-adapted to triage quantum grading: Each of above is: clearly acceptable (A) clearly unacceptable (D) somewhere in between (C) missing (F)

53. Peer-Editing Instructions 1. Form small groups; share papers. 2. For each paper (1015 minutes each), do: a) Imagine peers as members of committee to make recommendation to Provost i. Goal = to help author clarify beliefs & arguments ii. so that recommendation made on purely logical grounds b) Author states/reads beliefs and reasons c) Peers ask questions: i. Why did you say ___ rather than ---? ii. What did you mean when you said ___? [Etc.] d) Dont get defensive; peers are critical, but friendly. e) Keep written record of questions/replies/advice 3. At home, revise paper; revision due in 1 week.

54. Advantages of Peer Editing Lots of opportunity for discussion among students Opportunity for me to interact with students 1-1 I roamed & facilitated Multiple feedback on papers From peers as well as Authority Opportunity for critical thinking Paper topics = evaluation of an argument I only saw second draft!

55. Grading Position Papers Student observation: Argument-analysis format easier to grade than ordinary essay because: fewer degrees of freedom Actually: students saw role of evaluation more clearly Triage Theory of Grading (inspired by Paul Vincent Spade) Essays are either: clearly acceptable A clearly lousy F somewhere in between C

56. Grading Position Papers Student observation: argument-analysis format easier to grade than ordinary essay because: fewer degrees of freedom Actually: students saw role of evaluation more clearly Triage Theory of Grading (inspired by Paul Vincent Spade) Essays are either: clearly acceptable A clearly lousy F [ D] somewhere in between C [ not done F ]

57. Grading Position Papers (contd) The Triage Theory (contd) Any part of an assignment is either: clearly acceptable A (full credit) in between C (partial credit) clearly lousy D (minimum credit) not done F (no credit) Grade in quantum units Ends requests for one extra point Applicable to argument-analysis papers: valid? / why? A..F missing premises? A..F premise, true?/agree? give argument for/against A..F Then compute cumulative grade Weighted sum or average

58. Solution (III) (optional) Term paper Topic approved in advance Default topics: encyclopedia article on PhilCS (for Dualists) your own reasoned answers to syllabus questions (for Multiplists) XOR (optional) Essay-style final exam Do 3 of 5 questions: one old argument one new argument What is CS? Can computer programs be verified? What is the most important question in PhilCS? Why? What is your answer to it?

59. Statistics 98%: position papers >80%: TP xor FE ~70%: FE (!)

60. Midsemester Course Evaluation (inspired by Stuart C. Shapiro) Midsemester more useful than end of semester Should be followed by course correction 2 questions (or 4 questions) : 1. What aspects of the course would you like to see changed ? 2. What aspects of the course do you especially like ? 3. & 4. Ditto for recitation section Summarized & discussed/posted responses

61. Likes & Dislikes Chief complaint: Not enough time to do all the very interesting reading!

62. Likes & Dislikes Likes: position papers: writing peer editing revising discussions skill & practice in critical analysis/informal-argument evaluation some students continued use of reading-journals afterwards website

63. Id like to thank you for putting together such a great course this semester.I never had much respect for philosophy in the pastbut this course has provided me with an entirely new perspective.I learned as much in your course as any other Ive taken in my graduate career at UB (not to mention the fact that the skills I learned in [it] are far more transferable than the skills of the more esoteric CS courses). I urge [you] to offer this course again.It offers exactly the kind of breadth of education that the department needs to stress, and with its CS flavor, it can tap the interest of students.Please consider making Philosophy of CS a regular offering :)

64. Conclusion PhilCS is a legitimate branch of philosophy Worth teaching to both CS & philosophy students CS students get to: think about new issues & issues not discussed elsewhere in CS curriculum think critically find out what philosophy is like Philosophy students get opportunity: to learn about computers, computing, and CS to apply philosophical skills & knowledge to a relatively new domain.

65. Reference & Website Rapaport, William J. (2005), Philosophy of Computer Science: An Introductory Course, Teaching Philosophy 28(4): 319341. Course website: (or Google philosophy of computer science :-)