CS 3600 Intro to Artificial Intelligence — Fall 2019

Tuesday & Thursday 4:30-5:45pm, Klaus room 2443 Boggs room B9.

Instructor: Brian Hrolenok
@cc.gatech.edu email: brian.hrolenok
Office Hours: 6:00pm-7:00pm, T/Th

Course description

CS 3600 - Introduction to Artificial Intelligence is a 3-credit introductory course intended for undergraduates. Artificial Intelligence is subfield of Computer Science which covers the design, implementation, and analysis of computational systems that can be said to reason, learn, or act rationally. This course presents a broad overview of this material using an agent based approach, and has a particular focus on the details of implementation. The class is programming intensive, and a strong background in the programming language of the assignments (Python) will be very useful.

Learning objectives:

Prerequisites. The official prerequisite for this course is CS 1332, although familiarity in the following topics will be useful:

Textbook: Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig, Third edition. ISBN: 978‑0136042594.
Readings for each week are given in the schedule below, and ideally should be completed before class so you can bring your questions to class.


All project submissions will be handled through Canvas, and are due by the date and time listed there. Submissions by email will not be accepted. Canvas should be configured to allow submissions up to two hours late for most assignments, but these will incur a 5% penalty, and late submissions may be disabled if abused. (see the updated late policy below)

Late Policy

This semester we are trying out a new late policy. You have three free late days to be used at your discretion thoughout the semester. That means you might turn in one assignment two days late or two different assignments one day late, etc. A free late day is "used" one minute after an assignment due date. A second free late day is "used" 24 hours and one minute after the due date. A third free late day is used 48 hours and one minute after the due date. After the free late days are exhausted, you will receive a 20% penalty per day.

Project 1: This project asks you to solve a variety of search tasks, using the techniques covered in the first 4 to 5 weeks of the class. The schedule below has a tentative due date, but be sure to check on Canvas for updates.

Project 2: This project covers MDPs and Reinforcement Learning approaches to solving problems in environments with action stochasticity.

Project 3: This project covers inference and filtering in Bayesian Networks.

Project 4: This project covers Machine Learning using Neural Networks.


There will be two exams in this class, a midterm and a final (cumulative). The date for the midterm may differ from what is listed below, but the intent is for you to have as much feedback as possible before the grade-change deadline. The date for the final is fixed by the registrar. You are allowed one 8.5x11in sheet of notes, front and back. There will be no make up exam unless previously arranged (well in advance), or excused by the Dean of Students.

Grading policies

Your TAs and I will strive to provide you reasonably detailed and timely feedback on every assignment and exam. If you have any questions about any of your grades please reach out to us, either by coming to scheduled office hours or via your "@gatech.edu" email address. If there is an error with your grade, please contact us within a week of when feedback is returned, otherwise we might not be able to change it.

Point breakdown:

Academic Integrity
All of the assignments in this class are individual work only. There are absolutely solutions to some of these assignments on the Internet. Do not use them. If you can find them, so can we, and we will check. It's probably a bad idea to even look for them, even for "an idea of how to start" because once you see one solution, its hard not to think of it as the solution. If you do wind up "just looking", make sure you document it in your code. Otherwise, you run the risk of appearing to misrepresent another's work as your own. When in doubt, be explicit about where the code came from.

Being a student at Georgia Tech can be very stressful, and it's far too easy to overload your semester with difficult or time-intensive classes. When you have multiple assignments due in the same week, sometimes you have to decide how much time you can spend on each one, and sometimes there just aren't enough hours in the day. Come and talk to me about it, there's probably some way we can make things work. I'm far more willing to give extensions, hold extra office hours, and curve than I am willing to overlook violations of the honor code.


The following is the tentative schedule for the fall 2019 semester. Please check your email and Canvas regularly for any changes, as this website may not be updated immediately.

Week 1 — August 20th & 22nd.
Introductions and Logistics. Reading: Ch 1-2

Week 2 — August 27th & 29th.
Uninformed search. Reading: Ch 3.1-3.4

Week 3 — September 3rd & 5th.
A* search and heuristics. Reading: Ch 3.5-3.6

Week 4 — September 10th & 12th. Project 1 due (tentative).
Adversarial Search. Reading: Ch 5.1-5.3

Week 5 — September 17th & 19th.
Markov Decision Processes. Reading: Ch 17.1-17.3

Week 6 — September 24th & 26th.
Q-learning and probability review. Reading: Ch 21.3.2, Ch 13

Week 7 — October 1st & 3rd. Project 2 due (tentative).
Bayes nets. Reading: Ch 14.1-14.4

Week 8 — Octber 8th & 10th.
Filtering and Hidden Markov Models. Reading: Ch 15.1-15.3

Week 9 — October 17th.

Week 10 — October 22nd & 24th. Project 3 due (tentative).
Midterm review and Project 3 help.

Week 11 — October 29th & 31st.
Optimization. Reading: Ch 4.1-4.2

Week 12 — November 5th & 7th
Intro to Machine Learning. Reading: Ch 18.1, 18.2, 18.6.1, 18.6.2.

Week 13 — November 12th & 14th.
Neural Networks. Reading: Ch 18.7

Week 14 — November 19th & 21st. Project 4 due (tentative).
Decision Trees. Reading: Ch 18.3

Week 15 — November 26th.
Additional topics.

Week 16 — December 3rd.
Course summary and final review.