Teaching  Home

CSCI 404 (Spring 2018)

Artificial Intelligence


[ Administrative Basics | Course Description | Assignments | Outline of Lectures ]


Administrative Basics



BB W210 | Tuesday and Thursday 2:00 - 3:15 PM


Hua Wang | BB 280F | Office hours: Tuesday and Thursday 3:15 - 4:00 PM, Friday 10-11AM, or by appointment


Saad Elbeleidy | Email: selbeleidy x mymail y mines y edu where x=at and y=dot


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


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.


Good math and programming background. CSCI262 (Data Structures) and MATH323 (Probability and Statistics for Engineers (I)) are required.


Course Description


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 breadth-first, depth-first, A*), game-playing 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 game-playing systems
Game theory

4.      Logic
Propositional logic
First-order logic

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  




Homework sets

Five homework sets have been/will be posted at the Canvas.

Programming project

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.



Outline of Lectures

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.






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: Knowledge-based 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, 11AM-12PM, 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 first-order logics slides

April 05: Inference with first-order logics slides

April 06: Review session, 12-1PM, 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, 10-11AM, 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, 11AM-12PM, 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.