Artificial Intelligence

CS4804 Fall 2018


This course will cover the foundations of modern artificial intelligence (AI) and many of the key ideas that have resonated throughout its history. 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.

Class meets Monday, Wednesday, and Friday from 1:25 PM to 2:15 PM in Surge 104b.

  • Instructor:
    Bert Huang, Assistant Professor of Computer Science
    Office hours: Mondays 3:00 PM–5:00 PM, Torgersen Hall 3160L
  • Teaching Assistants:
    Elaheh Raisi
    Office hours: Tuesday 3–5 pm, Wednesday 3–5 pm, Kelly Hall 219

    Shakiba Davari
    Office hours: Thursday 2–4 pm, Friday 9–11 am, CS Lounge (McBryde 1st Floor)
  • Office Hour Chart
    Mon. Tue. Wed. Thu. Fri.
    1:25 PM – 2:15 PM
    Class, Surge 104b

    3 PM – 5 PM
    Bert, Torg 3160L.
    3 PM – 5 PM
    Elaheh, Kelly Hall 219
    1:25 PM – 2:15 PM
    Class, Surge 104b

    3 PM – 5 PM
    Elaheh, Kelly Hall 219
    2 PM – 4 PM
    Shakiba, CS Lounge
    9 AM – 11 AM
    Shakiba, CS Lounge

    1:25 PM – 2:15 PM
    Class, Surge 104b

The course homepage (this page) is at

The course Canvas site is at and should be visible to all users with a Virginia Tech login.

Learning Objectives

Upon successful completion of this course, students will be able to
  • understand and analyze classical artificial intelligence algorithms;
  • have a well-informed perspective on what is possible with modern AI methods and what will be possible in the future;
  • design and build nontrivial artificial intelligence agents capable of seeking goals and strategizing against adversaries and uncertainty;
  • form expert opinions on the benefits, dangers, and ethics of artificial intelligence; and
  • have the foundation necessary to understand and implement cutting-edge AI concepts that are poised to significantly change the world in the near 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
  • Applications: self-driving cars, assistants, personalized health, 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

  • Russell and Norvig, Artificial Intelligence, A Modern Approach. Third Edition. ISBN: 0136042597
  • Additional materials may be provided electronically, including readings, video lectures, and other media.

Slides and other materials will be available in at

Grading breakdown

  • 5%: Homework 0
  • 60%: Five homework assignments with written and programming components (12% each)
  • 10%: Midterm exam
  • 25%: Final exam


(Or click here if the embedding is not working.)



Exams for this course will be open-book and notes. 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 will be asked to sign a pledge that you do not use communication tools like email, chat, or social media during the exams.

The midterm exam will be held in class on 10/12/18. The final exam will be a take-home exam.

Regrading requests

Requests for regrading due to grading errors must be submitted in writing to the 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:

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