15-281, Spring 2026

Artificial Intelligence: Representation and Problem Solving

Overview

Key Information

Asynchronous Lectures, see schedule for lectures

Friday 11:00 - 11:50 am, GHC 5222, see Recitations

Pranav Rajbhandari, Sunny Kim, see the 281 Staff page


Grades will be collected in Canvas.
Midterms 15% (each), Final 30%, Programming homework 20%, Written homework 10%, Online homework 5%, Recitation attendance 5%

We will use Piazza for questions and any course announcements.

Students will turn in their homework electronically using Gradescope.

This course is about the theory and practice of Artificial Intelligence. We will study modern techniques for computers to represent task-relevant information and make intelligent (i.e., satisficing or optimal) decisions towards the achievement of goals. The search and problem-solving methods are applicable throughout a large range of industrial, civil, medical, financial, robotic, and information systems. We will investigate questions about AI systems such as: how to represent knowledge, how to effectively generate appropriate sequences of actions and how to search among alternatives to find optimal or near-optimal solutions. We will also explore how to deal with uncertainty in the world and how to learn from experience. We will cover the aggregation of conflicting preferences and computational game theory. Throughout the course, we will discuss topics such as AI and Ethics and introduce applications related to AI for Social Good. We expect that by the end of the course students will have a thorough understanding of the algorithmic foundations of AI, how probability and AI are closely interrelated, and how automated agents make decisions. We also expect students to acquire a strong appreciation of the big-picture aspects of developing fully autonomous intelligent agents.

This iteration of the course will be taught through pre-recorded lectures from last year's version of this class, available on Panopto. Scheduled class times will be used as office hours for students to ask questions (ideally mostly about the corresponding lecture/related assignments). Please watch the assigned lecture before this! Recitations will be hosted on Fridays by your wonderful TAs and will be a review of lecture topics.

Prerequisites + Corequisites

The prequisites for this course are:

  • 15-122 Principles of Imperative Computation
  • 21-241 Matrices and Linear Transformations
  • 21-127 Concepts of Mathematics or 15-151 Mathematical Foundations of Computer Science.

The corequisite for this course is:

  • 21-122 Integration and Approximation

For this corequisite, you should either have completed it prior to starting 15-281 or have it on your schedule for Spring 2026.

Please see the instructors if you are unsure whether your background is suitable for the course.

Office Hours

Office hours will function mostly for students to ask questions related to the lecture assigned that day. You may also ask questions about upcoming assignments or about less related topics, but please allow any questions about the assigned lecture to take priority. We may schedule additional times if needed.

If you need to schedule individual office hours outside of the listed times, please email/speak to one of the TAs. Find their andrew ids on the 281 Staff page.

Professor Office Hours

Mondays 11:00-12:00, GHC 9205 (starting 1/19)

TA Office Hours

Wednesdays 11:00-12:00, GHC 5222 (starting 1/14)

Friday 4:00-5:00 pm, GHC 5222 (starting 1/23)

We will add more OH times as we see fit throughout the semester.

Schedule (subject to change)

