Artificial Intelligence Planning

I’m effectively done with Artificial Intelligence Planning, an MOOC offered by the University of Edinburgh on the Coursera platform. It’s taught by Gerhard Wickler and Austin Tate. I originally took it because I have some interest in AI in games and because I’d participated in the AI Challenges of the University of Waterloo Computer Science Club. As it turned out, the course is probably a bit too general and too theoretical to be really interesting or useful to me. The algorithms are taught exclusively in pseudocode and there are only two programming assignments throughout the whole six weeks of the course.

This course takes a broad overview approach to the topic, beginning with its historical background. Starting from the simple Shakey the robot that can navigate and manipulate objects in its test environment, it goes on to cover how planning programs are needed nowadays to deal with the complicated logistics of disaster relief efforts and even warfare and farther to how it can be used to control spacecraft and rovers that are far away from their human controllers.

The course lays emphasis on a formal definition of the various concepts discussed. I was disappointed that it didn’t include a component in which students may download a complete implementation of a planner and use it to solve some test scenarios. I suspect that this may be due to problems with availability and compatibility. The course does include video segments which demonstrate various planners in action, walking you through the menus and options, but nothing beats being actually able to use the software yourself.

One fantastic aspect is that the lecture videos include at least one feature video each week from a distinguished guest, such as one of the researches who worked on Shakey the robot and the founder of the AIGameDev site.  site. And I was impressed that the instructors found the time to personally reply to just about every topic on the official discussion forums, though this may be down to how little traffic the forums saw.

I was disappointed that there were so few programming assignments and that they were relatively easy. The problem sets are in fact so small that it’s almost possible to do them by hand and not do any programming at all. I also think that while the video quality is excellent, the instructors didn’t properly take advantage of the video format and relied on the old-fashioned model of lecturing with slides. Tracing the execution of a program felt especially awkward since they had to flip back and forth between slides showing the pseudocode of the algorithm being taught and details on the changing state of the program as it is being run. It would have been more helpful if they had properly animated the demonstration, as was done in the Princeton’s Algorithms courses.

Overall I found the course less helpful and less interesting than I’d hoped, mostly because I was expecting to be more focused on practical and immediately useful applications than it was ever intended to be. As the parting words suggest, this course seems more oriented towards giving the student, who may not necessarily be a programmer, a solid background in the topic and a basis on which the student can then build on by reading further books and scientific papers. Still, there’s no denying that it’s a good course with plenty of content so I’d still recommend it.

Leave a Reply

Your email address will not be published. Required fields are marked *