Course Description
This is a core course in artificial intelligence. It is designed to be a challenging course, involving significant independent work, readings, assignments, and projects. It covers structured knowledge representations, as well as knowledge-based methods of problem solving, planning, decision-making, and learning.
Competency
To succeed in this course, you should be able to answer 'Yes' to the following six questions:
- Are you confident with computer programming?
- Are you familiar with basic concepts of data structures and object-oriented programming, such as inheritance and polymorphism?
- Are you familiar with basic concepts of algorithm design, such as algorithms for sorting, searching, and matching?
- Are you confident with either Java or Python?
- Are you comfortable writing a 1000-word essay/design report in English each week?
- Are you comfortable completing a large, challenging design/programming/analysis project every three weeks or so.
If your answer is a “No” to any of these questions, this course may not be appropriate for you.
Learning Goals
The class is organized around three primary learning goals. First, this class teaches the concepts, methods, and prominent issues in knowledge-based artificial intelligence. Second, it teaches the specific skills and abilities needed to apply those concepts to the design of knowledge-based AI agents. Third, it teaches the relationship between knowledge-based artificial intelligence and the study of human cognition.
Learning Strategies
This structure of this course is determined by several pedagogical motivations:
- First, this class is taught through learning by example. Each topic is taught through examples of the way in which humans and artificial intelligence agents approach certain problems, often building from human thought toward AI agents and subsequently referring back to human cognition.
- Second, each topic is also taught through learning by doing; you will participate in the reasoning within each particular lesson, and subsequently tie the topic back to a broader problem.
- Third, the learning in this class is project-based. This class has four projects, each of which build on the previous one, and the application of the lessons to the design of KBAI agents is directed through these projects.
- The fourth pedagogical motivation in this course is personalization. Individualized feedback will be given on your performance on the exercises, assignments, projects, and tests. Additionally, you are welcome and encouraged to proceed at your own pace throughout the lessons, including viewing them outside of the designed order to better align with your interests.
- The fifth pedagogical motivation is collaboration. We will form small “study groups” of all the students in the course. While the tests, the projects and the assignments in the course require individual work, we will encourage the study groups to work together on all aspects of the course (including discussions about the projects and the exercises).
- Finally, we will encourage reflection. At the conclusion of each lesson, we ask each student to reflect on what they learned in the class. Each design project requires the writing of a design report that explains and critiques, and reflects on the student’s work on the project.
Learning Outcomes
At the conclusion of this class, you will be able to accomplish three primary tasks. First, you will be able to design and implement a knowledge-based artificial intelligence agent that can address a complex task using the methods discussed in the course. Second, you will be able to use this agent to reflect on the process of human cognition. Third, you will be able to use both these practices to address practical problems in multiple domains.
Learning Assessments
For your grade in this class, you will complete the following:
- About 25 activities (Introductions in Week 1, Peer Feedback on 8 assignments, Four surveys, Discussions of weekly required readings)
- 5 written assignments
- 4 projects
- 2 exams
Course Communication:
Any new class information (such as changing due dates, requirements, etc.) that you are responsible for knowing will be sent out in two ways:
- A T-Square announcement with an email notification.
- A pinned Piazza announcement in the ‘announcements’ folder with an email notification.
Thus, any information you are required to know will arrive in your email inbox at least twice, as well as be available on the course’s T-Square and Piazza pages.
If we have any questions regarding your assignments, projects, or exams, we will email you. This is especially important in the event that your project code does not work when initially turned in. Georgia Tech classes typically stipulate that you are asked to check your email at least once every 24 hours on weekdays. While there will not likely be anything in this course that requires an answer that fast, we do ask that you check your email with that level of regularity in case something comes up with one of your submissions. If we contact you and don’t hear back within that time frame, your grade may be affected (and we dont want that).
Office Hours:
In general, if you have a question about the course contents, the projects, the assignments or the examinations, we ask that you first ask them on Piazza so that everyone in the class can see the questions and the answers. In addition, however, we offer two kinds of office hours to answer the kinds of questions that are difficult to answer in text: synchronous and asynchronous. Synchronous office hours will be run via a Webex teleconference by David and/or Sridevi. The specific time of synchronous office hours will be announced after the initial survey to find the ideal time. During office hours, you can access the teleconference at this link: https://gatech.webex.com/gatech/e.php?MTID=mf8f80e9a5465de2e0f30cfda8ec03925
Clicking that link should allow you to set up Webex and participate in the teleconference. If you have any difficulty, please email the TAs and let us know. Note that generally, these office hours will not be recorded. Synchronous office hours are intended for conversations about individual projects, discussions about course material, etc. rather than straightforward question-and-answer; because they are more personal to the individual attendees, they are not as useful when recorded and posted. If anything comes up in these office hours that is relevant to the rest of the class, it will be recorded or posted on Piazza. In the event that synchronous office hours are not offered during a time that you can make, let us know and we’ll try to schedule a 1:1 session with you (time permitting).
Asynchronous office hours, on the other hand, will be recorded. Asychronous office hours will be recorded by Ashok and posted each week if there are sufficient questions to have an office hours video. To post a question for Ashok to answer, post to the office_hours folder on Piazza.
If your question is about a private issue, such as a grade on an examination, you may post a private Piazza message (visible only to instructors) or send an email to the instructors (ashok.goel@cc.gatech.edu; david.joyner@gatech.edu), the OMS TA (sridevi@gatech.edu), or the PE TA (rlobo3@gatech.edu). Please remember, however, that the instructors and TA are together responsible for a class of over 200 students in addition to in-person classes and other responsibilities, so please be patient in awaiting responses and, whenever possible, post your questions on the forum first.
Grading:
Grades will be based on four types of assessments according to the following percentages:
- Four Projects: 50%
- Five assignments: 15%
- Midterm Examination: 10%
- Final Examination: 20%
- Class activities (such as discussion of required readings): 5%
Grades will be normalized at the conclusion of the class. This is designed to allow lots of room for the identification of improvement, mastery, and excellence even after a satisfactory grade has been achieved. As such, many of the assignments, projects, and exams will be graded on a scale where the average looks very low; the average on Project 1 last semester, for example, was a 33 out of 50. This, of course, doesn’t mean half the students failed the project, it just means the project scoring doesn’t map to the traditional “90% = A” distribution. We’ll post statistics on the class median and distribution with the assignments so you can get a gauge for how your scores map to the overall class. Although we understand the importance of grades, we encourage you to focus first on doing the best you can on all assignments; if you do, your grade should take care of itself.