**Course Staff:**- Instructor: Prof. Haym Hirsh
- Head TA: Molly Feldman

**Contact Information**: For all routine course correspondence, please use FAI-L@cornell.edu. Email sent to this address not only goes to Prof. Hirsh but also the the head TA, and all graduate TAs, and whoever is able to answer first will do so, getting you a response more quickly. If the issue is one you prefer to discuss only with Prof. Hirsh, his email is found on his website.**Prerequisites:**Officially it's CS2110/ENGRD2110 and CS2800. The specific topics that the course will assume you know include- Trees and graphs (for example, familiarity with Dijkstra's Algoritm)
- Basic probability (for example, comfort using Bayes Rule)
- Propositional and first-order logic (for example, what satisfiability and soundness mean)
- Multi-variate calculus (for example, minimizing a function of multiple variables).

**Lecture:**Mondays, Wednesdays, and Fridays 1:25pm - 2:15pm in Olin Hall 155.**Online discussion:**We will be using Piazza for class discussions.**Assignment submissions:**Written assignments are submitted via Gradescope (Entry Code: 9B85X2).**Textbook:**- We will be using draft chapters from the
upcoming 4th edition of
*Artificial Intelligence: A Modern Approach*by Stuart Russell and Peter Norvig. (You will need to use your NetID to access it.) You do not need to purchase hardcopy of the 3rd edition. - There is also a github repository with exercises for the textbook. Unfortunately it's still organized by the chapters in the 3rd edition, so you need to go by the chapter name rather than the number.
- You can receive Karma Points for submitting typos that you find (see below).

- We will be using draft chapters from the
upcoming 4th edition of
**Office Hours**: Office hours will be kept up-to-date on the online office hours calendar and may be updated week-to-week; check the calendar before you go!**Grading:**Your grade will be determined in the following fashion:**Homework:**30% +/- 3%**Deadlines:**Homeworks can be submitted up to 48 hours late for a 50% penalty.**If you have extenuating circumstances**, please contact the list serv; we will provide extensions when applicable for injuries, family emergencies, etc., on a case-by-case basis.**Submissions:**Read homework assignments carefully. You have not submitted the assignment on time if you have not submitted it on the proper platform (Gradescope or otherwise) on time.**Format:**Homeworks must be typeset, such as via Microsoft Word or LaTeX. Regardless of the tool you use, use common sense: Is it legible? If we can't read it you get a zero.**Collaboration**: Doing a homework problem typically involves three steps: (1) understanding a question, (2) figuring out a solution and (3) writing it up coherently. For the first step we encourage discussion with classmates. For the second discussion with classmates is also ok, but it is important that it conclude with you understanding how to solve the question, not just copying someone else's solution. You are also allowed to refer to online resources that you might find that might help you understand the question and figure out the solution. However, the third step, writing it up, must be done completely on your own. You are not allowed to share digital or written notes or images of your work in any form with each other. Your work must also include acknowledgements of all students with whom you collaborated at the top of your first page.

