CogSci 101
Computational Intelligence
Enabling legislation for this course can be found here.
Last modified 5/29/03
One of the enduring questions that has been asked well before the development of the modern computer is: Can a computer think? Is intelligence something that is unique to humans (or, perhaps more broadly, to living creatures), or can it be simulated in wire and semiconductors? In this course, we will explore this question in two ways: by reading and commenting on the written comments of thoughtful individuals on both sides of the question, and by introductory explorations using the programming language Lisp.
Math 111, two years of high school algebra, or equivalent. Experience with programming would be a plus but is not required.
Note: This proposed course has a considerable overlap with my solo version of SCXT 350 in that it expands on my part of the jointly taught SCXT course (in fact, I took on the solo version of SCXT 350 with the idea of developing this course). There should be no conflict, since as soon as this course is taught as a Freshman Seminar I will not teach SCXT 350 except as a member of a team (the usual way that course is offered).
This course meets the guidelines for a course meeting the SCI core requirement in that it
Students will read a number of papers, chapters, and excerpts, and will be asked to respond to them in writing. Additional short writing assignments may also be given. Students will be asked to write programs in the programming language Lisp, possibly using other tools as well (SNePS and Clips). Finally, students will be asked to take two one-hour examinations and a comprehensive final examination, and will be asked to write a term paper. The term paper will incorporate milestones for topic, annotated reading list, outline, and first and final draft with a portion of the points allocated to the paper (20%) allocated to each milestone.
Total: 100%
A term paper will account for 20% of your overall grade in this course. Details of the dates for the paper will be part of the syllabus. You will be asked to submit, at fixed times, a proposal and a thesis statement, an annotated bibliography, a draft, and a final paper. The thesis statements, annotated bibliography, and draft will be open documents in that they will be read and commented upon by your colleagues. You will also be responsible for commenting on classmates' thesis statements, bibliographies, and drafts, and the quality of your response will be part of your grade on the term paper.
In your term paper you will be asked to take a position and to justify that position by careful argument and the use of supporting references. Issues can be very broad (Does the computational model fit the idea of intelligence, a critique of the Turing Test, etc.) or can be more narrowly defined. Readers will be asked to judge the quality of your argument, your use of supporting references, the clarity of your presentation of the problem and your position on it, and the clarity and organization of your paper. There will be significant penalties for late submission of these milestones or for tardiness in the reviews for which you are responsible. More details will be available as the semester progresses.
A draft syllabus for the course can be found here.
The following presents topics and sample assignments in (roughly) the order proposed. Writings on computational intelligence are interspersed with practical work in the programming language Lisp and with several AI systems.
The "Discourse on Method" raises several of the fundamental questions to which the field of computational intelligence must respond. In particular, Descartes asked how it might be possible that a mechanical device would be able to respond appropriately to common statements "as the dullest of men do".
Assignment: Written (one page) response to the excerpt.
The programming language Lisp was developed by John McCarthy in the 1950's (making it one of the oldest computing languages around). It has since become one of the premier languages for work in artificial intelligence.
Assignment: A first programming exercise in Lisp.
In this 1950 paper the British mathematician Alan Turing argued that machine intelligence is a possibility, and defined a test, now called the "Turing Test" as a test for machine intelligence. I may incorporate part of the play "Breaking the Code" by Hugh Whitemore.
Assignment: Written (one page) response to the paper
More on recursion, and an introduction to matching/unification. An examination of Eliza (a pattern-matching program which appears to be able to converse with the user - up to a point).
Assignment: A second programming exercise in Lisp
This will either be a chapter from a textbook in development (i.e., something that I am currently writing), or a chapter from an existing textbook.
Assignment: An exercise in finite state automata, and an exercise in interpreting a basic Turing Machine program (cf. Copeland).
Note for reviewers: In an earlier draft of this proposal, the notion of introducing the Turing machine at the freshman level was appropriately questioned. I intend to pursue Turing machines at the level of the Scientific American article on Turing machines (see below), which should be accessible at this level. That is, no proofs, no hard problems, probably only simulation of simple programs
Assignment: Either a short exercise in KR using SNePS (a computer system for semantic propositional networks), or in Clips (an expert system shell).
This paper introduces the physical symbol system as a formal model for computation and introduces the "Physical Symbol System Hypothesis." We will combine this with the Turing-Church Hypothesis to gain an understanding of the hopes of strong AI.
Assignment: A written (one page) response to the paper.
Assignment: A simple search program.
Searle proposes a test to counter both the Turing Test and the Physical Symbol Hypothesis. Does he succeed?
Assignment: A written (one page) response to the paper.
Grammars and scripts, and an answer for Descartes.
Assignment: Work with simple grammars