Artificial Intelligence

CS4804 Fall 2020


This course will introduce the foundations of modern artificial intelligence (AI) and key ideas and techniques underlying the design of intelligent computer systems. It will focus on concepts that are not only important in the space of AI but are also practically useful in modern applications. We will practice effective methods of reasoning about AI problems, which will generalize beyond the specific topics we study in class. Topics include (but are not limited to) search, game playing, logic, machine learning, deep learning, natural language processing, robotics and image processing. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue.

Class meets Tuesday and Thursday from 3:30 PM to 4:45 PM using Zoom (Online with Synchronous meetings).

The course homepage (this page) is at
Canvas: CS4804 and should be visible to all users with a Virginia Tech login.

These software and tools would be used during the class:

Learning Objectives

By the successful completion of this course, students will be able to:
  • Explain and analyze classical artificial intelligence algorithms.
  • Examine applications of AI techniques in intelligent agents, expert systems, artificial neural networks, and other machine learning models.
  • Design and develop intelligent systems by assembling solutions to concrete computational problems that learn from experience.
  • Implement methods of machine learning using a high-level programming language.
  • Have a well-informed perspective on what is possible with modern AI methods and what will be possible in the future.


  • Search: heuristic search, A*, adversarial search, and game playing.
  • Probability and learning: reasoning under uncertainty, reinforcement learning, temporal modeling.
  • Logic and knowledge: propositional, first-order, reasoning, planning, knowledge representation.
  • Machine learning: supervised, unsupervised, reinforcement, and deep learning.
  • AI Applications: self-driving cars, computer vision, natural language processing, and more.


The only official prerequisite is CS 3114 (Undergraduate Data Structures and Algorithms). You should be comfortable with discrete mathematics, basic probability and statistics, basic logic, computational complexity, data structures, and algorithm analysis. The homework assignments will include programming portions using Python.

Please speak with the instructor if you are concerned about your background.


If any student needs special accommodations because of any disabilities, please contact the instructor during the first week of classes. Such students are encouraged to work with The Office of Services for Students with Disabilities to help coordinate accessibity arrangements.

Reading and materials

Grading breakdown

  • 7%: Class attendance and participation
  • 2%: Homework & Project 0
  • 56%: Homework assignments with written and Project programming components
  • 15%: Midterm exam
  • 20%: Final exam

Class schedule

Week Dates Tue Thur Notes
1 08/24-08/28 Overview of AI (pdf)
Ch.1 & 2
Uninformed Search (pdf)
Ch. 3.1-3.4
HW0 / P0: Tutorial
2 08/31-09/04 Informed Search (pdf) (recording)
Ch. 3.5-3.6
Game, Adversarial Search (pdf) (recording)
Ch. 5.1-5.3
HW1 / P1: Search
3 09/07-09/11 Game, Expectimax, Utilities (pdf) (recording)
Ch. 5.5 & 16.1-16.3
CSP I (pdf) (recording)
Ch. 6.1-6.2
4 09/14-09/18 CSP II (pdf) (recording)
Ch. 6.3–6.5
Propositional Logic (pdf) (recording)
Ch. 7.1–7.5
HW2 / P2: Multi-Agent Search
5 09/21-09/25 First-Order Logic (pdf) (recording)
Ch. 8 & 9
Markov Decision Processes (pdf) (recording)
Ch. 17.1-17.3
6 09/28-10/02 MDP / Reinforcement Learning (pdf) (recording)
Ch. 17-3-17.5 & 22.1
Reinforcement Learning I (pdf) (recording)
Ch. 22.1-22.2
HW3 / P6: Mini-Contest 1
7 10/05-10/09 Reinforcement Learning II (pdf) (recording)
Ch. 22.3-22.5
Probability (pdf) (recording)
Ch. 12.1–12.5
8 10/12-10/16 Bayesian Networks (pdf) (recording)
Ch. 13.1-13.3
10/15 Midterm Exam (Online)
2:30pm – 5:40pm
Exam time 2 hours.
10/16 Fall Break
9 10/19-10/23 Bayesian Networks II (pdf) (recording)
Ch. 13.3-13.5
Decision Networks / HMMs (pdf) (recording)
Ch. 14.1-14.3 & 16.5-16.6
HW4 / P3: Reinforcement Learning
10 10/26-10/30 Particle Filters (pdf) (recording)
Ch. 14.1-3,14.5
Machine Learning Fundamentals (pdf) (recording)
Ch. 19
HW7 / P7: Mini-Contest 2
11 11/02-11/06 Machine Learning II (pdf) (recording)
Ch. 20
Deep Learning Fundamentals (pdf) (recording)
Ch. 21.1-21.2
HW5 / P4: Ghostbusters
12 11/09-11/13 Neural Networks & Nature Language Processing (pdf) (recording)
Ch. 21.3-21.6 & Ch 23
Deep Learning for NLP
Guest: Dr. Lifu Huang (slides) (pdf) (recording)
Ch. 24
13 11/16-11/20 Robotics
Guest: Dr. Sahika Genc (AWS)
Ch. 26
Computer Vision
Guest: Dr. Jia-Bin Huang (recording)
Ch. 25
HW6 / P5: Machine Learning
14 11/23-11/27 No class No class Thanksgiving Week
15 11/30-12/04 The Ethics of AI / Final review (pdf)/(review)
Ch. 27
The Future of AI
(Student Presentation) (recording)
(Mini-Contest Results) (MiniContest1_Top1.pdf)
Ch. 28
HW7 / P7: Mini-Contest 2 Due on 11/30 Monday
16 12/07-12/11 No class No class (Reading day)
17 12/14-12/18 No class No class 12/16 (Wed) Final Exam
(Online)1:05pm – 3:05pm
Exam time 2 hours.


  • Each homework assignment will include written and programing portions.
  • Both written and programming assignments will be submitted electronically. Submission instructions will be posted with each assignment on Canvas.
  • Programming assignments will be in Python and will be based on the UC Berkeley The Pac-Man Projects .
  • These programming assignments, while fun, only cover a portion of the topics we will study, so they will be supplemented with written problems.


