You are on page 1of 7

ABOUT THIS COURSE

CS188.1x is a new online adaptation of the first half of UC Berkeley's CS188: Introduction to Artificial Intelligence. The on-campus version of this upper division computer science course draws about 600 Berkeley students each year. Artificial intelligence is already all around you, from web search to video games. AI methods plan your driving directions, filter your spam, and focus your cameras on faces. AI lets you guide your phone with your voice and read foreign newspapers in English. Beyond today's applications, AI is at the core of many new technologies that will shape our future. From self-driving cars to household robots, advancements in AI help transform science fiction into real systems. CS188.1x focuses on Behavior from Computation. It will introduce the basic ideas and techniques underlying the design of intelligent computer systems. A specific emphasis will be on the statistical and decisiontheoretic modeling paradigm. By the end of this course, you will have built autonomous agents that efficiently make decisions in stochastic and in adversarial settings. CS188.2x (to follow CS188.1x, precise date to be determined) will cover Reasoning and Learning. With this additional machinery your agents will be able to draw inferences in uncertain environments and optimize actions for arbitrary reward structures. Your machine learning algorithms will classify handwritten digits and photographs. The techniques you learn in CS188x apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue.

COURSE STAFF

Dan Klein (Instructor)


Dan Klein (PhD Stanford, MSt Oxford, BA Cornell) is an associate professor of computer science at the University of California, Berkeley. His research focuses on natural language processing and using computational methods to automatically acquire models of human languages. Examples include large-scale systems for

language understanding, information extraction, and machine translation, as well as computational linguistics projects, such as the reconstruction of ancient languages. One of his best-known results was to show that human grammars can be learned by statistical methods. He also led the development of the Overmind, a galaxydominating, tournament-winning agent for the game of Starcraft. Academic honors include a Marshall Fellowship, a Microsoft Faculty Fellowship, a Sloan Fellowship, an NSF CAREER award, the ACM Grace Murray Hopper award for his work on grammar induction, and best paper awards at the ACL, NAACL, and EMNLP conferences. Professor Klein is the recipient of multiple teaching honors, including the UC Berkeley Distinguished Teaching Award.

Pieter Abbeel (Instructor)


Pieter Abbeel (PhD Stanford, MS/BS KU Leuven) joined the faculty of the Department of Electrical Engineering and Computer Sciences at UC Berkeley in 2008. He regularly teaches CS188: Introduction to Artificial Intelligence and CS287: Advanced Robotics. His research focuses on robot learning. Some results include machine learning algorithms which have enabled advanced helicopter aerobatics, including maneuvers such as tic-tocs, chaos and auto-rotation, which only exceptional human pilots can perform, and the first end-to-end completion of reliably picking up a crumpled laundry article and folding it. Academic honors include best paper awards at ICML and ICRA, the Sloan Fellowship, the Air Force Office of Scientific Research Young Investigator Program (AFOSR-YIP) award, the Okawa Foundation award, the MIT TR35, the IEEE Robotics and Automation Society (RAS) Early Career Award, and the Dick Volz award for best PhD thesis in robotics and automation.

Arjun Singh (Head Teaching Assistant)


Arjun Singh (BS UC Berkeley) is a PhD student at UC Berkeley and Berkeley's lead developer for the edX platform. He has been a teaching assistant for the on-campus CS188 offerings four times. As a member of the Robot Learning Lab, he has worked onautonomous helicopters, robotic laundry, and now works on computer vision for

roboticsand technology for education. He led the development of the Coursesharing online education platform, which was merged into the edX platform.

Peter Cottle (Teaching Assistant)


Peter Cottle (BS UC San Diego) is a PhD student at UC Berkeley. He was one of the star students in the Spring 2012 offering of CS188, and he is currently a teaching assistant for the on-campus CS188 offering. He conducts his PhD research in the CADML group, which solves manufacturing problems with computer science. He has applied some of the concepts from CS188 for his MS Thesis, a search algorithm that drains polygonal meshes.

Ziang Xie (Teaching Assistant)

Ziang Xie is an undergraduate student at UC Berkeley, studying Electrical Engineering and Computer Science. He took the Spring 2011 offering of CS188, and is currently a member of the Robot Learning Lab, where he's worked on robotic laundry and robotic perception. He also coordinates tours for educational groups as part of the lab's outreach program.

Ketrina Yim (Course Illustrator)


Ketrina Yim (MS/BS UC Berkeley) is a programmer by day and an artist by night. As an undergraduate, she decorated the whiteboards of Soda Hall with computerscience-themed cartoons, which eventually led to CS Illustrated, a research project to apply visual metaphors to computational concepts. She is also a CS188 alumnus. Her artwork can be seen online here.

Zack Mayeda (Course Video Producer)

Zack Mayeda is an undergraduate student at UC Berkeley, currently enrolled in the on-campus offering of CS188. He is studying Electrical Engineering and Computer Science, and is interested in mobile application development and web design.

SYLLABUS
o o o o o o o o o o o o o o o o o o o

Introduction Overview Agents: Perception, Decisions, and Actuation Search and Planning Uninformed Search (Depth-First, Breadth-First, Uniform-Cost) Informed Search (A*, Greedy Search) Heuristics and Optimality Constraint Satisfaction Problems Backtracking Search Constraint Propagation (Arc Consistency) Exploiting Graph Structure Game Trees and Tree-Structured Computation Minimax, Expectimax, Combinations Evaluation Functions and Approximations Alpha-Beta Pruning Decision Theory Preferences, Rationality, and Utilities Maximum Expected Utility Markov Decision Processes Policies, Rewards, and Values Value Iteration Policy Iteration Reinforcement Learning TD/Q Learning Exploration Approximation

PREREQUISITES
o o

Programming Object-Oriented Programming Recursion

o o o o o o o

Python or ability to learn Python quickly (mini-tutorial provided) Data Structures Lists vs Sets (Arrays, Hashtables) Queuing (Stacks, Queues, Priority Queues) Trees vs Graphs (Traversal, Backpointers) Math Probability, Random Variables, and Expectations (Discrete) Basic Asymptotic Complexity (Big-O) Basic Counting (Combinations and Permutations) This course requires both programming and math background. Required programming experience is at the level of a first course for CS majors. The language used will be Pythonwhich in our experience students with programming experience pick up fairly quickly. Your best assessment on whether your programming background is sufficient is Project 1, which will go out in the first week, in which you will program an agent to intelligently navigate a maze. Math background: a first course in probability at the undergraduate level. We will post a self-assessment test in the first week.

You might also like