OMS CS7637: Knowledge-Based AI — Spring 2021

This page provides information about the Georgia Tech OMS CS7637 class on Knowledge-Based AI relevant only to the Spring 2021 semester. Note that this page is subject to change at any time. The Spring 2021 semester of the OMS CS7637 class will begin on January 14, 2021. Below, find the course’s calendar, grading criteria, and other information. For more complete information about the course’s requirements and learning objectives, please see the general CS7637 page.

Quick Links

To help with navigation, here are some of the links you’ll be using frequently in this course:

Course Calendar At-A-Glance

Below is the calendar for the Spring 2021 OMS CS7637 class. Note that assignment due dates are all Sundays at 11:59PM Anywhere on Earth time.

Week #Week OfLessonsDeliverableAssignment Due Date
101/11/202101, 02Introductions, Start-of-Course Survey01/17/2021
201/18/202103, 04RPM Milestone 101/24/2021
301/25/202105, 06Mini-Project 101/31/2021
402/01/202107, 08Homework 102/07/2021
502/08/202109Mini-Project 2, Quarter-Course Survey02/14/2021
602/15/202110, 11RPM Milestone 202/21/2021
702/22/202112Exam 102/28/2021
803/01/202113, 14Homework 203/07/2021
903/08/202115, 16Mini-Project 3, Mid-Course Survey03/14/2021
1003/15/202117, 18RPM Milestone 303/21/2021
1103/22/202119, 20Mini-Project 403/28/2021
1203/29/202121, 22Homework 304/04/2021
1304/05/202123, 24Mini-Project 504/11/2021
1404/12/202125RPM Milestone 404/18/2021
1504/19/2021Final RPM Project04/25/2021
1604/26/2021Exam 205/02/2021
1705/03/202126End-of-Course Survey, CIOS Survey05/09/2021

Given above are the numeric labels for each lesson. For reference, here are those lessons’ titles, with the estimated time to complete each lesson in minutes in parentheses:

  • 01: Introduction to Knowledge-Based AI (45)
  • 02: Introduction to CS7637 (60)
  • 03: Semantic Networks (60)
  • 04: Generate & Test (30)
  • 05: Means-Ends Analysis (60)
  • 06: Production Systems (60)
  • 07: Frames (45)
  • 08: Learning by Recording Cases (30)
  • 09: Case-Based Reasoning (60)
  • 10: Incremental Concept Learning (60)
  • 11: Classification (45)
  • 12: Logic (90)
  • 13: Planning (75)
  • 14: Understanding (30)
  • 15: Commonsense Reasoning (60)
  • 16: Scripts (30)
  • 17: Explanation-Based Learning (45)
  • 18: Analogical Reasoning (60)
  • 19: Version Spaces (60)
  • 20: Constraint Propagation (45)
  • 21: Configuration (45)
  • 22: Diagnosis (45)
  • 23: Learning by Correcting Mistakes (45)
  • 24: Meta-Reasoning (30)
  • 25: Advanced Topics (60)
  • 26: Wrap-Up (30)

Course Assessments

Your grade in this class is generally made of five components: three homework assignments, five mini-projects, one large project, two exams, and class participation.

Final grades will be calculated as an average of all individual grade components, weighted according to the percentages below. Students receiving a final average of 90 or above will receive an A; of 80 to 90 will receive a B; of 70 to 80 will receive a C; of 60 to 70 will receive a D; and of below 60 will receive an F. We do not plan to have a curve. It is intentionally possible for every student in the class to receive an A.

Homework (15%)

You will complete three homework assignments in this course, each worth 5% of your average. Each homework assignment will have two questions, which you will answer in around three pages each. These questions will cover the course material, as well as give you a chance to investigate cutting-edge AI research. You will be expected to do some outside research for some of these questions. All assignments should be written using JDF.

Mini-Projects (30%)

You will complete five mini-projects in this course, each worth 6% of your average. Each mini-project asks you to implement some AI logic shown in the course lectures, although you are also welcome to attempt to solve the problems using other techniques. For each of the mini-projects, you will also provide a short write-up of your approach, mainly to share with classmates and look through others’ approaches. These write-ups should be written using JDF. You’ll submit the write-ups to Canvas and the code to Gradescope.

Raven’s Project Milestones (15%) and Raven’s Final Project (15%)

The semester-long project is the Raven’s project, where you will write an agent that can solve problems on the Raven’s Progressive Matrices test. For the project, you will complete four milestones throughout the semester, and then a final submission. The four milestones together are worth 15% of your average, and the final submission is worth another 15%. The milestones are there to ensure that you get started on the project early and have an opportunity to see your classmates’ approaches. Each milestone, as well as the final project submission, is graded half on performance and half on a written report. These write-ups should be written using JDF. You’ll submit the write-ups to Canvas and the code to Gradescope.

Exams (15%)

You will take two proctored exams in this class, each worth 7.5% of your average. Each exam is 90 minutes long with up to 25 questions, all multiple-choice, multiple-correct with five choices and between 1 and 4 correct answers. Partial credit is awarded. Each exam will cover all lectures through the previous week (for example, Exam 1 covers lessons 01 through 11). All exams are open-book, open-note, open-internet: everything except live interaction with another person. The tests are digitally proctored. Tests will open at least one week prior to the deadline, though they may be open earlier.

