Computer Science

Introduction to Artificial Intelligence

Introduction to Artificial Intelligence
Introduction to core areas of artifical intelligence; intelligent agents, problem solving and search, knowledge-based systems and inference, planning, uncertainty, learning, and perception.
 Hours3.0 Credit, 3.0 Lecture, 0.0 Lab
 PrerequisitesC S 312 & MATH 215 & STAT 121; or C S 312 & MATH 215 & STAT 201; or C S 312 & MATH 313 & STAT 121
 NoteStudents are allowed only 1 retake of CS 355. This includes students who have failed or withdrawn (received a "W" grade). If after 1 retake, a student needs to retake the course again, the student must wait 1 semester/term before being allowed to take any C S course and must follow the petition process at This policy does not apply to classes dropped before the add/drop deadline. Petitions for exceptions to the policy can be completed at
 ProgramsContaining C S 470
Course Outcomes: 

Recognize problems that can use AI methods

from business, medicine, robotics, gaming, and machine learning

Identify the component elements of the problem

Does it require basic control?

Does it involve uncertain reasoning?

Does it have a simple goal, sophisticated utility, or multiple attributes?

Does it require sequential choice or planning?

How may decision makers are involved?

Formalize the problem in a way that is amenable to a solutio

What is the internal representation?

What performance criteria are relevant?

What is the nature of the environment?

What are the actuators?

What are the sensors?

What are the agent's utilities?

How is uncertainty represented?

Be able to analyze, implement, and experiment with several A

Uninformed, informed, constraint-satisfaction, hill-climbing, and stochastic (e.g., genetic algorithms) search

Markov provesses, Bayes rule, Bayes nets, Hidden Markov Models, Grid Filters, and Kalman Filters

Expected utility theory

Multi-attribute utility theory

Sequential choice under uncertainty: value and policy iteration

Minimax solutions from game theory: alpha-beta pruning

Analyze and communicate solution quality

Determine whether your solution is correct

Express the quality of your solution

Value the need to communicate your solution to others