Homepage: http://jmvidal.cse.sc.eduClass Meeting Time: MW 4:00PM- 5:15PM
Office Hours: Check my Calendar, or email me for appointment.
|Tests||4 tests, 10% each|
|PS 1: Software Agents||25% (10% writeup, 20% demo, 70% code)|
|PS 2: Robocup Tournament||35% (30% writeup, 70% code and performance)|
Tests: They will be closed book and multiple choice. They will cover the class readings.
Problem Sets: You need to:
Overview: This class will provide a solid foundation in the field of multiagent systems design and engineering. We study all the major MAS design techinques, agent architectures, and communication languages. We take a hands-on approach by designing and building robocup soccer teams and playing them against each other.
The class, therefore, has two components: theoretical and implementation. The theoretical component includes the lectures, readings from the textbook and paper. The tests will assess your knowledge of the theoretical aspects. The implementation component includes the two programming problem sets.
For the two problem sets, the students will form groups of 1-3 students each. All the members of a group are expected to contribute equal amounts effort.
Prerequisites: This class involves a lot of Java programming. It is also and advanced graduate class. You need to be fluent in all the basic data structures and algorithms, object-oriented programming, and the Java language in particular. You also need to have taken an introductory AI class and possess some mathematical sophistication.
Deliverables: Students who pass this class are be able to design and implemented complex software solutions for distributed, real-time, noisy problems that require the coordination of independent units. The students have in-depth knowledge of the most common agent architectures, agent communication languages, coordination protocols and the Java language. They also have basic knowledge of game theory and economic theory as they apply to the design of incentive-compatible protocols. Finally, they are capable of working as part of a software team and develop significant projects under a tight deadline.