CMSC 471 — Introduction to Artificial Intelligence
Spring 2024
- CMSC 471 — Introduction to Artificial Intelligence
Logistics
- Instructor: KMA Solaiman, ksolaima@umbc.edu
- Teaching assistant: TBD
- Grader: Apoorv Bansal (ZK39815@umbc.edu)
- Lecture time: MW 1:00-2:15pm (01), MW 4:00-5:15pm (02)
- Location:
SONDHEIM 111
(01),SONDHEIM 108
(02) - Credit Hours: 3.00
- Q&A, Course discussion and announcements: Campuswire
- For any sensitive issue, please email me (ksolaima@umbc.edu), preferrably with a subject preceded by
CMSC471-concern
. - Exam and assignment submission: Blackboard and Gradescope.
- Office hours
Tue 5:45 - 6:30 PM, Wed 3-3:45 PM, or by appointment
, ITE 201-C, KMA SolaimanTBD, or by appointment
Note: Visit Blackboard for instructions on joining Campuswire and Gradescope.
Course Description
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. The topics covered will include AI systems and search, problem-solving approaches, knowledge representation and reasoning, logic and deduction, game playing, planning, expert systems, handling uncertainty, machine learning and natural language understanding. Other special or current topics (e.g., fairness and ethics in AI) may be covered as well.
The goals for this course are:
- be introduced to some of the core problems and solutions of artificial intelligence (AI);
- learn different ways that success and progress can be measured in AI;
- be exposed to how these problems relate to those in computer science and subfields of computer science;
- have experience experimenting with AI approaches;
CMI Text Book
This course is part of UMBC’s Course Materials Initiative (CMI), so an electronic copy of the text Artificial Intelligence: A Modern Approach (4th edition) can be downloaded to your own computer, tablet, or phone or read through Blackboard.
The electronic copy can be read on Blackboard if you are registered for the class. In Blackboard, go to Course Materials --> My Textbooks & Course Resources
.
Prerequisites
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 (CMSC 341). Many of the homework assignments will involve programming and you will be expected to do them in Python. Having said that, we will try our best to provide materials or backgrounds for the programming assignments.
Course Schedule
This syllabus and schedule is preliminary and subject to change. We will adapt this as we go along. Check this every week. It is recommened you go through the readings before the class to have a better understanding of the material. Abbreviations refer to the following:
- RN: Russel/Norvig
- PM: David L. Poole & Alan K. Macworth, ARTIFICIAL INTELLIGENCE 3E, FOUNDATIONS OF COMPUTATIONAL AGENTS
- RLSB: Reinforcement Learning, Richard S. Sutton and Andrew G. Barto
- BB: Blackboard
Date | Topics | Notes | Readings |
---|---|---|---|
Week 1 | |||
Mon Jan 29 | Course Overview: Administrivia and What is AI? Slides | RN1 | |
Wed Jan 31 | [Agents, and Agent Architectures] Slides.v2 // Recording | worksheet | RN2 |
Week 2 | |||
Mon Feb 5 | Problem solving as search Slides.v2 // Recording | HW1 is released on BB | RN 3.1-3.3 |
Wed Feb 7 | Uninformed search Slides.v2 // Recording | PA0 | RN 3.4 |
Week 3 | |||
Mon Feb 12 | Informed search: Heuristic Search Slides.v2 | HW1 is due | RN 3.5 |
Wed Feb 14 | Informed search: A* Search Slides.v3 // Class-Notes | PA1 is out in BB | RN 3.5, PM 3.7 |
Week 4 | |||
Mon Feb 19 | Local and Online Search Slides | PA1-help:p8, AIMA-search, pa1-heuristics | RN 4.1 |
Wed Feb 21 | Constraint Satisfaction Problem Slides // Recording + PA1 discussion | CSP Demos | RN 6.1 |
Week 5 | PA1 is due on Sunday 02/25 | ||
Mon Feb 26 | Constraint Propagation, Backtracking search for CSPs Slides | PA2-help:csp_python | RN 6.2-6.3.2 |
Wed Feb 28 | Local search and Structure Improvement for CSPs Slides | RN 6.4-6.5.2 | |
Week 6 | |||
Mon Mar 4 | Adversarial Search (Games), MiniMax Slides // Recording | RN 5.1-5.3 | |
Wed Mar 6 | Stochastic Minimax, Mutli-agent games Slides | RN 5.4,5.5,5.7 | |
Week 7 | |||
Mon Mar 11 | Monte Carlo Tree Search Slides, Markov Decision Process Slides | A comprehensive guide to MCTS algorithm with working example; HW3 is released on BB | |
Wed Mar 13 | RL Slides | ||
Week 8 | HW3 is due on Friday Mar 15 | ||
Spring Break | |||
Week 9 | |||
Mon Mar 25 | Midterm Discussion Slides | ||
Wed Mar 27 | Midterm Exam | ||
Week 10 | |||
Mon Apr 1 | Probability & Bayesian Reasoning Slides | RN 12 | |
Wed Apr 3 | Reasoning with BBNs Slides | RN 13.1, 13.2 | |
Week 11 | |||
Mon Apr 8 | BBN Reasoning: Variable Elimination, Maximum Likelihood Estimation Slides.v3 // Recording | PM Example 9.27 | PM 9.5, 10.2 |
Wed Apr 10 | Machine Learning: Supervised Learning, Regression Slides | RN 19 | |
Week 12 | |||
Mon Apr 15 | Logistic Regression Slides ML Tools, Evaluation Slides | Practice Colab Notebooks, HW4 is due | RN 19 |
Wed Apr 17 | Support Vector Machines Slides | PA3 is released on BB | RN 19.7 |
Week 13 | |||
Mon Apr 22 | Cross-Validation, Multiclass P/R/F – Slides Decision Tree Learning Slides | Practise DTL Exercise | RN 19.3 / Tom-Mitchell Chap 3 |
Wed Apr 24 | Unsupervised Learning Slides | HW5 is released (Logic and DTL) | RN 21 |
Week 14 | PA3 is due on Apr 28 | ||
Mon Apr 29 | Neural Networks Slides Recording-1pm Recording-4pm | Colab Notebooks | CNN Blog |
Wed May 1 | Propositional Logic Slides.v2 // Recording | RN 7.1-7.7 | |
Week 15 | |||
Mon May 6 | Reasoning Slides First order logic Slides | RN 8.1-8.3, 9.1 | |
Wed May 8 | CNN + RNN use Slides Planning (w/o uncertainty) Slides Recording | Quiz-Link | RN 11.1, 11.2-11.2.1, 11.3; STRIPS-simulation (just FYI) |
Week 16 | |||
Mon May 13 | Final Exam Review Slides // Recording-1pm // Recording-4pm | HW5 is due | |
Wed May 15 | Study Day No Classes | ||
Week 17 | |||
Mon May 20 | Final Exam | 1-3 pm // 3:30 -5:30 pm | PAHB 132 (Performing Arts and Humanities Building) // SOND 105 |
Midterm and Final Exams
The material covered by the exams will be drawn from assigned readings in the text, from lectures, from quizzes, 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.
An exam guide will be posted before the exams.
Course Evaluation
Grades will be based on your performance in assignments(quizzes/homeworks/programming assignments), a mid-term examination and a final examination. The overall evaluation is as follows:
Component | % |
---|---|
Assignments | 55% |
Midterm | 20% |
Final | 20% |
Course Engagement | 5% |
“Course engagement” consists of, e.g., asking/answering questions and participating in discussiong (in class, or online), responding to surveys or checkpointing questions, participating in in-class quizzes, etc.
Grading Scale: The following grading scale is used on the normalized final, rounded percentages:
If you get at least a/an… | you are guaranteed a/an… or higher |
---|---|
90 | A |
80 | B |
70 | C |
60 | D |
0 | F |
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.
Policies
If you have extenuating circumstances that result in an assignment being late, please talk to me as soon as possible.
Due Dates
Due dates will be announced on the course website and Campuswire. Unless stated otherwise, items are due by 11:59 PM (UMBC time) of the specified day. Submission instructions will be provided with each assigned item.
Extensions and Late Policy
Personal or one-off extensions will not be granted. Instead, everyone in this course has ten (10) late days (3 days maximum per assignment) to use as needed throughout the course. These are meant for personal reasons and emergencies; do not use them as an excuse to procrastinate. Late days are measured in 24 hour blocks after a deadline. They are not fractional: an assignment turned in between 1 minute and 23 hours, 59 minutes (1,439 minutes) after the deadline uses one late day, an assignment turned in between 24 hours and 47 hours, 59 minutes (2879) after the deadline uses two late days, etc. The number of late days remaining has no bearing on assignments you turn in by the deadline; they only affect assignments you turn in after the deadline. If you run out of late days and do not turn an assignment in on time, please still complete and turn in the assignments. Though late assignments after late days have been exhausted will be recorded as a 0, they will still be marked and returned to you. Morever, they could count in your favor in borderline cases. There is a hard cutoff of the final exam block. Late days cannot be used beyond this time. I reserve the right to issue class-wide extensions.
Academic Honesty
Do not cheat, deceive, plagiarize, improperly share, access or use code, or otherwise engage in academically dishonest behaviors. Doing so may result in lost credit, course failure, suspension, or dismissal from UMBC. Instances of suspected dishonesty will be handled through the proper administrative procedures.
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.
Especially for computer science classes, there are generally questions about what is and is not allowed. You are encouraged to discuss the subject matter and assignments with others. The Campuswire discussion board provides a great forum for this. However, you may not write or complete assignments for another student; allow another student to write or complete your assignments; pair program; copy someone else’s work; or allow your work to be copied. (This list is not inclusive.)
As part of discussing the assignments, you may plan with other students; be careful when dealing with pseudocode. A good general rule is that if anything is written down when discussing the assignments with others, you must actually implement it separately and you must not look at your discussion notes.
You are free to use online references like Stack Overflow for questions that are not the primary aspect of the course. If, for example, you’re having an issue with unicode in Python, or are getting a weird compilation error, then sites like Stack Overflow are a great resource. Don’t get stuck fighting your tools.
You may generally use external libraries (and even parts of standard libraries), provided what you use does not actually implement what you are directed to implement.
Generative AI: For this class, if you use ChatGPT (or similar chatbots or AI-based generation tools), you must describe exactly how you used it, including providing the prompt, original generation, and your edits. This applies to prose, code, or any form of content creation. Not disclosing is an academic integrity violation. If you do disclose, your answer may receive anywhere from 0 to full credit, depending on the extent of substantive edits, achievement of learning outcomes, and overall circumvention of those outcomes.
Use of AI/automatic tools for grammatical assistance (such as spell-checkers or Grammarly) or small-scale predictive text (e.g., next word prediction, tab completion) is okay. Provided the use of these tools does not change the substance of your work, use of these tools may be, but is not required to be, disclosed.
Be sure to properly acknowledge whatever external help—be it from students, third party libraries, or other readings—you receive in the beginning of each assignment. Please review this overview of how to correctly cite a source and these guidelines on acceptable paraphrasing or here.
Accomodations
Students with Accommodation Needs
The Office of Student Disability Services (SDS, https://sds.umbc.edu) works to ensure that students can access and take advantage of UMBC’s educational environment, regardless of disability. From the SDS,
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 require the use of SDS-approved accommodations in this class, please make an appointment with me to discuss the implementation of the accommodations.
Religious Observances & Accommodations
UMBC Policy provides that students should not be penalized because of observances of their religious beliefs, and that students shall be given an opportunity, whenever feasible, to make up within a reasonable time any academic assignment that is missed due to individual participation in religious observances. It is the responsibility of the student to inform me of any intended absences or requested modifications for religious observances in advance, and as early as possible.
Sexual Assault, Sexual Harassment, and Gender-based Violence and Discrimination
UMBC Policy in addition to federal and state law (to include Title IX) prohibits discrimination and harassment on the basis of sex, sexual orientation, and gender identity in University programs and activities. Any student who is impacted by sexual harassment, sexual assault, domestic violence, dating violence, stalking, sexual exploitation, gender discrimination, pregnancy discrimination, gender-based harassment, or related retaliation should contact the University’s Title IX Coordinator to make a report and/or access support and resources. The Title IX Coordinator can be reached at titleixcoordinator@umbc.edu or 410-455-1717.
You can access support and resources even if you do not want to take any further action. You will not be forced to file a formal complaint or police report. Please be aware that the University may take action on its own if essential to protect the safety of the community.
If you are interested in making a report, please use the Online Reporting/Referral Form. Please note that, if you report anonymously, the University’s ability to respond will be limited.
Faculty Reporting Obligations
All faculty members and teaching assistants are considered Responsible Employees, per UMBC’s Policy on Sexual Misconduct, Sexual Harassment, and Gender Discrimination. So please note that as instructors, I, other faculty members, and the teaching assistants are required to report all known information regarding alleged conduct that may be a violation of the Policy to the University’s Title IX Coordinator, even if a student discloses an experience that occurred before attending UMBC and/or an incident that only involves people not affiliated with UMBC. Reports are required regardless of the amount of detail provided and even in instances where support has already been offered or received.
While faculty members want to encourage you to share information related to your life experiences through discussion and written work, students should understand that faculty are required to report past and present sexual harassment, sexual assault, domestic and dating violence, stalking, and gender discrimination that is shared with them to the Title IX Coordinator so that the University can inform students of their rights, resources, and support. While you are encouraged to do so, you are not obligated to respond to outreach conducted as a result of a report to the Title IX Coordinator.
If you need to speak with someone in confidence, who does not have an obligation to report to the Title IX Coordinator, UMBC has a number of Confidential Resources available to support you:
Retriever Integrated Health (Main Campus): 410-455-2472; Monday – Friday 8:30 a.m. – 5 p.m.; For After-Hours Support, Call 988.
Pastoral Counseling via The Gathering Space for Spiritual Well-Being: 410-455-6795; i3b@umbc.edu; Monday – Friday 8:00 a.m. – 10:00 p.m.
For after-hours emergency consultation, call the police at 410-455-5555
Other Resources:
Women’s Center (open to students of all genders): 410-455-2714; womenscenter@umbc.edu; Monday – Thursday 9:30 a.m. – 5:00 p.m. and Friday 10:00 a.m. – 4 p.m.
Child Abuse and Neglect
Please note that Maryland law and UMBC policy require that I report all disclosures or suspicions of child abuse or neglect to the Department of Social Services and/or the police even if the person who experienced the abuse or neglect is now over 18.
Hate, Bias, Discrimination, and Harassment
UMBC values safety, cultural and ethnic diversity, social responsibility, lifelong learning, equity, and civic engagement.
Consistent with these principles, UMBC Policy prohibits discrimination and harassment in its educational programs and activities or with respect to employment terms and conditions based on race, creed, color, religion, sex, gender, pregnancy, ancestry, age, gender identity or expression, national origin, veterans status, marital status, sexual orientation, physical or mental disability, or genetic information.
Students (and faculty and staff) who experience discrimination, harassment, hate, or bias based upon a protected status or who have such matters reported to them should use the online reporting/referral form to report discrimination, hate, or bias incidents. You may report incidents that happen to you anonymously. Please note that, if you report anonymously, the University’s ability to respond may be limited.
Acknowledgements
This class borrows inspirations from several incredible sources. The lecture slides’ material is partially adapted from my colleagues, Tim Finin and Frank Ferraro’s class at UMBC, and CS188 from UC Berkeley.