Download the complete version here.


By the end of the semester, students should be able to:


  1. Identify the major classical and modern AI paradigms, and explain how they relate to each other
  2. Analyze the structure of a given problem such that they can choose an appropriate paradigm in which to frame that problem
  3. Implement a wide variety of both classical and modern AI algorithms





Six (6) assignments (roughly matching the major course sections) will be given during the class.

Python is the official implementation language for assignments. C++ or other languages can be used ONLY after negotiating with the teaching staff before the submissions.

For Python, provide a plain PY file (DO NOT use Jupyter notebooks). If you are writing in C++, please include a CMakeLists.txt file and other compilation instructions.
Your solutions may make use of any numerical libraries for pre-processing and visualization. However, the core portion of your solutions MUST be implemented from scratch.

Any material regarding the solution will be submitted electronically. Homework will be due at midnight, two weeks from assigned date. Late assignments are penalized at 10% for each 24 hours delay. No homework will be accepted after one week. You have three (3) 4-day extensions available to you. If you decide to use them, please, alert the teaching staff before the assignment’s deadline.



Reading assignments in which students will be asked to read a section from the textbook. Occasionally, an exercise or two will be given in class to be solved at home. The results of the homework will be discussed upon request from the students.


There will be three (3) tests over the course of the semester (see the tentative schedule below). The tests will be a combination of single choices, multiple choices, calculations, and open-ended answers.

Books must be closed, and no electronic devices are allowed. If, for any reason you need to miss any of the tests, you must inform me before the scheduled day so that a make-up session can be arranged.


If you wish to dispute a grade, it is mandatory that you do so within one week of receiving the grade. After such a term, the grade will be considered final.

Test policies: Do NOT bring unauthorized materials, information, or any electronic equipment with you to a room in which an exam is being administered. Do NOT engage in behavior that gives the appearance of cheating, such as passing a note to a friend, whispering to another student while the exam is in progress, or looking in the direction of another student’s work. Do NOT bring your cell phone, tablet, music device, programmable calculator, or any other electronic device to an exam room. If an exam proctor sees you handling an electronic device even to silence a phone if it rings or vibrates in the middle of the exam, the Judicial Affairs Administrator will treat it as an academic integrity violation. DO turn off your cell phone and put it out of reach, out of sight, or as instructed before the exam begins.

Final grades: You must show proficiency in all grading areas to pass the class. A failing average (below 70 or “C-“) in any of the grading areas (assignments or tests) will result in a failing grade in the class. Your final grade will be determined using the following percentage breakdown: 50% coding assignments, 50% tests.

Grading scale: The following standard grading scale will be applied. No grading on the curve will be applied. Please, see PDF of the syllabus for further details.


To maximize each student’s participation of the Tuft experience, Tufts and the teaching staff are committed to providing equal access and support to all qualified students through the provision of reasonable accommodations.



Please be aware that accommodations cannot be enacted retroactively, making timeliness a critical aspect for this provision. If you need special accommodations for exams, please do not wait until just before the exam to contact SAS. Please, give sufficient time to arrange the necessary accommodations.


Tufts and the Artificial Intelligence teaching staff strive to create a learning environment that is welcoming to students of all backgrounds.


Your thoughts and concerns are important. You are encouraged to give feedback to the instructor throughout the term. If you feel uncomfortable talking to members of the teaching staff, consider reaching out to your academic advisor, department chair, or dean.