3 credits
Fall 2025 Lecture Upper DivisionArtificial Intelligence (AI) systems are increasingly being deployed in many real-world tasks. This course provides an introduction to the fundamental principles and applications of AI. The course covers classic material including search-based methods, probabilistic reasoning, game playing, decision making, exact and approximate inference, causal learning, and reinforcement learning as well as selected advanced topics. The focus of the course is on foundational methods and current techniques for building AI systems that exhibit 'intelligent' behavior and can 'learn' from experience. The course assumes students are familiar with basic concepts in analysis, linear algebra, optimization, discrete mathematics, elementary probability, statistics, data structures, and algorithms. Students are expected to have good programming and software development skills and have a working knowledge of Python and Java.
Learning Outcomes1Assess and explain the applicability, strengths, and weaknesses of the basic knowledge representation, problem-solving, and learning methods in solving a particular problem. (E,W)
2Predict the behavior and estimate the cost (in time and space) of different heuristic and optimal search methods, and choose the appropriate method for particular problems. (W,P)
3Develop small logic-based, rule-based, and search-based systems; be able to predict performance characteristics. (P)
4Predict the behavior of basic machine-learning methods, and choose the appropriate method for particular problems. (W,P)
5Communicate critical key issues in AI-related to knowledge representation, problem-solving, and learning for a specific problem. (W)
6Propose, evaluate, and implement effective solutions to problems requiring AI techniques. (P)
7Articulate key problems, both technical and philosophical, in the development of artificial intelligence systems. (E,W)