Introduction to Artificial Intelligence

CS47100 • Spring 2019 • Time: Tues/Thurs 9:00-10:15 am • Location: PHYS 223

Tentative SchedulePiazzaBlackboardGradescope


Professor Yexiang Xue
Lawson 2142L • yexiang [at] purdue DOT edu •
Office hours: Thursday after the class: 10:30 -- 11:30 am.

Teaching assistants

Nan Jiang
• jiang631 [at] purdue DOT edu • Office hours: Friday 5:00 -- 6:00 pm Location: HAAS G72.

Chonghao Sima
• simac [at] purdue DOT edu • Office hours: Wednesday 2:00 -- 3:00 pm Location: HAAS G72.

Mir imtiaz Mostafiz
• mmostafi [at] purdue DOT edu • Office hours: Tuesday 11 am -- 12 pm Location: HAAS G72.

Questions: We will use Piazza for class questions/discussion. Instead of sending email to the ta list, please post your questions on Piazza.


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.


Prerequisites: CS25100 Data Structures (grade of C or better)


S. Russell and P. Norvig (2010). Artificial Intelligence: A Modern Approach. Prentice Hall, 3rd Edition.

Assignments and exams

There will be four homework/programming assignments that will be posted on the schedule. Assignments should be submitted online in Blackboard or via turnin on Details will be provided in the assignments. Programming projects should written in Python 3, unless otherwise noted. In general, questions about the details of homeworks/projects should be directed to the TA on Piazza.

There will be one essay on the opportunities and challenges that Artificial Intelligence will bring to our society. Details will be discussed in the class. The essay should be submitted via Blackboard in PDF format.

There will be several quizzes in class, as well as an evening midterm and a comprehensive final exam. Exams will be closed book and closed notes.

Exam Date and Homework Due Dates


Grades will be posted on Blackboard.

Late policy

Assignments are to be submitted by the due date listed. Each person will be allowed three days of extensions which can be applied to any combination of assignments (homework/projects/essays only) during the semester without penalty. After that a late penalty of 15% per day will be assigned. Use of a partial day will be counted as a full day. Use of extension days must be stated explicitly at the time of the late submission (by accompanying email to the TA), otherwise late penalties will apply. Extensions cannot be used after the final day of classes (ie., May 2nd). Extension days cannot be rearranged after they are applied to a submission. Use them wisely!

Assignments will NOT BE accepted if they are more than five days late. Additional extensions will be granted only due to serious and documented medical or family emergencies.

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.

Additional course policies

Please read the general course policies here.

Course outline

Introduction (1 week)
What is artificial intelligence? Overview of AI history and associated application areas.

Search (3 weeks) Problem solving as search, heuristic search, constraint satisfaction, adversarial search.

Reasoning with logic (2 weeks)
Propositional logic and first-order logic, logical reasoning and inference.

Reasoning with uncertain knowledge (3 weeks)
Basic probability and statistical reasoning, Bayesian and Markov networks, exact and approximate inference methods.

Planning and decision making (2 weeks)
Classical planning, decision making under uncertainty, sequential decision making and Markov decision processes.

Learning (2 weeks)
Learning as search, logical formulation of learning, reinforcement learning.

Additional topics (1 week)
Relational learning, multi-agent systems, causality, fairness/bias/ethics.