This course will serve as an Introduction to concepts and techniques in Artificial Intelligence! We will cover a significant portion of the material from the text, Artificial Intelligence: A Modern Approach, 3rd Edition by Stuart Russell and Peter Norvig, including the agent paradigm in AI systems, search, game playing, knowledge representation and reasoning, planning, learning and natural language processing. See the schedule for a more detailed breakdown but be aware that the order and timing is subject to change.
Prerequisite: Knowledge of basic programming and data structures (cmsc 341). No prior knowledge of A.I is assumed.
Programming assignments will primarily be in Python. Basic knowledge is sufficient. If an overwhelming majority of students think the Python I'm referring to is the reptile, then we will probably dedicate a class to do a quick tutorial.
Course url: http://www.csee.umbc.edu/courses/undergraduate/471/fall15/02/
Tiny url: http://tinyurl.com/cmsc471
Textbook: Artificial Intelligence: A Modern Approach, 3rd Edition by Stuart Russell and Peter Norvig
Tuesday & Thursday
You are strongly encouraged to engage in active discussion in class. The class is right after lunch and a one-way lecture might lead to potential injuries from dozing and falling off the chair! Lets prevent that and keep things interactive!
We will use Piazza for out-of-class discussion. The system is highly catered to getting you help fast and efficiently from classmates and myself. Instead of emailing questions, you are strongly encouraged to post it on the forums. That way other students with same/similar questions will be able to access the answers. Find our class page at https://piazza.com/umbc/fall2015/cmsc471/home You will receive an invite by email by 08/30/15.
Students who are enrolled after the last day to drop a class should be prepared to receive a grade of A-F. As per University policy, incompletes will be granted only under extraordinary circumstances.
Homework accounts for 35% of the final grade. Homeworks are due every other Tuesday and there will likely be 7 homeworks. All homeworks should be done individually unless otherwise mentioned. You are allowed to discuss and exchange ideas but should refrain from exchanging exact solutions. Rule of thumb is when you're sitting down to write/code, you should do it by yourself.
Late policy: Homeworks are expected to be turned in before the start of class on the day its due. If you cannot make it to the class, you must make alternate arrangements to have someone submit it on your behalf. You get a grace period of 10 mins after which late penalty will apply. Late penalty is 40% as long as you turn it in by the start of the subsequent class on Thursday. After this, your submission will not be graded.
Submission maybe paper or electronic and depends on the homework. Every homework will have the submission method mentioned at the start.
Mid term will account for 15% of the grade and will come from topics covered until the Mid term. Questions can also come from assigned reading material.
The class requires a final group project that accounts for 30% of the grade.
The maximum group size is 5 and the maximum number of groups is 8.
To encourage equal participation from all the team members, 20% of the project grade will be allocated to peer evaluation.
Topics are open for the project! The goal is to apply the techniques covered in class to any real world domain you are really passionate about. You are free to discuss your ideas with me. Even if you choose not to, you must get my approval before you start working on your project so we can establish a minimum set of expectations from it. You can find more details on the project page.
Final will account for 20% of the grade and will come from topics covered until the last day of class. However, emphasis will be given to post mid-term content.
This course adheres to the Provost's statement on academic integrity:
"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.
Thanks to Tim Finin (UMBC), Max Morawski (UMBC), Berthe Choueiry (University of Nebraska - Lincoln), Daphne Koller (Stanford University), Eric Eaton (formerly of UMBC), Don Miner (UMBC), and Lise Getoor (UMCP) for making their course materials publicly available on the web. Some of the course materials (slides and homeworks) have been adapted from those sources.