The course assumes proficiency in python programming. We will spend a few lectures on python, but generally expect you to accomplish that on your own, if you are not already an adept. If you would like some help, as well as course credit, in learning python, we recommend CS 200, which meets MW 2:30pm in WLH 120. We hear that the instructor is quite charming. You can drop by this afternoon.
If you're thinking of taking CPSC 470, please do the following.
By contrast, classic AI, or what we will, with minimum vanity, call classic Yale AI, tries to replicate human cognitive behavior with the twin goals of creating smart programs and also gaining an understanding of how humans think.
One of the early tasks for AI was chess playing. Smart people play chess. If a computer could play chess and beat a smart person, the computer would be intelligent. Right? Simon and Newell, early AI researchers at Carnegie Mellon, tried creating computer programs based on verbal protocols of expert chess players. That is, the programs tried to replicate the stated mental processes of people. These programs were OK, but not great. The dominant approach to game playing (which we will explore in this course) involves searching the game tree to the greatest depth possible. This algorithm is not what humans do, but it proved successful in defeating humans. Search is a cornerstone of modern AI, and computer science in general. Think Google.
Most of the techniques in the textbook and course are of the latter variety. How can we get a computer to accomplish a task, even if there is no evidence that people use that method?
Modern AI and Classic Yale AI are two perspectives. You may view them in Hegelian terms and thesis and antithesis. In this course, we argue for the synthesis. Other dimensions of the duality include
Next steps: getting up to speed in Python and jupyter notebooks.