Skip to content

Course Info

Overview

This class will introduce the foundational concepts and techniques that underpin intelligent computer systems. It will also introduce algorithms for learning, which constitute important aspects of artificial intelligence.

Tentative topics include search, game trees, reinforcement learning, regression, classification, clustering, density estimation, model selection, regularization, resampling methods

Class meetings: MW 4:40 – 5:55 pm in LSRC B101

Canvas: Instructors and TAs will regularly share important announcements on Canvas. Therefore, it’s crucial to check the Canvas page frequently throughout the term.

Grading

The following weights are used:

  • 15% for four written assignment (one lowest assignment score will be dropped)
  • 25% for four coding assignment (one lowest assignment score will be dropped)
  • 60% for two exams (30% each)

At the end of the semester, final letter grades are determined based on the following percentages. (We retain the option to curve the grades, but only if it results in an improvement in the earned grade.)

  • ≥ 60%: D- or higher
  • ≥ 70%: C- or higher
  • ≥ 80%: B- or higher
  • ≥ 90%: A- or higher

Assignments

Assignments consist of four coding assignments (C1-C4) in Python and four written assignments (W1-W4). These assignments are due by 11:59 pm ET on the due date. Late submissions, received between 12:00 am and 1:59 am of the following day, will incur a penalty of 20% of the total points possible for that specific assignment. Submissions received after 2:00 am will not be accepted. However, your lowest coding assignment score and your lowest written assignment score will be dropped from the final average. This drop policy is intended for emergency situations, internet issues while submitting, forgetting about the deadline, joining the class late, or any other personal circumstances that may hinder your ability to complete assignments. No further drops, extensions, or late submissions will be accommodated.

Coding prerequisite: Coding assignments will be in Python. We do not assume that students have prior experience with the language, but we do expect you to quickly grasp the basics. Coding tutorial C0 is designed to teach you these basics.

Coding assignment grading: Coding assignments will be graded automatically for correctness, with individual review as needed to ensure fair credit.

Written assignment grading: Written assignments are designed to foster critical thinking and also serve as a preview of the assessment materials you can expect in exams. Points will be awarded for completion rather than correctness.

Regrade policy: Any questions about assignment grading must be directed to the TAs within 72 hours of receiving feedback. Regrading requests for cases where we misapplied the rubric in an individual instance are more likely to succeed compared to regrades that argue about relative point values within the rubric, as the rubric is applied uniformly to the entire class.

Collaboration and ethics: Coding tutorial C0 is to be completed individually. Coding assignments C1 through C4 can be completed either individually or in teams of two. If done as a team, the individual submitting the assignment must tag the other team member, and the submission must reflect the collective understanding of both team members. It’s important to note that taking turns on alternate assignments is not acceptable; each assignment must showcase significant contributions from both team members. Written assignments W1-W4 are meant for individual submission but can be discussed in groups. In such cases, please acknowledge your collaborators and sources consulted in the submission, following standard academic practices. Please ensure that all code and written responses are original. This entails writing all the code you use and being able to explain or rederive all the results you submit. The use of automatic code generators is not permitted. The instructors are available to clarify any questions you may have about collaboration.

Exams

All exams will be written and in-person. You are required to complete the exams on your own, without collaboration or the use of external resources. Two exams will be scheduled during the semester: Midterm 1 and Midterm 2. Each contributes 30% to your overall course grade, covering the first and second half of the course material, respectively.

In addition to these midterms, there will be a final exam during the registrar-scheduled final exam period. The final exam is divided into Part 1 and Part 2, corresponding to Midterm 1 and Midterm 2. It serves as a makeup (without penalty) for any missed midterms during the semester and offers an opportunity to improve your overall score if you are dissatisfied with your earlier exam performances. Specifically, the lower score between Midterm 1 and final exam Part 1 will be dropped, and similarly, the lower score between Midterm 2 and final exam Part 2 will be dropped. Note that the final exam cannot lower your existing exam scores. No further makeup exams will be accommodated.

Optional Textbooks

  • [AIMA] Artificial Intelligence: A Modern Approach (4th edition). Stuart Russell and Peter Norvig. Pearson, 2020. ISBN 978-0134610993.
  • [ISLP] An Introduction to Statistical Learning with Applications in Python. Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, and Jonathan Taylor. Springer, 2023.

Academic Integrity

Upon enrollment, each student commits to maintaining the high academic standards of Duke University. Academic misconduct refers to behavior that adversely affects the institution’s integrity. This encompasses activities such as cheating, fabrication, plagiarism, unauthorized collaboration, and assisting others in these actions. Engaging in misconduct may lead to disciplinary measures, including but not limited to failure on the assignment/exam/course, written reprimand, disciplinary probation, suspension, or expulsion.