Spring 2010»CSCI 470

CSCI 470

Artificial Intelligence

When/Where

TR 01:40-02:55PM / J.C. LONG 219

Description

A course introducing fundamental techniques for artificial intelligence. Among topics covered are heuristic search, knowledge representation, intelligent agents, reasoning, neural networks, genetic algorithms, and artificial intelligence programming. Additional topics may include Bayesian networks, natural language processing, machine learning, rule-based systems, robotics, and discovery informatics. Artificial intelligence programming techniques will also be introduced.

Prerequisites: Computer Science 230 and Mathematics 307

Test Dates

  • Test 1: Tuesday, March 4, 2010
  • Test 2: TBA
  • Final: 12:00pm-3:00pm, Tuesday, May 4, 2010

Assignments

Textbook

Python References

Readings & References

  1. A. M. Turing (1950), "Computing Machinery and Intelligence", Mind, New Series, Vol. 59, No. 236. (Oct., 1950), pp. 433-460.
  2. Meet Elbot, Loebner Prize winner Meet Elbot, 2008 Loebner Prize Turing Test contest winner - Elbot's purpose is to converse with users about any topic. While Elbot doesn't try to appear human, given "the hidden humans, who were also responding to the same conversation, could have also tried to confuse the human interrogator", Elbot took the 2008 Loebner Prize Turing Test contest prize and came close to passing the Turing Test (passed test with 25% of interrogators, as opposed to 30% suggested by Turing).
  3. Wired (2009), Computer Program Self-Discovers Laws of Physics - In just over a day, a powerful computer program accomplished a feat that took physicists centuries to complete: extrapolating the laws of motion from a pendulum's swings.
  4. Möbius transformations Möbius Transformations Revealed - a short video by Douglas Arnold and Jonathan Rogness which depicts the beauty of Möbius transformations and shows how moving to a higher dimension reveals their essential unity.
  5. pair programming An introduction to pair programming. This 9-minute video describes what pair programming is, the do's and don'ts of effective pairing, and the pros and cons of pair programming. Here is the accompanying worksheet.

Software