Introduction to Artificial Intelligence

  • CMPS 3140 / 6140: Introduction to Artificial Intelligence
  • Tulane University
  • Spring 2021
  • 3 Credit Hours
  • Prerequisite Courses: CMPS 2200 Introduction to Algorithms or consent of instructor.

Time and Location

Instructor and TA Information

Instructor: Dr. Nicholas Mattei, nsmattei@tulane.edu

  • Office: Stanley Thomas 402B
  • Office Hours: 11:00 - 12:00 and by and by appointment, See Link in Tulane Canvas. Only over Zoom for Spring 2021.

Teaching Assistants: Arie Glazier aglazier@tulane.edu and Eli Mendels emendels1@tulane.edu

  • Arie Office Hours: TR 9:00 - 10:00a, and by appointment, See Link in Tulane Canvas
  • Eli’s Office Hours: MW 16:15 - 18:15, See Link in Tulane Canvas

Arie, Eli, and Prof. Mattei have drop in office hours and are available by appointment whenever you need!. Please reach out to us directly to setup extra time if you need more support during the semester.

If you need help please check the discussion board on Canvas!. We check it regularly to answer common questions on projects and homeworks. The solution to your question might already be there!

Course Communication Policy

There are a variety of methods you can use to get in touch with us, and we expect to be able to get in touch with you. A few general policies.

  • When emailing, please email all TA’s and Prof. Mattei. We will respond within 24 hours, except on weekends. Turn around may be faster, but do not rely on it.
  • We expect the same from you: that you will check your email/Canvas every 24 hours, except on weekends. All major announcements will be distributed via the Announcements function of Canvas.
  • Arie, Eli, and Prof. Mattei have drop in office hours and are available by appointment. Please reach out to us directly to setup extra time if you need more support during the semester.
  • If you have a general question, please check or post on the discussion board on Canvas!. We check it regularly to answer common questions on projects and homeworks. The solution to your question might already be there!

Table of Contents

TBD


Overview / Catalog Course Description

The aim of this course is to provide the student with an introduction to the main concepts and techniques playing a key role in the modern arena of artificial intelligence. In addition to covering the main topics that concern modern AI, particular attention will be devoted to its applications in several fields. Among the topics covered are: “What is an intelligent artificial agent?”, problem solving using search and constraint satisfaction, uncertainty, Bayesian networks and probabilistic inference, supervised learning, planning, sequential decision problems, as well as several additional topics.

Prerequisite(s): CMPS 2200 Introduction to Algorithms or consent of instructor.

Note. This is a programming and mathematics intensive class. Students are expected to know the basics of Python and be able to navigate a Linux/Unix command prompt (the first programming assignment will test these abilities). Likewise a working understanding of graph theory, probability theory, and an understanding of basic algorithms is expected. We will be working with large projects so you will be required to spend time navigating a code base you did not write.

Course Learning Outcomes

At the conclusion of this course students will be able to:

  • Define and intelligent agent and be able to identify the different environmental factors at play in the design of an agent.
  • Be able to describe when and how to use search techniques including uninformed search and heuristic search.
  • Define the nature of information in an adversarial environment.
  • Define and use one or more forms of logical entailment and resolution to solve problems.
  • Build an autonomous agent that efficiently makes decisions in fully informed, partially observable, and adversarial environments.
  • Build an autonomous agent that is able to draw inferences in uncertain environments and optimize actions for arbitrary reward structures.

Students should be comfortable with programming in at least one language (preferably Python) and have had a reasonable amount of math including some linear algebra and algorithms. You you should know what a matrix is and you should be comfortable with everything in CMPS/MATH 2170. There are many helpful tutorials and background material at the Links & Resources Page, please make use of it.

Program-Level Outcomes

This course fulfills the requirement of one of the CMPS 3000-level or above courses required for the coordinate major in computer science. Students need to complete three such courses in order to complete the requirements for a coordinate major. For more information on the coordinate major please see the requirements at the Registrar’s Website

Required and Suggested Student Resources

It is very strongly suggested that you obtain the course book. I will be posting the chapters corresponding to the lectures in class and may occasionally post homework problems from the book. If you have an interest in AI this book is really a fundamental reference text.

Artificial Intelligence: A Modern Approach (third edition), Prentice Hall, 2009.

