|
CSI 4106, Winter 2012: syllabus
CSI 4106. Introduction to
Artificial Intelligence
(3 hours of lectures per
week, 3 credits).
The roots and scope of
Artificial Intelligence. Knowledge and knowledge representation.
Search, informed search, adversarial search. Deduction and reasoning.
Uncertainty in Artificial Intelligence. Introduction to Natural
Language Processing. Elements of planning. Basics of Machine Learning. Prerequisites:
(CSI3120 or SEG2106) and MAT1348.
Course objectives
To introduce you to Artificial Intelligence
by way of a broad overview -- with a strong emphasis on
symbolic methods --
and to show you how much you have
to learn after you have completed this course if you want to become
really good at any specific area of Artificial Intelligence.
Please note that this a Computer Science
course. Students of Software Engineering and Computer Engineering: you
are
heartily welcome, but let me warn you that in my course there is not
a lot of engineering, but
quite a lot of science. (-:)
Instructor
Dr. Stan Szpakowicz,
Professor
office: STE 5102
phone: 562-5800 ext. 6687
email: szpak at eecs dot
uottawa dot ca
office hours: by appointment
Feel free to send me questions by electronic
mail. They will be usually answered the same day. If you wish to visit
my office, please make an appointment by email. I am generally
available, and I think that such flexible office
hours will work better for you.
Course Web site
http://www.eecs.uottawa.ca/~szpak/teaching/4106/
Textbook and handouts
George
F. Luger, Artificial Intelligence, 5th ed.,
Addison-Wesley, 2005 (the book will be available used at the Agora bookstore for
$26.49 + tax). If you prefer the 2009 edition, and are ready to
pay over
$100 more, here
is the link.
Class notes and additional handouts will be
posted on the course Web
site, the Handouts page.
Timetable
Mondays 14:30-16:00 and Thursdays 16:00-17:30, STE J0106
A detailed list of topics (it may
change a little)
- Introduction
- The many definitions of Artificial Intelligence
- Sources and areas of Artificial Intelligence
- Bits of the history of Artificial Intelligence
Search
- Knowledge and search
- Basic search methods
- Informed (heuristic) search
- Simple games: adversarial search
Knowledge representation
- Logic for knowledge representation
- Predicate logic
- Resolution
- Prolog
- Symbolic knowledge representation schemes
- Rule-based systems
- Uncertainty in knowledge representation
- Non-monotonic reasoning
- Probability, Bayes' rule
Applications
- Natural language processing
- Basic facts about English
- Prolog for language analysis
- Parsing
- Simple semantic analysis (probably)
- Planning
- Learning
- An overview of machine learning methods
- Decision trees
- Explanation-based learning
Marking scheme
There will be a maximum of 100 marks for you to accumulate,
divided as follows (a minor change is still possible):
- Midterm test [M]: 19 marks
- Final exam [F]: 43 marks
- Assignments [A]: 38 marks
To pass the course, you
need
at least 55
marks, and the combined midterm and final exam mark must be at least
31. Your written homework and programming assignments will only count
if you have passed the
exams. In other words, your total will be calculated like this:
if M + F < 31 then (M +
F) * 1.5 else M + F + A
The midterm will be one class,
the final exam will be 3 hours, open-book both. The midterm will take
place on Thursday, March 1, in class. You
are expected to write it.
There will be no make-up. If you have a valid medical reason to have
missed the midterm, confirmed by the official University health
services, I will add the weight of the midterm to the final exam's
weight.
The final exam will be
comprehensive, with a slight emphasis on the second half of the course.
Note that you will not have a chance to exercise topics 11-12 in
an
assignment, so that part of the final exam will rely on reading and
thinking
rather than reading, thinking and doing.
Assignments -- details (the dates
and the marks may shift a little)
| Tentative topic |
Marks |
Posted - due |
Introduction
|
4 |
Jan. 19 - Jan. 30
|
Games [programming]
|
8 |
Jan. 30 - Feb. 13
|
State spaces, search, logic
|
6 |
Feb. 13 - Feb. 27
|
Forward chaining [knowledge engineering]
|
6 |
Feb. 27 - Mar. 12
|
| Knowledge representation: uncertainty |
6 |
Mar. 12 - Mar. 19
|
Natural language processing [programming]
|
8 |
Mar. 19 - Apr. 5
|
Some assignments will be
written. Others will require programming, though only in one will I ask
for software development; the other two can be characterized
as knowledge engineering. The suggested language will be Prolog,
naturally; I will post a lot of code to help you
get going. The knowledge engineering work will rely on simple
tools written in Prolog; they will be available at the course Web
site. You can avoid Prolog in game programming,
because it is
realistically doable in Java or C++ or some other such tool.
Plan of lectures (it may change a
little)
| Date |
Topic |
Date |
Topic |
| Jan. 9, Mon. |
1
|
Feb. 27, Mon. |
8; 9 |
| Jan. 12, Thu. |
1, 2
|
Mar. 1, Thu. |
midterm |
| Jan. 16, Mon |
2, 3
|
Mar. 5, Mon. |
9 |
| Jan. 19, Thu |
3
|
Mar. 8, Thu. |
9; 10
|
| Jan. 23, Mon |
4
|
Mar. 12, Mon. |
10 |
| Jan. 26, Thu |
4, 5
|
Mar. 15, Thu. |
10
|
| Jan. 30, Mon. |
5
|
Mar. 19, Mon. |
10
|
| Feb. 2, Thu. |
6
|
Mar. 22, Thu. |
10
|
| Feb. 6, Mon. |
6
|
Mar. 26, Mon. |
10; 11
|
| Feb. 9, Thu. |
6, 7
|
Mar. 29, Thu |
11 |
| Feb. 13, Mon. |
7, 8
|
Apr. 2, Mon. |
12 |
| Feb. 16, Thu. |
8
|
Apr. 5, Thu. |
12 |
|
study week |
|
|
The drop date this term is March 16.
Avoid plagiarism...
Have a good look at our policy,
please.
Good luck!
Updated on
January 17, 2012
|