For an autonomous agent to behave in an intelligent manner it must be able to solve problems. This means it should be able to arrive at decisions that transform a given situation into a desired or goal situation. The agent should be able to imagine the consequence of its decisions to be able to identify the ones that work. In this first course on AI we study a wide variety of search methods that agents can employ for problem solving. In a follow up course – knowledge representation and reasoning - we will go into the details of how an agent can represent its world and reason with what it knows. These two courses should lay a strong foundation for artificial intelligence, which the student can build upon.