Teaching  Home

CSCI 404 (Spring 2019)

Artificial Intelligence


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


Administrative Basics



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


Hua Wang | BB 280F | Office hours: Tuesday and Thursday 3:15 - 4:00 PM, 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 (25%): 5 homework sets, one for 5 points.

2.       Projects (30%): 4 programming projects, one for 7.5 points.

3.      Midterm (21%): one midterm exam will be at the middle of the semester. The time will be notified by two weeks in advance.

4.      Final (24%): 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 on 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  

Reinforcement Learning




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 Canvas. You can also access the lecture notes directly from the below links by your user and password for the Canvas.






Week 1

January 8: Introduction slides

January 10: NO CLASS (Day swap by university)

Chapter 01

Homework 1 has been posted, due on Tuesday 1/15/2019.

Week 2

January 15: Problem solving by search I slides

January 17: Problem solving by search II slides

Section 3.1 - 3.2

Section 3.1 - 3.2


Programming project 1 has been posted, due on Tuesday 2/5/2019.

Week 3

January 22: Uninformed search I slides

January 24: Uninformed search II slides

Section 3.3 - 3.4

Section 3.3 - 3.4, 4.3 - 4.4

Exercise 1 has been posted.

Exercise 2 has been posted.

Week 4

January 29: Informed search slides

January 31: Admissible heuristics slides

Section 3.5

Section 3.6


Exercise 3 has been posted.

Homework 2 has been posted, due on Thursday 2/7/2019.

Week 5

February 05: Methods for finding optimal configurations slides

February 07: Local search slides

Section 4.1

Section 4.1 - 4.2

Exercise 4 has been posted.

Exercise 5 has been posted.

Week 6

February 12: NO CLASS (Career Day)

February 14: Constrained satisfaction problems slides


Section 6.1 - 6.2


Exercise 6 has been posted.

Week 7

February 19: NO CLASS (Presidents' Day Break)

February 21: Solve constrained satisfaction problems slides


Section 6.3


Exercise 7 has been posted.

Week 8

February 26: Adversarial search slides

February 28: Adversarial search with uncertainty slides

Section 5.1 - 5.3

Section 5.4 - 5.5

Exercise 8 has been posted.

Homework 3 has been posted, due on Tuesday 3/12/2019.

Programming project 2 has been posted, due on Thursday 3/21/2019.

Sample midterm exam has been posted.

Week 9

March 05: Midterm exam preparation

March 07: Midterm exam



Week 10

March 12: Midterm exam review

March 14: Knowledge-based agents and propositional logics slides


Section 7.1 - 7.4


Week 11

March 19: Inference with propositional logics slides

March 21: Inference with resolution slides

Section 7.5

Section 7.5

Exercise 9 has been posted.

Homework 4 has been posted, due on Thursday 4/4/2019.

Programming project 3 has been posted, due on Thursday 4/11/2019.

Week 12

March 26: NO CLASS (Spring Break)

March 28: NO CLASS (Spring Break)



Week 13

April 02: Introduction to first-order logics slides

April 03: review session (4-5PM, BB W475): exercise 9

April 04: Inference with first-order logics slides

Section 8.1 - 8.3


Section 9.1, 9.2, 9.5



Exercise 10 has been posted.

Week 14

April 09: Quantifying uncertainty slides

April 11: NO CLASS (E-Day)

April 12: review session (8-9AM, BB 280I): exercise 10

Section 13.1 - 13.2


Week 15

April 16: Inference with probabilistic models slides

April 17: review session (4-5PM, BB W475): exercise 11

April 18: Probability and the Bayesian Networks slides

Section 13.3 - 13.6, 14.1


Section 14.2

Exercise 11 has been posted.

Programming project 4 has been posted, due on Thursday 4/30/2019.

Homework 5 has been posted, due on Thursday 4/25/2019.

Week 16

April 23: Inference with Bayesian Networks slides

April 25: Introduction to learning agents slides

April 26: review session (8-9AM, BB 280I) : exercise 12

Section 14.2 - 14.4

Chapter 18


Exercise 12 has been posted.

Week 17

April 30: Introduction to deep learning and its application in AI

May 1st: review session (4-5PM, BB W475): sample final exam

May 02: Introduction to deep learning and its application in AI

May 04: Final exam: 10:15am - 12:15pm, BB W250 (current classroom)


Sample final exam has been posted.





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.