Artificial Intelligence

CS4804 Spring 2024


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 Monday, Wednesday, and Friday from 1:25 PM to 2:15 PM at Data & Decision Sciences (D&DS) Building 155

Course Staff

  • Instructor:
    Yinlin Chen, Ph.D., Assistant Professor.
    Assistant Director, Center for Digital Research & Scholarship at Virginia Tech University Libraries
    Office hours: Tuesday 10-11am. By appointment.
    - Zoom
    - In-person: Newman Library 5004
  • Teaching Assistants:
    Ishtiaque Ahmed Khan, Ph.D. Student
    Office hours: Monday 11:15am-1:10pm / Friday 10:00am-12:05pm
    - Zoom
    - In-person: Torg 1070
    Zelin Wan, Ph.D. Student
    Office hours: Wednesday/Friday 3pm-5pm
    - Zoom
    Federico Hurtado, Undergraduate Student
    Office hours: Tuesday/Thursday 12pm-1pm
    - Zoom
    - In-person: Torg 1070
  • Class and Office Hour Chart
    Mon. Tue. Wed. Thu. Fri.
    Ishtiaque's office hours: Torg 1070 and Zoom
    11:15AM - 1:10PM

    Class: DDS 155
    1:25PM - 2:15PM
    Yinlin's office hours: Newman Library 5004 and Zoom
    10:00AM - 11:00AM

    Federico's office hours: Torg 1070 and Zoom
    12:00PM - 1:00PM

    Class: DDS 155
    1:25PM - 2:15PM

    Zelin's office hours: Zoom
    3:00PM - 5:00PM

    Federico's office hours: Torg 1070 and Zoom
    12:00PM - 1:00PM

    Ishtiaque's office hours: Torg 1070 and Zoom
    10:00AM - 12:05PM

    Class: DDS 155
    1:25PM - 2:15PM

    Zelin's office hours: Zoom
    3:00PM - 5:00PM

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

  • Russell and Norvig, Artificial Intelligence, A Modern Approach. 4th Edition. ISBN: 0134610997. Table of Contents for the US Edition.
  • Additional materials may be provided electronically, including readings, video lectures, and other media.
  • Slides and other materials will be available at the course canvas

Grading breakdown

  • 10%: Class attendance and participation
  • 20%: Homework assignments
  • 20%: Project assignments (Project 0)
  • 15%: Mini-Project assignments
  • 15%: Midterm exam
  • 20%: Final exam

Class schedule

Note: The syllabus and class schedule provided below is subject to changes throughout the semester. Please stay updated with any modifications that may occur.

Week Dates Monday, Wednesday, and Friday Notes
1 01/15-01/19 Course overview, Overview of AI (Ch.1), Python & Projec 0 Project 0: Tutorial
2 01/22-01/26 Agents (Ch.2), Uninformed Search (Ch. 3.1 – 3.4), Informed Search (Ch. 3.5 – 3.6)
HW 1 / Project 1: search
3 01/29-02/02 Informed Search (Ch. 3.5 – 3.6), Probability (Ch. 12.1 – 12.5) HW 2
4 02/05-02/09 Game, Adversarial Search (Ch. 5.1 – 5.3), Game, Expectimax, Utilities (Ch. 5.5 & 16.1 – 16.3) HW3 / Project 2: Game
5 02/12-02/16 Constraint satisfaction problem (CSP) (Ch. 6.1 – 6.5) HW4 / Mini-project
6 02/19-02/23 Markov Decision Processes (MDP) (Ch. 17.1 – 17.5)
7 02/26-03/01 Reinforcement Learning (Ch. 22.1 – 22.5)
Project 3: Reinforcement Learning
8 03/04-03/08 No class. Spring break
9 03/11-03/15 Midterm preparation (03/11), Mini-Project and additional TA hours (03/13), Midterm (03/15) HW6
10 03/18-03/22 Bayesian Networks (Ch. 13.1 – 13.5) HW7
11 03/25-03/29 Decision Networks / HMMs (Ch. 14.1 – 14.3 & 16.5 – 16.6), Particle Filters (Ch. 14.1 – 3,14.5) HW8 / Project 4: Ghostbusters
12 04/01-04/05 Machine Learning (Ch. 19 - 20)
13 04/08-04/12 Deep Learning Fundamentals (Ch. 21.1 – 21.6) HW9 / Project 5: Machine Learning
14 04/15-04/19 Neural Networks & Computer Vision, Nature Language Processing, The Ethics of AI, Final Exam AMA, Mini-Project and additional TA hours
15 04/22-04/26 Student Project Presentation
16 04/29-05/03 Student Project Presentation, Reading Day (05/02)
17 05/06-05/10 Final Exam 05/07. 2:05PM - 4:05PM

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.


The goal of the mini-project is for students to practice techniques learned from this or outside the class and work on an AI research project. Students will work on the AI/ML project in a group (Maximum 4 students).


There will have Midterm and Final exams.
Exams for this course will be open-book and notes are allowed. They will be designed with the intent of testing your ability to understand and apply the concepts we learn about in class, not whether you can memorize them. You should take the exams all by yourself, and should not communicate with others through communication tools like email, phone, chat, Zoom, Skype, social media, LLMs, e.g., ChatGPT, etc. during the exams.

* The instructor reserves the right to adjust for unexpected performance on the exams, 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 Graduate 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 Graduate 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
  • Student Success Center: The Student Success Center helps students develop the skills needed to accomplish their academic goals and become self-directed learners. Their free services include individual and group tutoring, peer academic coaching, a Seminar Series on Academic Success, and more. Students can book appointments through Navigate. For instructions and more information, please visit
  • 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.

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