Updated Jan. 8 2026
Dates Topic / Lecture Video Reading / Demo Slides
1/12 Mon Live Meeting with Professor Sandholm and TAs at GHC 5222
Introduction Lecture
AIMA Ch. 1 pptx (pdf)
1/14 Wed Agents and Search AIMA Ch. 3.1-4 pptx (pdf)
1/19 Mon No class: MLK Day
1/21 Wed Informed Search AIMA Ch. 3.5-6 pptx (pdf)
1/26 Mon Adversarial Search AIMA Ch. 5 pptx (pdf)
1/28 Wed Contraint Satisfaction Problems AIMA Ch. 6.1-3, 6.5
CSP Demo
pptx (pdf)
2/2 Mon Local Search and Gradient Descent AIMA Ch. 4.1, 6.4
pptx (pdf)
2/4 Mon Linear Programming Boyd and Vandenberghe Ch. 2.2.1, 2.2.4, 4.3-4.3.1
Desmos Demos:
pptx (pdf)
2/9 Mon Integer Programming Desmos Demos: IP pptx (pdf)
2/11 Wed Propositional Logic and Logical Agents AIMA Ch. 7.1-7 pptx (pdf)
2/16 Mon AI Ethics and Practice Activity pptx (pdf)
2/18 Wed MIDTERM 1 EXAM In class (GHC 5222)
2/23 Mon Planning AIMA Ch. 11.1-3, 26.5 pptx (pdf)
2/25 Wed Machine Learning AIMA Ch. 19 pptx (pdf)
3/2 Mon No class: Spring Break
3/4 Wed No class: Spring Break
3/9 Mon Markov Decision Process I AIMA Ch. 17.1-2 pptx (pdf)
3/11 Wed Markov Decision Process II Markov Decision Process II pptx (pdf)
3/16 Mon Reinforcement Learning I AIMA Ch. 22.1-3 pptx (pdf)
3/18 Wed Reinforcement Learning II AIMA Ch. 22.4-4.3 pptx (pdf)
3/23 Mon Bayes Nets: Representation AIMA Ch. 12.1-5, 13.1-2
Bayes Net Demo (highres)
pptx (pdf)
3/25 Wed MIDTERM 2 EXAM In class (GHC 5222)
3/30 Mon Bayes Nets: Independence AIMA Ch. 12.4-5, 13.2 pptx (pdf) (annotated)
4/1 Wed Bayes Nets: Inference AIMA Ch. 13.3 pptx (pdf)
4/6 Mon Bayes Nets: Sampling AIMA Ch. 13.4
Likelihood Demo, Gibbs Demo
pptx (pdf) (annotated)
4/8 Wed Hidden Markov Models AIMA Ch. 14.1-3 pptx (pdf) (annotated) Video: Forward Algorithm Math Video: Math for Variable Elimination
4/13 Mon Particle Filtering AIMA Ch. 14.5 pptx (pdf) (annotated)
4/15 Wed Game Theory: Equilibrium AIMA Ch. 18.1-2 pptx (pdf)
4/20 Mon Game Theory: Social Choice AIMA Ch. 17.6 pptx (pdf)
4/22 Wed Live Q&A to ask Professor Sandolm anything about AI (and the course)
TBD FINAL EXAM, Time + location TBD

Recitations (Policies subject to change)

Recitations start the first week of class, Friday, Jan 16. Recitation attendence is recommended to help solidfy weekly course topics (and also since it is 5% of your grade). Understanding the recitation materials published below is expected, and they are in-scope for midterm and final exams.

Time Location Section TAs Resources
Fri, 11:00- 11:50 am GHC 5222 A Pranav, Sunny Section A Resources
Dates Recitation Handouts
1/16 Fri Recitation 1
1/23 Fri Recitation 2
1/30 Fri Recitation 3
2/6 Fri Recitation 4
2/13 Fri Recitation 5
2/20 Fri Recitation 6
2/27 Fri Recitation 7
3/6 Fri No Recitation: Spring Break
3/13 Fri Recitation 8
3/20 Fri Recitation 9
3/27 Fri Recitation 10
4/3 Fri No Recitation: Spring Carnival
4/10 Fri Recitation 11
4/17 Fri Recitation 12
4/24 Fri Recitation 13

Exams

The course includes two midterm exams and a final exam. The midterms will take place the scheduled class time in GHC 5222. The final exam date and location are TBD. Plan any travel around exams, as exams will not be rescheduled.

Assignments

There will be five programming assignments and eleven written/online assignments (subject to change). Written/online assignments will involve working through algorithms presented in the class, deriving and proving mathematical results, and critically analyzing material presented in class. Programming assignments will involve writing code in Python to implement various algorithms. See assignment FAQs for help setting up programming/written assignments.

For any assignments that aren't released yet, the dates below are tentative and subject to change.

Assignment due dates

All assignments are due at 11:59 PM EST on their respective days.

Assignment Link (if released) Due Date
P0 P0: Tutorial (required, worth zero points) 1/23 Fri
HW1 (online) Online 1/23 Fri
HW2 (online, written) Released 1/23 1/30 Fri
P1 Released 1/23 2/6 Fri
HW3 (online) Released 1/30 2/6 Fri
HW4 (online, written) Released 2/6 2/13 Fri
P2 Released 2/6 2/20 Fri
HW5 (online, written) Released 2/13 2/20 Fri
P3 Released 2/20 3/13 Fri
HW6 (online, written) Released 3/13 3/20 Fri
HW7 (online, written) Released 3/20 3/27 Fri
P4 Released 3/20 3/30 Mon
HW8 (online) Released 3/27 4/3 Fri
HW9 (online, written) Released 4/3 4/10 Fri
HW 10 (online, written) Released 4/10 4/17 Fri
P5 Released 4/10 4/24 Fri
HW11 (online) Released 4/17 4/24 Fri

