TR 10:50-12:05PM / MAYBANK 322
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 1: Thursday, March 1, 2012
- Test 2: Thursday, April 26, 2012
- Final: 8:00-11:00AM, Thursday, April 26, 2012
Readings & References
- Moshe Y. Vardi (2012), "Artificial intelligence: past and future", Communications of the ACM, pp. 5-5, January 2012.
- A. M. Turing (1950), "Computing Machinery and Intelligence", Mind, New Series, Vol. 59, No. 236. (Oct., 1950), pp. 433-460.
- "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).
- 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.
- 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.
- Python 2.7 (actually, any 2.x version > 2.5).
- Pyro Python robotics simulator.