Artificial Intelligence

CS4804 Fall 2021


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, MCB 113.

Virginia Tech is committed to protecting the health and safety of all members of its community. Effective August 23, Virginia Tech will require face masks in all instructional spaces, including classrooms, laboratories, and studio spaces, for both instructors and students, regardless of vaccination status. Virginia Tech Ready website.

By participating in this class, all students agree to abide by the Virginia Tech Wellness principles and the guidance stated in the Fall 2021 plans. To adhere to these, you must do the following in this class:
  • Wear a mask at all times while in class.
  • Wear a mask during all other activities conducted for the class in public indoor areas.
  • Isolate yourself from campus if you test positive for COVID or begin to feel symptoms that might be related to COVID (see: CDC information).
  • Be respectful of the well-being of others by practicing appropriate personal hygiene and by providing appropriate physical distance when feasible.

Masks may be reusable or homemade cloth masks, dust masks, or surgical masks and should fit close to the face to provide thorough filtration of breathed air. Face shields that are open around the sides do not satisfy this requirement and are currently not accepted as a viable alternative by the university (see:

If a student feels that they cannot wear a mask for health concerns and must use an alternative form of face covering such as a face shield, they should contact Services for Students with Disabilities to request an accommodation. No exceptions for masks will be provided unless there is an official accommodation notice provided by SSD to the instructor.

These requirements will not be waived. The instructor has the authority to terminate the class session early if the health and safety requirements are not maintained. Students who fail to follow the requirements will be reported to the Office of Student Conduct.

If a student will miss significant class activities because of the need to self-isolate, then the Dean of Students Office should be contacted for an official absence verification. Prolonged absences may be difficult to make-up. Students should consult with their advisor about possible options if too much course work is missed to feasibly make-up. As pandemic conditions continue to evolve through the semester, these requirements may need to change. The guidance posted by the university at VT Ready should represent the most up-to-date requirements of the university and should be checked periodically for changes.

  • Instructor:
    Yinlin Chen, Ph.D., Digital Library Architect and Assistant Professor, University Libraries
    Office hours: Tuesday 2:00 PM–3:00 PM. By appointment. Zoom
  • Teaching Assistants:
    Shakiba Davari, Ph.D. Student, at 3D-Interaction Lab
    Office hours: 10-12pm on Monday Zoom

    Ying Shen, Ph.D. Student
    Office hours: 9-10am on Tuesday and Thursday Zoom

  • Class and Office Hour Chart
    Mon. Tue. Wed. Thu. Fri.
    10:00 AM - 12:00 PM
    Shakiba, TA Office Hours

    9:00 AM - 10:00 AM
    Ying, TA Office Hours

    2:00 PM – 3:00 PM
    Instructor Office Hours, Zoom. Request an appointment

    3:30 PM – 4:45 PM
    Class, MCB 113.

    9:00 AM - 10:00 AM
    Ying, TA Office Hours

    3:30 PM – 4:45 PM
    Class, MCB 113.

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:
  • GitHub: We will use GitHub as a code repository for class program, demostration, workshop, etc.
  • AWS: We will use AWS for class program, demostration, workshop, etc.

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.

Reading and materials

Grading breakdown

  • 7%: Class attendance and participation
  • 28%: Homework assignments
  • 30%: Project assignments (2%: Project 0)
  • 15%: Midterm exam
  • 20%: Final exam

Class schedule

Week Dates Tue Thur Notes
1 08/23-08/27 Overview of AI (pdf)
Agents / Python & Projec 0 (pdf)
Project 0: Tutorial
2 08/30-09/03 Uninformed Search
Ch. 3.1-3.4 (pdf)
Informed Search
Ch. 3.5-3.6 (pdf)
HW1 / Project 1: search
3 09/06-09/10 Game, Adversarial Search (pdf)
Ch. 5.1-5.3
Game, Expectimax, Utilities (pdf)
Ch. 5.5 & 16.1-16.3
4 09/13-09/17 Constraint satisfaction problem (CSP) I (pdf)
Ch. 6.1-6.2
CSP II (pdf)
Ch. 6.3–6.5
HW2 / P2: Game
5 09/20-09/24 Propositional Logic (pdf)
Ch. 7.1–7.5
First-Order Logic (pdf)
Ch. 8 & 9
6 09/27-10/01 Markov Decision Processes (MDP) (pdf)
Ch. 17.1-17.3
MDP / Reinforcement Learning (pdf)
Ch. 17-3-17.5 & 22.1
HW3 / P3: Mini-Contest 1
7 10/04-10/08 Reinforcement Learning I (pdf)
Ch. 22.1-22.2
Reinforcement Learning II (pdf)
Ch. 22.3-22.5
8 10/11-10/15 Midterm review (pdf)
Ch. 12.1–12.5
Midterm Exam (3:30pm – 4:45pm)

Exam time 75 minutes.
P4: Reinforcement Learning
9 10/18-10/22 Probability (pdf) / Bayesian Networks I (pdf)
Ch. 13.1-13.3
Bayesian Networks II (pdf)
Ch. 13.3-13.5
10 10/25-10/29 Decision Networks / HMMs (pdf)
Ch. 14.1-14.3 & 16.5-16.6
Particle Filters (pdf)
Ch. 14.1-3,14.5
HW4, HW7 / P5: Ghostbusters
11 11/01-11/05 Machine Learning Fundamentals (pdf)
Ch. 19
Machine Learning II (pdf)
Ch. 20
HW5 / P7: Mini-Contest 2
12 11/08-11/12 Deep Learning Fundamentals (pdf)
Ch. 21.1-21.2
Neural Networks (pdf)
Ch. 21.3-21.6
HW6 / P6: Machine Learning
13 11/15-11/19 Deep Learning for Nature Language Processing (pdf)
Ch 23 & Ch. 24
AI application & Research / The Ethics of AI (pdf)
TAs: Shakiba Davari & Ying Shen
Ch. 25
14 11/22-11/26 No class No class Thanksgiving Week
15 11/29-12/03 Final review (pdf)
The Future of AI (pdf)
(Student Presentation)
16 12/06-12/10 No class No class (Reading day) Office hours remain open
17 12/13-12/17 No class No class 12/13 (Mon) Final Exam
10:05am – 12:05pm
Exam time 2 hours.

Homework and Project assignment

  • 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.

  • Midterm exam 10/14 (Thursday) 3:30pm – 4:45pm. Exam time 75 minutes.
  • Final exam 12/13 (Monday) 10:05am – 12: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 assignment policy

Homework & project assignment 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 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.

Health and Well-being

Supporting the mental health and well-being of students in my class is of high priority to me and Virginia Tech. If you are feeling overwhelmed academically, having trouble functioning, or are worried about a friend, please reach out to any of the following offices:

  • Cook Counseling: 540-231-6557 to schedule an appointment and/or 24/7 crisis support. for more information.
  • Dean of Students Office: 540 231-3787 for general advice. 540-231-6411 for after-hours crisis. for more information.
  • Hokie Wellness: for more information about health and wellness workshops and consultations
  • Services for Students with Disabilities (SSD) 540-231-3788 or for more information about accommodations and other disability-related supports
  • For a full listing of campus resources check out
Please also feel free to speak with me. I will make an effort to work with you.

Faculty guidance for classroom conduct

Faculty Handbook Section 9.9: Classroom Conduct describes the responsibility of an instructor (any faculty rank or graduate teaching assistant) to maintain a positive learning environment. It states that, “Maintaining a good learning environment in the classroom is an important part of a faculty member’s responsibility as a teacher. Disruptive classroom conduct on the part of some students may be distracting, annoying, or intimidating to other students, and should not be tolerated by the teacher.”

These obligations include upholding the university’s guidance for health and safety protocolunder the conditions of COVID-19, including the updated masking guidelines for indoor spaces. Faculty should follow current University and Public Health Guidelines on the Virginia Tech Ready website.

Classroom behavior expectations for students should be clearly stated in the course syllabus. All instructors should include, at a minimum, a statement upholding the university’s Well-Being Commitment. The syllabus may include additional specific expectations such as the requirement for wearing a mask or face shield, or following posted classroom entry and exit protocols. Faculty should consult with their department head for guidance appropriate to the learning environments in which they will teach.

  • If a student fails to follow syllabus expectations regarding health and safety, an instructor first should address the situation in a manner proportional to the behavior and in a non-confrontational way. The student should be directed to either meet the expectations (e.g., obtain a mask or face shield) or not return to the classroom for that class meeting.
  • If necessary, an instructor can then terminate the class session and should inform the academic unit chair or head of their action. GTAs should consult with the faculty supervisor for the course.
  • If a student causes a disruption, refuses to comply, or persists in problematic behavior in a subsequent class meeting, the instructor should consult with the Office of Student Conduct for guidance and direction.
  • If a student engages in behavior that could be immediately dangerous or threatening to any member of the university community, the faculty member should call the Virginia Tech Police.

For more information, please reference the Classroom Conduct Guidelines for Fall 2021 resource document on the provost’s website or the Faculty Handbook (Section 9.9).

Disclaimer: This syllabus details the plans for the course, which are subject to change. I will make sure any changes are clearly announced and will always be intended for your benefit.

The course structure and materials are adopted from the "Intro AI" at UC Berkeley with an update using AIMA 4th edition.

For visitors outside the course: you are welcome to use the course materials for educational purposes. Do not sell any of this content.