Course Notes

Below are course notes developed by the course staff over the years.

Topic Link (if released)
Search Search Notes
CSPs CSPs Notes
Local Search Local Search Notes
Linear and Integer Programming LP/IP Notes
Propositional Logic and Logical Agents Logic Notes
Classical Planning Classical Planning Notes
Markov Decision Process MDP Notes
Reinforcement Learning RL Notes
Probability Probability Notes
Bayes Nets Bayes Nets Notes
HMMs and Particle Filters HMMs and Particle Filters Notes
Game Theory Game Theory Notes

Policies (All subject to change)

Grading

Grades will be collected and reported in Canvas. Please let us know if you believe there to be an error the grade reported in Canvas.

Final scores will be composed of:

  • 15% Midterm exams (each)
  • 30% Final exam
  • 20% Programming homework
  • 10% Written homework
  • 5% Online homework
  • 5% Recitation attendance

Final Grade

This class is not curved. However, we convert final course scores to letter grades based on grade boundaries that are determined at the end of the semester. What follows is a rough guide to how course grades will be established, not a precise formula — we will fine-tune cutoffs and other details as we see fit after the end of the course. This is meant to help you set expectations and take action if your trajectory in the class does not take you to the grade you are hoping for. So, here's a rough heuristics about the correlation between final grades and total scores:

  • A: above 90%
  • B: 80-90%
  • C: 70-80%
  • D: 60-70%

This heuristic assumes that the makeup of a student's grade is not wildly anomalous: exceptionally low overall scores on exams, programming assignments, or written assignments will be treated on a case-by-case basis and, while rare, could potentially drop a students grade.

Precise grade cutoffs will not be discussed at any point during or after the semester.

Recitation attendance

5% of your grade will be based on the number of recitations you attend.

  • 5% for attending at least 10 out of the 13 recitations
  • Linear scale for attending less than 10 recitations (calculated as (5%)*(recitations attended)/10)
  • If you have systemic/repeated technical issues, please let us know as soon as possible, so we can resolve the situation.
  • Missing recitations due to absences (e.g., brief illness) or due to other difficulties is expected occasionally, and this is why you only need to attend ≥75% of the time to get full credit.

Late Policy

Programming assignments, written homework, and online homework:

  • 6 slip days across all assignment types
  • Use up to two per assignment
  • Slip days are counted in full 24-hour increments from the assignment deadline. No fractions of a slip day are used
  • When multiple assignments are due on the same day, they are treated as a single assignment for slip day purposes
    • For example, if P0 and HW1 are due on the same day and you turn in P0 one day late and HW1 two days late, you will have used only two slip days (not three)
  • You may use these at your discretion, but they are intended for minor illness and other disruptive events outside of your control, and not for poor time management
  • No need to inform us that you are using a slip day; just submit it to Gradescope during the slip day
  • You are responsible to keep track of your own slip days. Gradescope will not enforce the total number of slip days

Aside from this, there will be no extensions on assignments in general. If you think you really really need an extension on a particular assignment, contact the instructor as soon as possible and before the deadline. Please be aware that extensions are entirely discretionary and will be granted only in exceptional circumstances outside of your control (e.g., due to severe illness or major personal/family emergencies, but not for competitions, club-related events or interviews). The instructors will require confirmation from your academic advisor, as appropriate.
Nearly all situations that make you run late on an assignment homework can be avoided with proper planning, often just starting early. Here are some examples:

  • I have so many deadlines this week: you know your deadlines ahead of time, so plan accordingly.
  • It's a minute before the deadline and the network is down: you always have multiple submissions -- it's not a good idea to wait for the deadline for your first submission.
  • My computer crashed and I lost everything: Use Dropbox or similar to do real-time backup -- recover your files onto AFS and finish your homework from a cluster machine.
  • My fraternity/sorority/club has that big event that is taking all my time: Schedule your extra-curricular activities around your classes, not vice versa.

