Ming Yin

Email: mingyin [AT]

Teaching Assistants

Jiaxin Du, Jinzhao Li, Zhuoyan Li, Mir Imtiaz Mostafiz, Xinru Wang

Email: {du286, li4255, li4178, mmostafi, xinruw} [AT]

Course Description

Artificial intelligence (AI) is a growing research field that studies how to realize intelligent behaviors (e.g., learn, plan, and solve problems autonomously) on a computer. This course provides an introduction to foundational areas of artificial intelligence and current techniques for building intelligent systems. Topics will include: problem solving, state-space representation, heuristic search techniques, game playing, knowledge representation, logical reasoning, reasoning under uncertainty, decision making, machine learning, and planning.

Learning Objectives

Upon completing the course, students should be able to:

Course Schedule

See the calendar page.

Key Dates



CS25100 (Data Structures; grade of C or better)


The primary text of the class is:

Note: A 4th edition of this book was published in 2020. The readings for each class shown on the calendar page are specified using sections listed the 3rd edition. However, you can also use the 4th edition and find the corresponding sections to read.

Late Policy

Assignments need to be submitted by the due date listed. Each student gets three extension days which can be applied to any combination of assignments during the semester without penalty. Students must explicitly state in the assignment submission the number of extension days used, and cannot be rearranged after they are applied.

Beyond extension days, a late penalty of 10% per day will be applied to assignments that are submitted after the due date. However, assignments will NOT be accepted if they are more than 5 days late.

Academic Honesty

Please read the departmental academic integrity policy. This will be followed unless we provide written documentation of exceptions. We encourage you to interact amongst yourselves: you may discuss and obtain help with basic concepts covered in lectures or the textbook, homework specification (but not solution), and program implementation (but not design). However, unless otherwise noted, work turned in should reflect your own efforts and knowledge. Sharing or copying solutions is unacceptable and could result in failure. We use copy detection software, so do not copy code and make changes (either from the Web or from other students). You are expected to take reasonable precautions to prevent others from using your work.