By Stuart Russell and Peter Norvig Website.

There will be a number of additional readings posted on the Schedule page and the Links & Resources Page contains a host of additional free textbooks and supplementary material.


Evaluation Procedures and Grading Criteria

This course will consist of six distinct grading areas. Note that all point values described below for individual assignments are subject to change, the area percentages will remain the same.

  • 5% - In Class Activities, Participation, Online Questions.
  • 5% - Attendance
  • 20% - Written Homeworks
  • 25% - Projects
  • 20% - Midterm Exam
  • 25% - Final Exam

Attendance

Attendance will be monitored through an in-class survey (nearly) every day of class. You are required to fill out this survey every day, synchronously in class unless you contact me to make alternative arrangements.

In Class Activities, Participation, and Questions

Throughout the semester we will regularly complete short in class exercises such as brainstorming activities, think-pair-share, pre/post questions, and short answer writing. As we are online sometimes this may include posting things on the discussion board or answering a short quiz in Canvas on additional readings. This may also include presenting/explaining answers to labs in class.

Written Homeworks (1-2 hours each).

We will have between 6-8 written homeworks throughout the semester. You are expected to write your answers individually. You are encouraged to discuss homework problems in small groups, as long as you give credit to whomever you discussed the topics with at the top of your homework. You are strongly discouraged from seeking solutions online; if you do, you must cite any sources explicitly you use for each problem. Copying of homework from other students or from other sources is strictly prohibited. Obtaining a solution from another source without citing the source is plagiarism.

Projects (10-15 hours each).

We will be using a subset of the PacMan Projects originally created for the UC: Berkeley CS188 Intro to AI Course. Note that we are going to use the newer Python 3.x versions so please make sure you use the links from this web-page to find them. You are strongly discouraged from seeking solutions online; if you do, you must cite any sources explicitly you use for each problem. Obtaining a solution from another source without citing the source is plagiarism. Like homeworks, you are encouraged to discuss the projects in small groups, as long as you give credit to whomever you discussed the topics with in the written portion of the projects.

Note: All code for this class is expected to follow best practices laid out in the Programming Guide.

Note: For the Spring 2021 semester most projects will be able to be done in teams. However, Project 0 must be completed individually by all students.

Midterm and Final Exam

This will be a written, close book, in class (online) exam. You are allowed one hand-written cheat sheet, front and back, 8.5x11 inch paper. You will be required to turn in this cheat sheet before the actual exam and it will be graded for completeness. The final is cumulative. This semester both exams will take place online, however you must be in the Zoom call to turn in and receive credit for taking the exam unless prior arrangements have been made. You must earn at least a 60% average between the two exams to pass the course.

To take the tests you need to get ready and get a Scan to PDF app (see useful links here). Scanning is built into many phones now so please get ready, we will have a participation assignment that has you do this before the tests. We will not accept pictures, you must upload PDFs to Canvas. It is also your responsibility to check your PDFs when they are submitted – if we can’t read them we can’t grade them. If you cannot do this please contact me ASAP.

Additional Work For Graduate Students

Graduate students who enroll in this course will be required to complete all projects independently instead of in groups.

  • All work will be turned in on Canvas. All work will either be distributed via Canvas or via this course webpage.

  • All work will be due at class time on the day assigned. This means turning things in during or after class is considered one day late. This will be consistent throughout the semester.

Late Work Policy.

All work must be turned in on time unless explicit consent for outstanding circumstances is given beforehand (or in the case of illness, with a documented absence after). Any late work will be penalized at 10% of the total assignment value per day up to 5 days late, after which it will not be accepted. The exception to this rule is if work solutions are presented in class (as is the case with labs and quizzes). After the work is presented in class, no late work will be accepted.

Late Tokens.

At the start of this semester you each are holding 3 late tokens which can be redeemed at any time for programming projects and homeworks. Each token is worth one additional day, to use at your discretion. These tokens will be automatically applied and you do not need to let us know. These tokens have no cash value. If you are still holding tokens at the end of the semester they will automatically be converted to 1% bonus points on your projects grade.

Final Grade Policy.

