CS-165A: Introduction to Artificial Intelligence

Prerequisite: CS-130A

Artificial Intelligence is about building and understanding intelligent systems. AI means different things to different people. People have approached the study of AI from various perspectives: philosophy, neurophysiology, mathematics, linguistics, psychology, control systems, and computer science, to name a few. Part of what makes it so interesting is the range of activities, from trying to understand minds in the abstract, to building creatures that run around and do things. AI has made steady progress and contributed to much of what is now standard computer science and cognitive science. It has spawned several sub-areas (e.g., natural language processing, speech recognition, computer vision, robotics, expert systems, and machine learning).

This is an introductory course in artificial intelligence offered as part of a computer science curriculum, so we are not primarily concerned with the approaches of philosophy, cognitive science, etc., although we will come back to them from time to time. We will cover the following technical topics:

  • Problem solving and intelligent agents
  • Introduction to machine learning (classification)
  • Probabilistic modeling and inference (Bayesian networks)
  • Problem solving and search (blind, informed, adversarial)
  • Introduction to reinforcement learning (Bandits, MDPs and Reinforcement Learning)
  • Knowledge Representation and Reasoning (logic)
  • Responsible AI (fairness, privacy, AI for social good)

Differences from CS165B: Note that CS165B is about machine learning (ML). In CS165A, we take a broader view of AI and cover a complementary set of topics (each one of them may have a learning component). There isn’t a right order in taking these two courses. You can go either way. You will have more ideas on applications of ML for decision making if you have completed CS165A when taking CS165B; meanwhile you will gain deeper understanding in CS165A topics if you have taken CS165B.