image of bot

UMBC CMSC 471 Spring 2022
Introduction to Artificial Intelligence

About CMSC 471

This course serves as an introduction to Artificial Intelligence concepts and techniques. We will cover most of the material in our text, Artificial Intelligence: A Modern Approach (4th edition) by Stuart Russell and Peter Norvig, including the agent paradigm in AI systems, search, game playing, knowledge representation and reasoning, natural language processing, planning, and machine learning. See the schedule for a more detailed breakdown but be aware that the order and timing is subject to change.

This is an upper-level undergraduate level Computer Science course and we will assume that you will have a good grounding in algorithms, statistics, and adequate programming skills. Many of the homework assignments will involve programming and you will be expected to do them in Python.

UMBC Policies and Resources during COVID-19

Please follow all of UMBC's current policies and requirements for safe behavior while the COVID-19 pandemic continues. Please wear a mask while in class and if you visit me in my office. Please spread out in the classroom to maintain a minimum of three feet between you and anyone else.

CMI Text Book

This course is part of UMBC's Course Materials Initiative (CMI), so an electronic copy of the text can be downloaded to your own computer, tablet or phone or read on blackboard.

The electronic copy can be read on Blackboard for up to three years if you are registered for the class. On the Fall 2021 Blackboard class, just click on the folder that says AIMA Textbook.

If you download the electronic copy, you can view it via the Bookshelf app on your computer, tablet or mobile phone and I'm told that you can use it indefinitely. Unfortunately, the app is not available on Unix. There is a UMBC page with more information on downloading a copy to your devices here.

Q&A and Discussion

We will be using Discord for email, questions, and class discussion. Discord can allow you get help fast and efficiently from classmates, the TA, and me. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Discord. Find our class page by following the Discussion link on the navigation bar. If you have registered for the class you should have received an email message inviting you to register. if you did not or you register late, please send finin@umbc.edu email and we send you an invitation.

Schedule

A tentative schedule is available, but we will adapt this as we go along. Check this every week.

Grading

Grades will be based performance on quizzes, assigned homework, a mid-term examination and a final examination. The exact weight will be set at the end of the course, but the expected breakdown is: quizzes: 10%; homework: 45%; midterm: 20%; final: 25%. As per University policy, incompletes will be granted only under extraordinary circumstances; students who are enrolled after the last day to drop a class should be prepared to receive a grade of A-F. We may have a few quizzes on Blackboard based on the reading. Answering the quiz questions should be easy if you have done the reading.

Homework

There will a number of short homework assignments -- at least six and perhaps as many as eight. Each assignment will have a due date and it is expected to be turned in on time. A penalty for late homework will be applied. Homework will be submitted via github classroom repositories. As each assignment is released, we'll provide a link you can use to accept and download your personal repository for the assignment.

Exams

The material covered by the exams will be drawn from assigned readings in the text, from lectures, and from the homework. Material from the readings that is not covered in class is fair game, so you are advised to keep up with the readings.

Code

We have a repository of Jupyter notebooks intended to run in Colab and python code (e.g., the AIMA code) that are examples we'll use in class and that you can use to understand concepts. You should clone this on your computer or in your account on gl.umbc.edu. The 671 resources page has some information on using git and jupyter notebooks

Accessibility and Disability Accommodations, Guidance and Resources

Accommodations for students with disabilities are provided for all students with a qualified disability under the Americans with Disabilities Act (ADA & ADAAA) and Section 504 of the Rehabilitation Act who request and are eligible for accommodations. The Office of Student Disability Services (SDS) is the UMBC department designated to coordinate accommodations that creates equal access for students when barriers to participation exist in University courses, programs, or activities.

If you have a documented disability and need to request academic accommodations in your courses, please refer to the SDS website at sds.umbc.edu for registration information and office procedures.

SDS email: disAbility@umbc.edu

SDS phone: (410) 455-2459

If you will be using SDS approved accommodations in this class, please contact the instructor to discuss implementation of the accommodations. During remote instruction requirements due to COVID, communication and flexibility will be essential for success.

Academic Honesty

We will follow a policy described in this statement adopted by UMBC's Undergraduate Council and Provost's Office.

By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community, in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. To read the full Student Academic Conduct Policy, consult the UMBC Student Handbook, the Faculty Handbook, or the UMBC Policies section of the UMBC Directory.

Cheating in any form will not be tolerated. In particular, all assignments are to be your own work. You may discuss the assignments with anyone. However, any help you receive must be documented. At the beginning of each assignment, you must include a comment indicating the sources you used while working on it (excluding course staff and text), and the type of help you received from them. Failure to include such a statement will result in the assignment being returned ungraded. You may resubmit such a returned assignment once over the course of the semester.

Written answers on essay questions for homeworks and papers must be your own work. If you wish to quote a source, you must do so explicitly, using quotation marks and proper citation at the point of the quote. Plagiarism (copying) of any source, including another student's work, is not acceptable and will result in at a minimum a zero grade for the entire assignment. Please review this overview of how to correctly cite a source and these guidelines on acceptable paraphrasing.

Software

Many of the assignments will involve programming and/or using software packages and we will assume that everyone has a basic familiarity with Python.