CS 6601 2024-3
CS 6601 2024-3
Table of Contents
Table of Contents
Class Information
Teaching Team
Course Description
Required Course Readings
Competency
Class Goals
Class Materials
Course Schedule
Reading List
Class Assessments
Grade Categories
Grading Policies
Assignments
Midterm and Final
Class Policies
Course Communication
Office Hours
Late Work
Collaboration & Academic Honesty
Feedback
Class Information
Course Description
CS6601 is a survey of the field of Artificial Intelligence and will often be taken as the first
graduate course in the area. It is designed to be challenging and involves significant
independent work, readings, and assignments. The course covers most of the required
textbook Artificial Intelligence: A Modern Approach 4th edition, which is a keystone of Georgia
Tech’s Intelligent Systems PhD qualifier exam.
Competency
To succeed in this course, you should be able to answer 'Yes' to the following questions:
If your answer is “No” to any of these questions, this course may not be appropriate for you.
Class Goals
By the end of this course, we hope you achieve the following goals:
● Foundation: You should build a strong foundation in classic AI techniques like game
playing, search, constraint satisfaction, logic and planning, machine learning,
graphical models, etc.
● Skills: You should be able to propose, evaluate, and implement solutions to problems
requiring AI techniques
● Integration: You should be aware of where AI intersects with other disciplines,
primarily machine learning and perception.
● Assessment: You should have experienced different flavors of problems and solutions,
and have developed a taste for some; you should also have confidence in how and
where AI can be applied in problems relevant to society.
Class Materials
Course Schedule
CS6601: Artificial Intelligence is typically run as a 16-week class. All assignments are due at the
end of the week, on Sunday at midnight UTC-12 (Anywhere On Earth time). This deadline
translates to an early-morning Monday deadline in the Americas, a midday Monday deadline
in Europe, etc.
The class schedule is available here. This schedule of the lessons is intended as a rough guide.
For the midterm you are responsible for all material that has a suggested date prior to the
release of the midterm. For the final, everything in the class, including what you learned in
your research for the assignments, will be applicable. Each assignment is based on some of
the preceding lesson topics and may require additional independent research.
Reading List
Most readings will be from the textbook. Additional readings will be made available either
publicly online or will be provided to you in the Resources section for this class.
Class Assessments
Grade Categories
Your final grade in this class will be based on a couple of components (and some minor ones).
Category % Description
Extra credit 12% Throughout the class there will be opportunities to receive extra
credit to encourage a deeper, more “research-y” understanding of
the material.
It is important to note that this course does not follow the normal grading buckets (90 or
above for "A", 80 to 90 for "B", etc.). Make sure to pay attention to the announcements after
each assignment is graded to understand where your grade sits in the big picture.
Achieving a final grade above the median will result in an “A”. A “B” will be given for final
grades equal to the median and above 1 standard deviation below the median. Final grades
equal to or below 1 standard deviation below the median and above 2 standard deviations
below the median will get a “C”. Final Grades equal to or below 2 standard deviations below
the median and above 3 standard deviations below the median will get a “D”. Any grade equal
to or below 3 standard deviations below the median will get an “F”. There will be chances to
earn extra credit points during the semester, which will be factored in at the end after all other
curving is done, i.e. extra credit points will not contribute to the curves.
It's important to note that curving cannot give you a worse letter grade than the one you
would receive under the normal grading buckets, i.e you can guarantee yourself a letter grade
“A” by getting a grade above 90, the same applies to other letters (e.g. 80-90 is “B”, etc.).
Although we understand the importance of grades, we encourage you to focus first on doing
the best you can; if you do, your grade should take care of itself.
Grading Policies
We strive to return grades within two weeks of submission. Grades will generally be delivered
via Canvas.
Note that grades on the last assignment and the final exam will be posted very close to the
final grade submission deadline. Make sure to allocate time after finals to check your grades
and make sure everything, especially these last two grades, are as you expect.
Lastly, remember: this class is effectively graded on a curve. If you try to interpret your grade
according to the traditional categories, you will likely think you are doing worse in the class
than you actually are. Make sure to pay attention to the stats posts at the end of each
assignment for the context necessary to interpret your grade and evaluate your performance.
The cutoff for an “A” will be at most 90%. The cutoff for a “B” will be at most 80%. For a “C”, at
most 70% etc.
Assignments
There are six assignments in this class. Only the top five grades will be used in determining
the final grade; however, we suggest you complete all of the assignments because they will
help with your understanding and your performance on the final. Each year, several students’
letter grades would have been higher had they completed the last assignment (which is on
your instructor’s favorite topic). Make sure to attempt extra credit sections for each
assignment that has it; extra credits will be added on top of your assignment score, even if
you scored full marks already.
Note: the top five grades policy will not be applied in cases of academic violation, the zero
score grade (in-case of the first academic misconduct) will be enforced as one of the top five
grades.
Most assignments will involve programming in Python. You may wonder why we chose
Python given that Peter Norvig and Thad Starner both prefer Lisp for teaching AI and that Alan
Kay once called Lisp “The greatest single programming language ever designed”? In preparing
for this course, the AI instructors surveyed believed Python was the best compromise; it has
inherited many good features of Lisp, is commonly used in industry (e.g., Google), and best
matches the pseudocode in the book (according to Norvig himself). Students taking a course
at this level should be able to become functional in a new language quickly. Please become
acquainted with Python.
Below is a summary of the assignments. Due dates can be found on the course calendar.
0. Priority Queue: A simple exercise for familiarization with python and preparation for the
next assignment.
1. Search: Experiment with various search techniques to discover the most efficient way to
find the shortest path between three places in a city.
2. Isolation Player: Use the MINIMAX and alpha-beta pruning techniques and experiment
with evaluation functions to create a program that can play a variant of the game Isolation
better than a human.
3. Bayes Nets: Implement Bayesian networks and sampling algorithms to gain a better
understanding of probabilistic systems.
4. Decision Trees: Build, train, and test several decision tree models to perform basic
classification tasks.
5. Gaussian Mixture models: Implement k-means clustering and Gaussian mixture models to
perform basic image segmentation. Research, implement, and test the Bayesian Information
Criterion to guarantee a more robust image segmentation.
*More information about the projects and their learning goals will be provided in the
individual project assignment pages.
These python assignments are submitted to Gradescope (mandatory) and are auto-graded.
The exams will be provided and submitted in PDF format. Gradescope will be used for
grading, so students will be able to view their grades and examine the graded PDF for each
exam.
Class Policies
Course Communication
Any new class information that you are responsible for knowing (such as changing due dates
or changes to assignment requirements) will usually be sent in two ways:
● A Canvas announcement with an email notification.
● A pinned Ed Discussion announcement in the ‘announcements’ folder with an email
notification.
Thus, any new information you are required to know should be visible on the Canvas page
and Ed Discussion forum for the class. However, Canvas is the official resource for deadlines
and information.
If we have any questions for you (for instance if we cannot open your assignment or run your
code) we will email you. Georgia Tech generally asks that you check your GT email at least
once every 24 hours on weekdays. Although a response within 24 hours is rarely required in
this course, we ask that you check your GT email with that level of regularity to make sure you
see any important announcements and have plenty of time to respond to any TA questions. If
we contact you and do not hear back, your grade may be affected (and we don’t want that!).
Note that assignments are due on Sunday nights based on popular request among OMS
students. However, remember that for the instructors and TAs of this class, this is a job
and we may not check Ed Discussions on weekends. Please make sure to start the
projects and assignments early enough to ask questions in advance.
Office Hours
Generally speaking, questions should first be posted to Ed Discussions. This opens up the
question to input from everyone in the class and creates a self-documenting history of the
answer to the question. However, there are certain questions that are better suited for office
hours, such as more conversational discussions on course material and discussions about
individuals’ grades. For these cases, we will have weekly synchronous office hours sessions
run via Zoom. A calendar of the available office hours is available here.
Note that generally, these office hours will not be recorded aside from Zoom. Synchronous
office hours are intended for conversations, discussions about course material, etc. rather
than straightforward question-and-answer; since they tend to be personalized to the
individual attendees, they are not as useful when recorded and posted. Additionally, the
pressure of knowing that around 300 people may watch a private chat tends to dampen
natural conversation. If anything comes up in these office hours that is relevant to the rest of
the class, it will be recorded or posted on Ed Discussions. In the event that synchronous office
hours are not offered during a time that you can make, please let us know and we’ll try to add
times to the schedule.
If your question is about a private issue such as a grade on an examination, you should post a
private Ed Discussions message (visible only to instructors). Please remember, however, that
the instructor and TAs are together responsible for a class of around 300 students in addition
to in-person classes and other responsibilities. Please be patient in awaiting responses and
whenever possible, post your questions publicly on the forum first.
Late Work
Running such a large class involves a detailed workflow for assigning assignments to graders,
grading those assignments, and returning those grades. As such, work that does not enter
into that workflow presents a major delay. Thus, we cannot accept any late work in this class.
All assignments must be submitted by the posted deadlines. Only the top N-1 of the N
assignment grades will be used to calculate the final grade. Our suggestion is to use that
policy wisely and always submit something for each assignment, taking advantage of the
policy only in an emergency. If you have technical difficulties submitting the assignment to
Canvas, post privately to Ed Discussions immediately and attach your submission.
If you have an emergency and absolutely cannot submit an assignment by the posted
deadlines, we ask you to go through the Dean of Students' office regarding class absences.
The Dean of Students is equipped to address emergencies that we lack the resources to
address. Additionally, the Dean of Students office can coordinate with you and alert all your
classes together instead of requiring you to contact each professor individually. You may find
information on contacting the Dean of Students with regard to personal emergencies here.
The Dean of Students is there to be an advocate and partner for you when you’re in a crisis;
we wholeheartedly recommend taking advantage of this resource if you are in need.
Justifiable excuses here would involve any major unforeseen disruption to your classwork,
such as illnesses, injuries, deaths, and births, all for either you or your family. Note that for
foreseen but unavoidable conflicts, like weddings, business trips, and conferences, you
should complete your work in advance. If you have such a conflict specifically with the
midterm or final, let us know and we’ll try to work with you.
However, collaboration should be at the “white board interaction” level. We draw the lines as
follows:
● You may not copy any code directly from anyone else. To this end, you are explicitly
prohibited from looking at public GitHub repositories for the purposes of the
assignments (including the book's own python repositories & code implementations).
If you are looking at someone else's code, whether it be that of a fellow student or a
public GitHub repository, you are cheating. This includes pseudocode shared on the
web or by classmates; you may only use pseudocode provided by the book or the
teaching staff. In this regard, we are emulating the rules of behavior in corporate
environments like Google. Looking at other people's code can and will be considered
equivalent to plagiarism. You may use others' ideas to inform your own designs, but
your project must be your own work.
● You may not post your assignment code on a public platform such as GitHub. Please
use a private repository (available free through Georgia Tech) if you wish to use git.
● You may not directly copy any text from anyone else's written assignments. This
includes paraphrasing. Again, you may use others' ideas to inform your own writing,
but your assignments must be your own work.
● You may not collaborate with anyone at all on the midterm or final. Do not discuss or
share the questions and answers with your classmates or any other parties until after
the tests are due.
The program has mechanisms in place to prevent plagiarism. We enlist the help of OMSCS
students in detecting such cases and will act upon any evidence that we find. We have
successfully caught instances of plagiarism each semester. Please don’t be the next person;
we can assure you that the consequences for a poor grade are far, far less impactful than the
consequences for plagiarism. It is not worth the risk. Any instances of violation of this policy
will be referred to the Dean of Students, initiating a lengthy resolution process. If you are
unsure of whether a certain type of collaboration is acceptable, please ask first, preferably on
Ed Discussions. The full Georgia Tech honor code is available here.
Feedback
We continually experiment with 6601, and there are bound to be things we can (and will)
improve. First, we ask that you be patient and understanding with anything that might go
wrong; we promise that we, too, will be fair and understanding, especially with anything that
might impact your grade or performance in the class. Second, we ask you to give us feedback
on anything that we could be doing better, as well as feedback on anything you are
particularly enjoying. You may take advantage of the suggestion box on Ed Discussions (or
email the Professor and the TAs).
Diversity and Inclusion
Georgia Tech values diversity and inclusion; we are committed to a climate of mutual respect
and full participation. Our goal is to create learning environments that are usable, equitable,
inclusive and welcoming. If there are aspects of the instruction or design of this course that
result in barriers to your inclusion or accurate assessment or achievement, please notify the
instructor as soon as possible. Students with disabilities should contact the Office of Disability
Services to discuss options of removing barriers in this course, including accommodations.
ODS can be reached at 404.894.2563, [email protected], or at disabilityservices.gatech.edu.