The weighted average will determine your letter grade roughly as follows, +/- grades will be given for borderline cases.

  • A >= 92%, A- >= 90%,
  • B+ >= 88%, B >= 82%, B- >= 80%,
  • C+ >= 78%, C >= 72%, C- >= 70%,
  • D+ >= 68%, D >= 62%, D- >= 60%,
  • F < 59%

All grades will be posted on Canvas throughout the semester.

Note: Due to the move to online classes the registrar has issued new guidance for graduate and undergraduate grades this semester. The latest news can be found on their website.


Schedule and Workload

See the Schedule Page for the schedule and assignments.

This is an upper division computer science course, it is hard, there will be a lot of work. You will sometimes have multiple assignments at a time and be responsible for managing the deadlines. Expect to spend 4-6 hours per week outside of class on this course (Tulane policy is 1-2 hours per hour in class).

If you need help please check the discussion board on Canvas!. We check it regularly to answer common questions on projects and homeworks. The solution to your question might already be there!

Students are reminded to make use of office hours. Please reach out to Prof. Mattei or any of the TAs whenever you need and we can make appointments to meet if you require it.

Attendance

Students are required to attend all classes and labs unless they are ill or prevented from attending by exceptional circumstances and with a valid excuse note. Students are responsible for notifying instructors about absences that result from serious illnesses, injuries, or critical personal problems. Students with frequent absences will be reported and/or removed from the course according to university policy.

Faculty and students must comply with University policies on COVID-19 testing and isolation, which are located here. Faculty and students must wear face coverings in all common areas, including classrooms, and follow social distancing rules. Failure to comply is a violation of the Code of Student Conduct and students will be subject to University discipline, which can include suspension or permanent dismissal.

If a student cannot attend class for any reason, the student is responsible for communicating with their instructors to make up any work they may miss. Faculty will provide online options for class participation, outlined in this document, and unless a student is seriously ill, they are expected to use this option. The University Health Center will provide documentation verifying a student is ill, as well as verification that a student may return to class. With the approval of the Newcomb - Tulane College dean, an instructor may have a student who has excessive absences involuntarily withdrawn from a course with a WF grade after written warning at any time during the semester.


Other Course and Tulane Policies

Use of Electronic Devices

Please silence your cellphones during class. If you want to use a laptop or other device with a large screen for note taking please sit in the back rows of the classroom – it’s distracting to other students https://www.scientificamerican.com/article/students-are-better-off-without-a-laptop-in-the-classroom/

Student Support Services

As we move to remote teaching Tulane has moved a number of student success resources online. Please visit the Virtual Learning Student Support Pages for more information.

Please come talk to us if you feel you are behind or overwhelmed in this class. We can work with you and Tulane provides a suite of services to help you succeed in this course including the following. For more information please visit the student support services webpage.

  • Academic Advising - Advising maximizes student potential by sharing information, tools, and resources that empower them to make informed decisions about creating appropriate plans to achieve their academic goals.
  • Academic Learning & Tutoring - The ALTC supports students through supplemental instruction, peer tutoring, writing and presentation consultations, pop-up review sessions, study space, and online learning resources.
  • Case Management and Counseling - Students can leverage support services such as CAPS for Counseling Services, Case Management and Victim Support Services, and Goldman Center for Student Accessibility.
  • Success Coaching - Coaches help students create actionable steps to meet goals on topics such as college transition, time-management, motivation, testing anxiety, stress management, and decision-making.

Student Support Services

As we move to remote teaching Tulane has moved a number of student success resources online. Please visit the Virtual Learning Student Support Pages for more information.

Please come talk to us if you feel you are behind or overwhelmed in this class. We can work with you and Tulane provides a suite of services to help you succeed in this course including the following. For more information please visit the student support services webpage.

  • Academic Advising - Advising maximizes student potential by sharing information, tools, and resources that empower them to make informed decisions about creating appropriate plans to achieve their academic goals.
  • Academic Learning & Tutoring - The ALTC supports students through supplemental instruction, peer tutoring, writing and presentation consultations, pop-up review sessions, study space, and online learning resources.
  • Case Management and Counseling - Students can leverage support services such as CAPS for Counseling Services, Case Management and Victim Support Services, and Goldman Center for Student Accessibility.
  • Success Coaching - Coaches help students create actionable steps to meet goals on topics such as college transition, time-management, motivation, testing anxiety, stress management, and decision-making.

