CSCI
404 (Spring 2018)
Artificial
Intelligence
[ Administrative
Basics  Course Description  Assignments  Outline of
Lectures ]
Lecture 
BB
W210  Tuesday and Thursday 2:00  3:15 PM 
Instructor 
Hua
Wang  BB 280F  Office hours: Tuesday and Thursday 3:15  4:00 PM, Friday
1011AM, or by appointment 
Grader 
Saad
Elbeleidy  Email: selbeleidy
x mymail y mines y edu
where x=at and y=dot 
Textbook 
Artificial Intelligence:
A Modern Approach, Third Edition. S. Russell and P. Norvig.

Reference
books 
Artificial Intelligence in the 21st Century. Stephen Lucci, Danny Kopec. Artificial
Intelligence: A Systems Approach. M. Tim Jones 
Grading 
Original
percentage of graded components: 1. Homework sets (20%): 5 homework sets, one for 4 points. 2. Projects (24%): 4 programming projects, one for 6 points. 3. Midterm (26%): one midterm exam will
be at the middle of the semester. The time will be notified by two weeks in
advance. 4. Final (30%): the final exam will be
at the final exam week specified by school. The time will be notified by
school. Adjusted
percentage of graded components according to midterm survey: 1. Homework sets (20%): 4 homework sets, one for 5 points. 2. Projects (30%): 5 programming projects. Among the 5 projects, 4 are
required and one for 7.5 points; 1 project is optional for extra bonus
points. 3. Midterm (20%): one midterm exam will be at
the middle of the semester. The time will be notified by two weeks in
advance. 4. Final (30%): the final exam will be
at the final exam week specified by school. The time will be notified by
school. Your grades have
been/will be posted in the Canvas. If you think the score of your
homework/project/midterm/final is not correct, please appeal it to the
instructor within 10 days from when it is posted in the Canvas.
After 10 days, the score will be considered as finalized. An email will be
sent through the Canvas every time when a score is formally posted. 
Prerequisites 
Good math and programming background. CSCI262 (Data
Structures) and MATH323 (Probability and Statistics for Engineers (I)) are
required. 
This
course gives an introduction to the philosophies and techniques of Artificial
Intelligence. AI techniques have become an essential element in modern computer
software and are thus essential for a successful career and advanced studies in
computer science. Students successfully completing this course will be able to
apply a variety of techniques for the design of efficient algorithms for
complex problems. Topics covered in this course include search algorithms (such
as breadthfirst, depthfirst, A*), gameplaying algorithms (such as Minimax),
knowledge and logic reasoning, probabilistic reasoning, and machine learning.
Topics to Be Covered (Tentative)
1. AI: Concepts and history
2. Solving problems by searching
Uninformed search
Informed search
Constraint satisfaction problems
3. Games
The minimax principle
Modern gameplaying systems
Game theory
4. Logic
Propositional logic
Firstorder logic
Inference
5. Probabilistic reasoning
Basic probability concepts
Bayesian inference
Naive Bayes models
Bayesian networks
6. Machine learning
Supervised vs. unsupervised learning
Decision trees
Nearest neighbor classifiers
Neural networks
Five
homework sets have been/will be posted at the Canvas. 

Students will be asked to finish a total of 4
programming projects. The projects must be submitted through the Canvas. See
project details in the Canvas. 
Lecture
notes are posted in the Blackboard. You can also access the lecture notes
directly from the below links by your user and password for the blackboard.

Lectures 
Readings 

Week
1 
January
8: Introduction slides January
10: NO CLASS (Day swap by university) 
Chapter
01 

Week
2 
January
16: Problem solving by search I slides January
18: Problem solving by search II slides 
Section
3.1  3.2 Section
3.1  3.2 

Week
3 
January
23: Uninformed search I slides January
25: Uninformed search II slides 
Section
3.3  3.4 Section
3.3  3.4 
Exercise
1 has been posted. Programming
project 1 has been posted, due on Thursday 2/8/2018. 
Week
4 
January
30: Informed search slides February
01: Admissible heuristics slides 
Section
3.5 Section
3.6 
Exercise
2 has been posted. Exercise
3 has been posted. Homework 1
has been posted, due on Tuesday 2/13/2018. 
Week
5 
February
06: Search with nondeterminism/partial observation slides February
08: Methods for finding optimal configurations slides 
Section
4.3 Section
4.1 
Exercise
4 has been posted. 
Week
6 
February
13: Local search slides February
15: Constrained satisfaction problems slides 
Section
4.1  4.2 Section
6.1  6.2 
Exercise
5 has been posted. Exercise
6 has been posted. 
Week
7 
February
20: NO CLASS (Presidents' Day Break) February
22: Solve constrained satisfaction problems slides 
Section
6.3 

Week
8 
February
27: Adversarial search slides March
01: Adversarial search with uncertainty slides 
Section
5.1  5.3 Section
5.4  5.5 
Exercise
7 has been posted. Homework 2
has been posted, due on Tuesday 3/6/2018. Exercise
8 has been posted. 
Week
9 
March
06: Midterm exam preparation sample
exam March
08: Midterm
exam 

Programming
project 2 has been posted, due on Thursday 3/22/2018. 
Week
10 
March
13: Midterm exam review March
15: Knowledgebased agents and propositional logics slides 
Section
7.1  7.4 

Week
11 
March
20: Inference with Propositional Logics slides March
22: Inference with Resolution slides March
23: Review session, 11AM12PM, BB W475 
Section
7.5 Section
7.5 
Homework 3
has been posted, due on Tuesday 4/3/2018. Programming
project 3 has been posted, due on Thursday 4/5/2018. Exercise
9 has been posted. 
Week
12 
March
27: NO CLASS (Spring Break) March
29: NO CLASS (Spring Break) 


Week
13 
April
03: Introduction to firstorder logics slides April
05: Inference with firstorder logics slides April
06: Review session, 121PM, BB W475 
Section
8.1  8.3 Section
9.1, 9.2, 9.5 
Exercise
10 has been posted. 
Week
14 
April
10: Quantifying uncertainty slides April
12: Inference with probabilistic models slides April
13: Review session, 1011AM, BB W475 
Section
13.1  13.2 Section
13.3  13.6, 14.1 
Exercise
11 has been posted. Programming
project 4 (OPTIONAL) has been
posted, due on Tuesday 4/24/2018. 
Week
15 
April
17: Probability and the Bayesian Networks slides April
19: Inference with Bayesian Networks slides April
20: Review session, 11AM12PM, BB W475 
Section
14.2 Section
14.2  14.4 
Exercise
12 has been posted. Programming
project 5 has been posted, due on Thursday 5/3/2018. 
Week
16 
April
24: Making rational decisions with uncertainty slides April
26: Invited talk by Mr. Jon Ford: Machine
Learning In Speech 
Chapter
16 
Homework 4
has been posted, due on Tuesday 5/1/2018. 
Week
17 
May
01: Introduction to learning agents slides May
03: Final exam preparation May
05 (Saturday):
Final exam
10:15AM  12:15PM, BB W210 
Chapter
18 
Exercise
13 has been posted. 
Week
18 


Academic integrity
policy
1. Feel free to discuss assignments with each other, but coding and reports
must be done individually.
2. Feel free to incorporate code or tips you find on the Web, provided this
does not make the assignment trivial and you explicitly
acknowledge your sources.
3.
The
collaboration policies for programming projects in all CS courses must be
followed.