CPE/CSC 480-F05 Artificial Intelligence
CPE/CSC 480-F05 Artificial Intelligence Syllabus
General Information
- Course Description:
[from the Cal Poly 2003-5 Catalog]
"Programs and techniques that characterize artificial intelligence.
Programming in a high level language. 3 lectures, 1 laboratory. "
Prerequisites:
CSC 103 (Fundamentals of Computer Science III)
and CSC 141 (Discrete Structures I).
Students should be familiar with programming in Java,
and be able to work with elementary logic in propositional
and predicate calculus environments.
- Goals and Objectives
The goal of this course is to understand important problems, challenges,
concepts and techniques from the field of Artificial Intelligence.
In order to achieve this, students learn how to analyse, design, and
program intelligent agents of varying complexities. These agents gather information
from their environment, convert it into a suitable internal representation
(which may be augmented with information provided by the designer),
analyse their internal knowledge to determine suitable actions,
and finally execute some actions.
More specifically, after successfull completion of the course, students should
- know classical examples of artificial intelligence
- know characteristics of programs that can be considered "intelligent"
- understand the use of heuristics in search problems and games
- know a variety of ways to represent and retrieve knowledge and information
- know the fundamentals of artificial intelligence programming techniques
in a modern programming language
- consider ideas and issues associated with social technical,
and ethical uses of machines that involve artificial intelligence
The following textbook will be used in this course:
There is a column in the course schedule
indicating the chapters in the book that correspond to a topic discussed in class.
Students are expected to read the respective chapters before the topic is covered in class.
For further reading, here are some more suggestions:
- A comparison of
AI text books by Stuart Russell
and Peter Norvig can be found
at http://www.cs.berkeley.edu/~russell/competing.html.
- The lecture notes from
MIT's course on Artificial Intelligence
are available through their OpenCourseWare project at
ocw.mit.edu.
The topics covered are similar to ours, and some of the notes
contain nice examples.
- Another AI textbook with an agent-based perspective is
Artificial Intelligence: A New Synthesis
by Nils J. Nilsson,
Morgan Kaufmann,
1998, ISBN 1-55860-467-7.
- The fourth edition of "Artificial Intelligence - Structures and
Strategies for Problem Solving"
by George F. Luger ,
Addison Wesley, 2002, ISBN 0201-64866-0
is based on a more traditional approach to AI, with less emphasis
on intelligent agents.
- A more philosophically oriented treatment of the major AI topics
is
Paradigms of Artificial Intelligence --
A Methodological and Computational Analysis
by Achim Hoffmann,
Springer-Verlag, August 1998, ISBN 981-3083-97-2.
There are also a few books on more practical aspects of AI programming and intelligent agents:
- AI for Game Developers.
David M. Bourg, Glenn Seeman,
O'Reilly
July 2004, ISBN 0-596-00555-5, 400 pages, $39.95 US.
The complete set of examples from this book is available at
http://examples.oreilly.com/ai/.
- AI Game Programming Wisdom
Edited by Steve Rabin.
Charles River Media,
ISBN 1-58450-077-8, Price $69.95, March 2002.
- AI Game Programming Wisdom Vol. 2
Edited by Steve Rabin.
Charles River Media,
ISBN 1-58450-289-4, $69.95, December 2003, Book/CD (Win/Linux) 732 pages.
-
AI Game Development: Synthetic Creatures with Learning and Reactive Behaviors.
Alex Champandard,
New Riders, ISBN 1592730043; $49.99, Nov 2003.
Lecture Notes
The PowerPoint slides used in class will be available to students
from the bookstore, or through this Web page (e.g. via the course schedule).
Additional Material
Further material will be made available through handouts in class,
and through pointers to relevant Web pages.
Grading Policy
The table shown gives an overview of the calculation of the grades.
I reserve the right to change the formula used.
Please note that the project consists of several parts which will be evaluated separately.
The project will be done in teams, and the performance of the team as a whole
will be graded unless there is a clear disparity in the contribution
of the individual team members.
Should this be the case, I might ask for additional documentation like work sheets,
email messages, or draft copies of documentation to evaluate individual contributions.
Academic Dishonesty and Cheating
Academic dishonesty can be a serious offense.
Any instances of cheating or plagiarism may be reported to the department chair
and the Campus Student Relations and Judicial Affairs Office.
The Cal Poly rules and policies are listed in the catalog (page 24 in the 2003-2005 edition),
as well as at the CSRJA web site,
http://www.calpoly.edu/~saffairs/csrja/index.html.
If the rules are unclear or you are unsure of how they apply, ask the instructor beforehand.
We may use programs or services like Moss to compare assignments
within a section, across all current sections of this class, and with old assignments.
While such programs are not perfect, they detect suspicious similarities
even after replacement of variable names and other identifiers.
Turning in work is presumed to be a claim of authorship unless
explicitly stated otherwise.