ADA / Accessibility Statement

Tulane University strives to make all learning experiences as accessible as possible. If you anticipate or experience academic barriers based on your disability, please let me know immediately so that we can privately discuss options. I will never ask for medical documentation from you to support potential accommodation needs. Instead, to establish reasonable accommodations, I may request that you register with the Goldman Center for Student Accessibility. After registration, make arrangements with me as soon as possible to discuss your accommodations so that they may be implemented in a timely fashion. Goldman Center contact information: goldman@tulane.edu; (504) 862-8433; http://accessibility.tulane.edu.

Recording of Class Sessions

Recording class sessions: Classes will be recorded and the recordings will be posted to Canvas. Students may not post a class recording elsewhere, either wholly or in part. Instructors may use a class recording in another course or in a subsequent semester.

Code of Academic Conduct and Academic Integrity

This course will follow Tulane’s Code of Academic Conduct. Cheating will be reported to the Associate Dean of Newcomb-Tulane College. Discussion is encouraged. However, what you turn in must be your own. You may not read another classmate’s solutions or copy a solution from the web. I will be running checks on the code turned in for plagiarism. If plagiarism is detected the minimum penalty is a 0 on the assignment and being reported, however, you may automatically fail this course at my discretion.

To be more clear (text from Hal Daumé III): Any assignment or exam that is handed in must be your own work (unless otherwise stated). However, talking with one another to understand the material better is strongly encouraged. Recognizing the distinction between cheating and cooperation is very important. If you copy someone else’s solution, you are cheating. If you let someone else copy your solution, you are cheating (this includes posting solutions online in a public place). If someone dictates a solution to you, you are cheating.

Everything you hand in must be in your own words, and based on your own understanding of the solution. If someone helps you understand the problem during a high-level discussion, you are not cheating. We strongly encourage students to help one another understand the material presented in class, in the book, and general issues relevant to the assignments. We also encourage the use of online resources to understand and clarify things, but not taking results verbatium. When taking an exam, you must work independently. Any collaboration during an exam will be considered cheating. Any student who is caught cheating will be given an F in the course and referred to the University Office of Student Conduct. Please don’t take that chance – if you’re having trouble understanding the material, please let me know and I will be more than happy to help.

The Code of Academic Conduct applies to all undergraduate students, full-time and part-time, at Tulane University. Tulane University expects and requires behavior compatible with its high standards of scholarship. By accepting admission to the university, a student accepts its regulations (i.e., Code of Academic Conduct and the Code of Student Conduct) and acknowledges the right of the university to take disciplinary action, including suspension or expulsion, for conduct judged unsatisfactory or disruptive.

Title IX

Tulane University recognizes the inherent dignity of all individuals and promotes respect for all people. As such, Tulane is committed to providing an environment free of all forms of discrimination including sexual and gender-based discrimination, harassment, and violence like sexual assault, intimate partner violence, and stalking. If you (or someone you know) has experienced or is experiencing these types of behaviors, know that you are not alone. Resources and support are available: you can learn more at http://allin.tulane.edu. Any and all of your communications on these matters will be treated as either “Confidential” or “Private” as explained in the chart below. Please know that if you choose to confide in me I am mandated by the university to report to the Title IX Coordinator, as Tulane and I want to be sure you are connected with all the support the university can offer. You do not need to respond to outreach from the university if you do not want. You can also make a report yourself, including an anonymous report, through the form http://tulane.edu/concerns.

Confidential Private
Except in extreme circumstances, involving imminent danger to one’s self or others, nothing will be shared without your explicit permission. Conversations are kept as confidential as possible, but information is shared with key staff members so the University can offer resources and accommodations and take action if necessary for safety reasons.
Counseling and Psychological Services (CAPS): (504) 314-2277 or The Line (24/7): (504) 264-6074 Case Management and Victim Support Services: (504) 314-2160 or srss@tulane.edu
Student Health Center: (504) 865-5255 Tulane University Police (TUPD): Uptown - (504) 865-5911. Downtown – (504) 988-5531
Sexual Aggression Peer Hotline and Education (SAPHE): (504) 654-9543 Title IX Coordinator: (504) 314-2160 or msmith76@tulane.edu