(A word to the wise: The homeworks are designed to get you to exercise concepts in a deeper way than is possible in class, and exams will presume your mastery of the homeworks. If you're not capable of independently solving each homework, you won’t understand the material well, and will not do well on the exams and hence the course.)

**Prelim:**30% +/- 3%: March 17, 7:30pm, Baker Laboratory 200**(deadline for notification of conflicts is February 4)**Prelim prep questions**Final:**40% +/- 3%: May 13, 2:00pm**(deadline for notification of conflicts is February 4)****The +/- 3% Solution:**Whichever element of your grade is lowest will be decreased by 3% and whichever is highest will be increased by 3%. For example, if your homeworks were your lowest grade and your final your highest, your homework would count for 27% and the final 48%.**Regrade Requests:**Regrade requests must be submitted within**seven days**of grades being released via Gradescope. They should not be "Why is this wrong?" - that is something you can ask in office hours. Regrade requests should be made because you believe a specific error was made in the grading. Sometimes a student*does*discover either an error in the expected solution or a valid solution that had not been considered. Determine this first in office hours, and submit a regrade request if it is verified there. We reserve the right to lower points on other questions if you submit a regrade request. We would not typically do this except for students who submit an unreasonable number of regrade requests or who submit requests using anything but language respectful of their fellow students who are responsible for grading.**Karma points:**Throughout the semester you will have opportunities to earn “karma points”. These are not counted in computing your overall score for the class, but will be used for students who are borderline between grades. Examples of ways to earn karma points include:- Answering questions and writing helpful posts on Piazza.
- Attending AI seminars that may take place over the course of the semester. You will be asked to submit a list of seminars that you attended at the end of the semester.
- Finding typos in the textbook.
- Submitting a course evaluation at the end of the semester.

**negative karma**, for example by:- Asking questions that have already been answered here
- Asking questions that have already been answered on Piazza
- Abusing the regrade request process.

Date | Topic/Slides | Readings | |
---|---|---|---|

1/22 | Introduction to AI and the course | Skim Chapters 1 and 2 | |

1/24 | State Space Search | Section 3.1-3.3 | |

1/27 | Depth-First, Breadth-First Search | Section 3.4 | |

1/29 | Depth-First, Breadth-First, Iterative Deepening Search | Section 3.4 | |

1/31 | A* Search | Sections 3.5-3.6 | |

2/3 | A* Search, Local Search | Section 3.6,4.1 | |

2/5 | Adversarial Search | Sections 5.1-5.3 | |

2/7 | Snow Day | ||

2/10 | Adversarial Search | Sections 5.1-5.3 | |

2/12 | Adversarial Search | Sections 5.1-5.3 | |

2/14 | Propositional Logic | Sections 7.1-7.4 | |

Video Link: click here | |||

2/17 | Propositional Logic | Sections 7.4-7.5 | |

2/19 | Propositional Logic | Sections 7.5 | |

2/21 | Propositional Logic, First-Order Logic | Sections 7.5-7.6 | |

2/26 | First-Order Logic | Sections 8.1-8.2, 9.1-9.2 | |

2/28 | First-Order Logic | Sections 9.1-9.2, 9.5 | |

3/2 | First-Order Logic, Markov-Decision Processes | Sections 9.1-9.2, 9.5, 17.1 | |

3/4 | Markov-Decision Processes | Section 17.1 | |

3/6 | Markov-Decision Processes | Section 17.2 | |

3/9 | Markov-Decision Processes, Reinforcement Learning | Sections 17.2, 22.1, 22.3 | |

Policy iteration example from class | |||

3/11 | Reinforcement Learning | Section 22.3 | |

3/13 | Reinforcement Learning, Multi-Armed Bandits | Section 22.3, Section 17.3 | |

3/16 | Monte Carlo Tree Search | Section 5.4 | |

3/18 | Overview of Machine Learning and Supervised Learning, Linear Regression | Sections 19.1-19.2, 19.6 | |

3/20 | Perceptron | Section 19.6 | |

3/23 | Perceptron, Supervised Learning | Sections 19.6, 19.4 | |

3/25 | Neural Nets | ||

3/27 | Neural Nets | ||

4/6 | Neural Nets | ||

4/8 | Natural Language Processing | ||

4/10 | Natural Language Processing | ||

4/13 | Naive Bayes | Section 20.2 |

Number | Assignment | Due | Late | Solutions | |||
---|---|---|---|---|---|---|---|

Homework 1 | Background knowledge assessment | 1/31 11:59 PM | No late submissions | HW1 Solutions | |||

Homework 2 | Search Algorithms | 2/17 11:59 PM | 2/19 11:59 PM | HW2 Solutions | |||

Homework 3 | Game Trees & Logic | HW3 Written Solutions | |||||

.ipynb file | |||||||

Homework 4 | Learning Approaches |

**Technology:**Numerous research studies have found adverse learning impacts from the use of technology (for example, laptops) in classrooms, both directly for the students who are using the technology but also for other students in the class. (This is true even for those students who think they are good multi-taskers or otherwise think they are able to learn better with the use of technology in class.) It also impacts the instructor when students are sufficiently engaged in their technology than it impacts the subtle body language that informs a teacher about how well their material is being received.

Nonetheless, it is your choice whether you choose to ignore such evidence and use technology in the CS4700 classroom. The policy for this course is as follows:- You can use technology if the instructor asks you to. (This will rarely happen.) When completed the technology must be put away.
- You are seated in the first five rows of the two side sections of the lecture hall.

**Attendance**: No attendance is taken during class. It is up to the student to decide how best to learn the course material. However, the empirical evidence is that students who attend lectures perform better in the course. This often only dawns on students after taking the prelim exam.**Auditing**: There is no official auditing option for this course.**Academic Integrity**: From Cornell's code of academic integrity:

Any distribution or dissemination of course assignment information (such as copies of exams, solutions, etc.) to students not taking the course - whether to students in a subsequent offering of the course, via a website, or any other circmstance - is a violation of the academic intregity policy for this course.*Absolute integrity is expected of every Cornell student in all academic undertakings. Integrity entails a firm adherence to a set of values, and the values most essential to an academic community are grounded on the concept of honesty with respect to the intellectual efforts of oneself and others. Academic integrity is expected not only in formal coursework situations, but in all University relationships and interactions connected to the educational process, including the use of University resources. ... A Cornell student's submission of work for academic credit indicates that the work is the student's own. All outside assistance should be acknowledged, and the student's academic position truthfully reported at all times. In addition, Cornell students have a right to expect academic integrity from each of their peers.***Accommodations**There are various non-academic reasons students can face difficulties in successfully completing a course of study. Some can be short-term, some chronic. If there are any special accommodations that we must be aware of to help you be a successful student in this course it will typically be documented in a letter from the appropriate Cornell office. Please email a copy of the letter to FAI-L@cornell.edu. While it is our responsibility to be mindful of relevant Cornell policies governing such matters, it is your responsibility to notify us of the relevance of these policies to you. Please submit the necessary documentation during the first three weeks of the semester, so that we can ensure that the necessary arrangements can be made as quickly as possible.**Respect:**Everyone, the instructor, TAs, and students, must be respectful of everyone else in this class. All communication, in class and online, will be held to a high standard for thoughtfulness and inclusiveness: it may never target individuals or groups for harassment, and it may not exclude specific groups. That includes everything from outright animosity to the subtle ways we phrase things and even our timing. If any of the communication in this class doesn't meet these standards - whether with a fellow student or with course staff - please contact the instructor; if for whatever reason you don't feel comfortable discussing something directly with the instructor you may also choose to raise it with your advising office or the department chair.