This course introduces computer programming and elementary concepts in artificial intelligence. Using the object-oriented programming language Java and a simulated world in which simple agents live and interact, we will explore some basic computational approaches to perception, action, learning, and communication.