Anda di halaman 1dari 4

Course Syllabus

CS 7637: Knowledge-Based AI
Ashok K. Goel
Course Description:
This is a core course in artificial intelligence. It is designed to be a
challenging course, involving significant independent work, readings,
assignments, and projects. It covers structured knowledge
representations, as well as knowledge-based methods of problem
solving, planning, decision-making, and learning.
Competency:
To succeed in this course, you should be able to answer 'Yes' to the
following four questions:
1. Are you comfortable with computer programming?
2. Are you familiar with concepts of data structures and objectoriented programming, such as inheritance and polymorphism?
3. Are you familiar with concepts of algorithms, such as sorting and
searching algorithms?
4. Are you confident with either Java or Python?
Learning Goals:
The class is structured around three primary learning goals. First, this
class teaches the concepts, methods, and prominent issues in
knowledge-based artificial intelligence. Second, it teaches the specific
skills and abilities needed to apply those concepts to the design of
knowledge-based AI agents. Third, it teaches the relationship between
knowledge-based artificial intelligence and the study of human
cognition.
Learning Strategies:
This structure of this course is determined by four primary pedagogical
motivations. First, this class is taught through learning by example.
Each topic is taught through examples of the way in which humans and
artificial intelligence agents approach certain problems, often building
from human thought toward AI agents and subsequently referring back
to human cognition. Second, each topic is also taught through learning
by doing; you will participate in the reasoning within each particular
lesson, and subsequently tie the topic back to a broader problem.
Third, the learning in this class is project-based. This class has four
projects, each of which build on the previous one, and the application
of the lessons to the design of KBAI agents is directed through these
projects. Finally, the fourth pedagogical motivation in this course is
personalization. Individualized feedback will be given on your
performance on the exercises, assignments, projects, and tests.
Additionally, you are welcome and encouraged to proceed at your own

pace throughout the lessons, including viewing them outside of the


designed order to better align with your interests.
Learning Outcomes:
At the conclusion of this class, you will be able to accomplish three
primary tasks. First, you will be able to design and implement a
knowledge-based artificial intelligence agent that can address a
complex task using the methods discussed in the course. Second, you
will be able to use this agent to reflect on the process of human
cognition. Third, you will be able to use both these practices to address
practical problems in multiple domains.
Structure of the Course:
The course is broken into roughly 30 lessons. Although the length of
individual lessons will vary, students are encouraged to complete
approximately three lessons per week. Suggested dates are listed
alongside the topics below.
1. Introduction to the Course
2. Introduction to Knowledge-Based Artificial Intelligence
3. Semantic Networks
4. Generate & Test
5. Means-Ends Analysis & Problem Reduction
6. Production Systems
7. Frames
8. Learning by Recording Cases
9. Case-Based Reasoning
10.
Incremental Concept Learning
11.
Classification
12.
Logic
13.
Planning
14.
Understanding
15.
Commonsense Reasoning
16.
Scripts
17.
Explanation-Based Learning
18.
Analogical Reasoning
19.
Version Spaces
20.
Constraint Propagation
21.
Visuospatial Reasoning
22.
Configuration
23.
Diagnosis
24.
Design
25.
Learning by Correcting Mistakes
26.
Meta-Reasoning
27.
Computational Creativity
28.
AI Ethics

29.

Course Wrap-Up

Grading Scheme:
Four Projects: 12.5% each (50% total)
Eight Assignments: (2.5% each, 20% total)
Midterm Examination: 10%
Final Examination: 20%
Course Readings:
No textbook is required for this class. Specific readings will be
suggested for each lesson. Many readings will come from the following
textbook:
Artificial Intelligence. Patrick Winston. Third Edition. MIT Press 1993
(available online at http://courses.csail.mit.edu/6.034f/ai3/rest.pdf)
Projects:
This course will consist of four coding projects, each of which will build
on the previous one. In all four projects, you will design and implement
an artificial intelligence agent that solves problems on a human
intelligence test. You will have approximately two to three weeks to
work on each, and the results of one project will be directly applicable
to the next. Agents may be programmed in Java or Python.
The projects are due at midnight on the following due dates:
Project 1: September 14th
Project 2: October 5th
Project 3: October 26th
Project 4: November 23rd
Assignments:
To complement these coding projects, you will also complete eight
written short assignments. Each written assignment will consist of
conceptually designing an artificial intelligence agent to address the
task using the topic of a particular lesson (for example, Semantic
Networks or Production Systems). These assignments will give you the
opportunity to receive feedback on your design ideas before
implementing your agents, as well as help connect the lesson material
with the project.
More than eight written assignments will be provided; you may choose
which eight to complete. You may complete any eight assignments in
any order. Two assignments must be turned in for every project,
following these due dates:
Assignment 1: August 31st
Assignment 2: September 7th

Assignment 3: September 21st


Assignment 4: September 28th
Assignment 5: October 12th
Assignment 6: October 19th
Assignment 7: November 2nd
Assignment 8: November 9th
Assignments are due at midnight Pacific time for the dates given.
Again, you may choose which assignments to complete for each due
date, but you must have completed one assignment by August 31st,
two by September 7th, etc.
Examinations:
Two take-home examinations will be given, a midterm and a final
exam. Both examinations will be open-book and open-note. You will
have approximately five days to complete each. The midterm and final
examination will focus on topics in the course that are less likely to
connect to the projects; these topics will be more explicitly articulated
closer to the examinations.
The midterm will be provided on September 26th, and is due on
October 1st. The final exam will be provided on December 1st, and is
due on December 8th.

Anda mungkin juga menyukai