Mini-Contests are programming assignments which covers from homework assignments with more difficult scenarios. There is no single set solution, please bring your own creative ideas!


that you do not use communication tools like email, chat, or social media during the exams.

  • The midterm exam will be a take-home (online) 10/15 (Thursday) 2:30pm – 5:40pm. Exam time 2 hours.
  • The final exam will be a take-home exam (online) 12/16 (Wednesday) 1:05pm – 3:05pm. Exam time 2 hours.
* The instructor reserves the right to adjust for unexpected performance on the final exam, exceptional contributions to student activities, or other anomalies. The instructor reserves the right to be more lenient in the assignment of letter grades.

Regrading requests

Requests for regrading due to grading errors must be submitted in writing to a TA within one week of the release of grades.

Late homework policy

Homework submitted late without permission will be penalized according to the following formula:

(Penalized score) = (Your raw score) * (1 - 0.1 * (# of days past deadline))

This formula will apply for up to three days, after which the homework will not be accepted and you will receive a grade of zero. Avoid invoking these penalties by starting early and seeking extra help.

Grading scale

Based on the grading breakdown above, each student's final grade for the course will be determined by the final percentage of points earned. The grade ranges are as follows:

 A   93.3%–100%   A-   90.0%–93.3%   B+   86.6%–90.0%   B   83.3%–86.6% 
 B-   80.0%–83.3%   C+   76.6%–80.0%   C   73.3%–76.6%   C-   70.0%–73.3% 
 D+   66.6%–70.0%   D   63.3%–66.6%   D-   60.0%–63.3%   F   00.0%–60.0% 

Academic integrity

The Undergraduate Honor Code pledge that each member of the university community agrees to abide by states: "As a Hokie, I will conduct myself with honor and integrity at all times. I will not lie, cheat, or steal, nor will I accept the actions of those who do."

Students enrolled in this course are responsible for abiding by the Honor Code. A student who has doubts about how the Honor Code applies to any assignment is responsible for obtaining specific guidance from the course instructor before submitting the assignment for evaluation. Ignorance of the rules does not exclude any member of the University community from the requirements and expectations of the Honor Code. For additional information about the Honor Code, please visit:

This course will have a zero-tolerance philosophy regarding plagiarism or other forms of cheating. Your homework assignments must be your own work, and any external source of code, ideas, or language must be cited to give credit to the original source. I will not hesitate to report incidents of academic dishonesty to the Office of the Undergraduate Honor System.

Principles of Community

Because the course will include in-class discussions, we will adhere to Virginia Tech's Principles of Community. The first two principles are most relevant:

  • We affirm the inherent dignity and value of every person and strive to maintain a climate for work and learning based on mutual respect and understanding.
  • We affirm the right of each person to express thoughts and opinions freely. We encourage open expression within a climate of civility, sensitivity, and mutual respect.

The remaining principles are also important and we will take them seriously as a class.