SPA Conference session: Pathfinding Peril | |||
One-line description: | Learn about pathfinding algorithms, put them into practice and try not to get eaten by a minotaur. | ||
Session format: | 150 minute workshop [read about the different session types] | ||
Abstract: | Finding the shortest path through a connected graph is a complex problem, and one which has a number of very useful applications. Thankfully there are some efficient algorithms out there which solve it well. I’ll take you through some basic theory and how the A-Star algorithm works in the first part of the session. We'll then put your newly-found pathfinding skills to the test! We'll run a tournament for the remaining time, using a robot tournament engine. You'll be able to write a robot in any HTTP-enabled language, which will be one of two characters in a maze, and the idea is to find the exit as soon as possible without being eaten by the minotaur that roams randomly around it. | ||
Audience background: | - Some experience coding in at least one language is required. You must know enough to be able run code to connect to an HTTP endpoint and understand JSON. - You should bring a wifi-enabled laptop with your chosen language on it, or you could work in a team. | ||
Benefits of participating: | You'll have lots of fun and learn how pathfinding algorithms work and why they're useful. | ||
Materials provided: | A laptop running the tournament engine. | ||
Process: | Short lecture at the beginning on pathfinding algorithms, then a workshop with people working singly or in teams on their laptops. They'll write code that connects to a server that'll run on the big screen, which will show characters attempting to navigate a maze with a minotaur in it. The team that reaches the end of the maze quickest, or who survives the longest, will win! | ||
Detailed timetable: | 00:00 - 00:20: pathfinding lecture 00:20 - 01:00: getting used to the tournament engine 01:00 - 01:40: tournament 1 01:40 - 02:30: tournament 2 | ||
Outputs: | Not sure what you need here? | ||
History: | Presented at Software Craftsmanship 2012 and at the BCS in January 2015, but I'm planning to rewrite the tournament engine between now and then to make it easier to participate. | ||
Presenters | |||
1. Chris Parsons Think Code Learn |
2. | 3. |