Again, you should be keeping track of how many slip days you have used, and ensure that you are both using no more than 2 slip days per assignment and using no more than 6 slip days in the semester. If you submit an assignment late but do not have enough slip days to use for either reason, one of two things will happen:

  • If you submitted a version of the assignment on time or within your available slip days, we will grade the last valid assignment submission
  • If you did not submit a version on time, you will receive a 0

You are encouraged to submit a version of your assignment early. It is not a good idea to wait for the deadline for your first submission.

Collaboration Policy

We encourage you to discuss course content and assignments with your classmates. However, these discussion must be kept at a conceptual level only.

  • You may NOT view, share, or communicate about any artifact that will be submitted as part of an assignment. Example artifacts include, but are not limited to: code, pseudocode, diagrams, and text.
  • If you work on homework problems together, you must erase all artifacts and wait at least 1 hour before writing your responses to ensure that your submission is not too similar from your friends'.
  • You may look at another student's Python error messages and discuss what the error means at a conceptual level. However, you may NOT give specific instructions to fix the error.
  • All work that you present must be your own. Thus, generative AI tools may not be used to generate any part of your assignment submission. (Yes, these tools are awesome, but we've designed this course to minimize the amount of code/material that you need to write, so you should be able to complete the assignments in a timely manner without these aids.)
  • Using any external sources of code or algorithms in any way must have approval from the instructor before submitting the work. For example, you must get instructor approval before using an algorithm you found online for implementing a heuristic function in a programming assignment. The following are pre-approved exceptions:
    • Code provided by the course staff or materials, including code from the textbook
    • Documentation for permitted Python libraries

Programming Assignment Partners

The only exception to the above collaboration policy is when you share programming code directly with your programming assignment partner.

  • You are allowed to work in groups of at most two on each programming assignment, i.e. you and one partner
  • You must specify your parnter when you submit each assignment
  • Once you start working with a partner on an assignment, you may not switch to another partner for that assignment
  • You may change partners between assignments. In fact, you are strongly encouraged to change partners occasionally
  • Important: You are responsible for making sure that both you AND your partner understand the work that you submit. If we discover that one partner cannot answer basic questions about the submitted work, both students in the group will be reported for an academic integrity violation.

Violations of these policies will be reported as an academic integrity violation. Information about academic integrity at CMU may be found at https://www.cmu.edu/academic-integrity. Please contact the instructor if you ever have any questions regarding academic integrity or these collaboration policies.

Accommodations for Students with Disabilities

If you have a disability and have an accommodations letter from the Disability Resources office, we encourage you to discuss your accommodations and needs with us as early in the semester as possible. We will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, we encourage you to visit their website.

Statement of Support for Students Health & Well-being

Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, getting enough sleep, and taking some time to relax. This will help you achieve your goals and cope with stress.
All of us benefit from support during times of struggle. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is almost always helpful.
If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.
If you have questions about this or your coursework, please let us know. Thank you, and have a great semester.

Statement of Commitment to a Diverse Learning Environment

We must treat every individual with respect. We are diverse in many ways, and this diversity is fundamental to building and maintaining an equitable and inclusive campus community. Diversity can refer to multiple ways that we identify ourselves, including but not limited to race, color, national origin, language, sex, disability, age, sexual orientation, gender identity, religion, creed, ancestry, belief, veteran status, or genetic information. Each of these diverse identities, along with many others not mentioned here, shape the perspectives our students, faculty, and staff bring to our campus. We, at CMU, will work to promote diversity, equity and inclusion not only because diversity fuels excellence and innovation, but because we want to pursue justice. We acknowledge our imperfections while we also fully commit to the work, inside and outside of our classrooms, of building and sustaining a campus community that increasingly embraces these core values.

Each of us is responsible for creating a safer, more inclusive environment.

Unfortunately, incidents of bias or discrimination do occur, whether intentional or unintentional. They contribute to creating an unwelcoming environment for individuals and groups at the university. Therefore, the university encourages anyone who experiences or observes unfair or hostile treatment on the basis of identity to speak out for justice and support, within the moment of the incident or after the incident has passed. Anyone can share these experiences using the following resources:
  • Center for Student Diversity and Inclusion: csdi@andrew.cmu.edu, (412) 268-2150
  • Report-It online anonymous reporting platform: reportit.net username: tartans password: plaid
All reports will be documented and deliberated to determine if there should be any following actions. Regardless of incident type, the university will use all shared experiences to transform our campus climate to be more equitable and just.