Class Participation (10%)

One of the major strengths of large online classes it the way they allow students to have significant impact on their classmates’ experiences. As such, 10% of your class grade and 10% of the time you spend on this class will be improving the course experience for other students. This is participation credit, and it can be earned in various ways, including forum participation, peer review, and course survey completion. There may be other mechanisms to earn participation points announced throughout the semester; check the course forum for that!

Course Policies

The following policies are binding for this course.

Official Course Communication

You are responsible for knowing the following information:

  1. Anything posted to this syllabus (including the pages linked from here, such as the general course landing page).
  2. Anything emailed directly to you by the teaching team (including announcements via the course forum or Canvas), 24 hours after receiving such an email.

Generally speaking, we will post announcements via Canvas and cross-post their content to the course forum; you should thus ensure that your Canvas settings are such that you receive these announcements promptly, ideally via email (in addition to other mechanisms if you’d like). Georgia Tech generally recommends students to check their Georgia Tech email once every 24 hours. So, if an announcement or message is time sensitive, you will not be responsible for the contents of the announcement until 24 hours after it has been sent.

We generally prefer to handle communication via the course forum to help with collaboration among the teaching team, but we understand the course forum is not ideal for having information “pushed” to you. We may contact you via a private the course forum post instead of an email, but if we do so, we will choose to send email notifications immediately, bypassing your individual settings, in order to ensure you’re alerted. As such, this type of communication will also spring under #2 above.

Note that this means you won’t be responsible for knowing information communicated in several other methods we’ll be using. You aren’t responsible for knowing anything posted to the course forum that isn’t linked from an official announcement. You aren’t responsible for anything said in Slack or other third-party sites we may sometimes use to communicate with students. You don’t need to worry about missing critical information so long as you keep up with your email and understand the documents on this web site. This also applies in reverse: we do not monitor or Canvas message boxes and we may not respond to direct emails. If you need to get in touch with the course staff, please post privately to the course forum (either to all Instructors or to an instructor individually) or tag the instructor in the relevant post.

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. We have made the descriptions of all assignments available on the first day of class so that if there are expected interruptions (business trips, family vacations, etc.), you can complete the work ahead of time.

If you have technical difficulties submitting the assignment to Canvas, post privately to the course forum immediately and attach your submission. Then, submit it to Canvas as soon as you can thereafter.

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; this is why we have made sure to provide all assignment and project resources in advance. If you have such a conflict specifically with the tests, let us know and we’ll try to work with you.

Academic Honesty

All students in the class are expected to know and abide by the Georgia Tech Academic Honor Code. Specifically for us, the following academic honesty policies are binding for this class:

  • In written essays, all sources are expected to be cited according to APA style, both in-line with quotation marks and at the end of the document. You should consult the Purdue OWL Research and Citation Resources for proper citation practices, especially the following pages: Quoting, Paraphrasing, and Summarizing, Paraphrasing, Avoiding Plagiarism Overview, Is It Plagiarism?, and Safe Practices. You should also consult our dedicated pages on how to use citations and how to avoid plagiarism.
  • Any non-original figures must similarly be cited. If you borrow an existing figure and modify it, you must still cite the original figure. It must be obvious what portion of your submission is your own creation.
  • In written essays, you may not copy any content from any current or previous student in this class, regardless of whether you cite it or not.
  • You may not under any circumstances copy any code from any current or former student in the class or any project addressing Raven’s Progressive Matrices.
  • The only code segments you are permitted to borrow are isolated project-agnostic functions, meaning functions which serve a purpose that makes sense outside the context of our projects (such as, for example, inverting colors in an image). Include a link to the original source of the code and clearly note where the copied code begins and ends (for example, with /* BEGIN CODE FROM (source link) */ before and /* END CODE FROM (source link) */ after the copied code). This is partially to emphasize what your unique project and deliverable is, and partially to protect against instances where you and a classmate both borrowed a function from the same external repository.
  • During exams, you are prohibited from interacting directly with any other person on the topic of the exam material. This includes posting on forums, sending emails or text messages, talking in person or on the phone, or any other mechanism that would allow you to receive live input from another person.

There is one exception to these policies: unless you are quoting the course videos directly, you are not required to cite content borrowed from the course itself (such as figures in videos, topics in the video, etc.). The assumption is that the reader knows what you write is based on your participation in this class, thus references to course material are not inferred to be claiming credit for the course content itself.

These policies, including the rules on all pages linked in this section, are binding for the class. Any violations of this policy will be subject to the institute’s Academic Integrity procedures, which may include a 0 grade on assignments found to contain violations; additional grade penalties; and academic probation or dismissal.

Note that if you are accused of academic misconduct, you are not permitted to withdraw from the class until the accusation is resolved; if you are found to have participated in misconduct, you will not be allowed to withdraw for the duration of the semester. If you do so anyway, you will be forcibly re-enrolled without any opportunity to make up work you may have missed while illegally withdrawn.


Every semester, we make changes and tweaks to the course formula. As a result, every semester we try some new things, and some of these things may not work. We ask your patience and support as we figure things out, and in return, 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 want to consistently get feedback on how we can improve and expand the course for future iterations. You can take advantage of the feedback box on the course forum (especially if you want to gather input from others in the class), give us feedback on the surveys, or contact us directly via private the course forum messages.