CSC 416 - 3 Semester Hours
Foundations of Artificial Intelligence
Elements of Common Lisp are introduced through examples and a number of programming exercises. These examples and exercises feature basic tools and techniques associated with the field of Artificial Intelligence (AI), including state space problem solving, problem reduction methodologies, minimax game playing, and productions systems. The study of Lisp commences with elementary built in data types and culminates with an in depth examination of CLOS, the Common Lisp Object System. In between recursive list processing, program with higher order functions, macro definition, and a host of programming language concepts and constructs are explored.
The Prolog language is introduced through examples and a number of programming exercises. The Prolog expierience will benefit from the earlier Lisp expierience through which numerous important concepts of a general nature will have been learned. Emphasis will be placed in pattern matching and the inferential nature of Prolog. Programming exercises will feature classic knowledge representations associated with the field of AI.
Throughout the semester readings will be assigned which generally discuss fragments of AI from a historical perspective. The premise here is that, as with the learning of natural languages, the learning of artificial languages can be greatly enriched by closely looking at (by virtual emersion in) the culture in which the languages thrives. While Lisp and Prolog are both general purpose programming languages, AI is the culture in which these two languages thrive.
Upper division Computer Science elective. Taken by most Computer Science B.S. Degree students with the Artificial Intelligence concentration. Required by Cognitive Science B.S. Degree Majors. Taken by most Compter Science B.A. Degree majors as part of their "learning agreement". The course is taken by many Computer Science majors in partial fullfillment of the General Education Writing Across the Curriculum Requirement.
Upon successful completion of this course, students will be able to:
Attend class and participate in discussions. Take all exams. Satisfactorily complete programming assignments. Complete all writing assignments. Build a Web site which reflects the course and records work completed in the course.
Computing machines and software.
I. Bratko, PROLOG: Programming for Artificial Intelligence, Addison Wesley, 1990.
D. Dennett, Darwin's Dangerous Idea: Evolution and the Meanings of Life, Touchstone: Simon and Schuster, 1995.
W. Hennessey, Common Lisp, McGraw Hill.
M. Mitchel, Genetic Algorithms, The MIT Press, 1992.
P. McCorduck, Machines Who Think, Freeman, 1979.
N. Nilsson, Artificial Intelligence: A New Synthesis, Morgan Kaufmann, 1998.
E. Rich and K. Knight, Artificial Intelligence, McGraw Hill, 1991.
D. Rummelhart and J. McClelland, Parallel Distributed Processing, MIT Press, 1986.
S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, 1995.
H. Simon, The Sciences of the Artificial, The MIT Press, 1996.
M. Spitzer, The Mind within the Net: Models of Learning, Thinking, and Acting, The MIT Press, 1992.
A. Staugaard, Robotics and AI: An Introduction to Applied Mchine Intelligence, Prentice Hall, 1987.
G. Steele, Common LISP, Digital Press, 1984.
N. Stillings, M. Feinstein, J. Garfield, E. Rissland, D. Rosenbaum, S. Weisler, and L. Baker-Ward, Cognitive Science: An Introduction, A Bradford Book: The MIT Press, 1995.
P. Winston, Artificial Intelligence, Addison Wesley, 1977.
M. Yazdani (editor), Artificial Intelligence: Principles and Applications, Chapman and Hall, 1986.