I taught a workshop on computational aspects of vehicle routing during the VRP 2013 spring school in Angers, France. The course attempts to answer the following questions:
- What is time and space complexity? Why is it important?
- How to represent a solution efficiently?
- What are the main bottlenecks and how to avoid them?
- How do parallel computing work? Why, when, and how to parallelize?
- How to design flexible and reusable code?
- How to avoid reinventing the wheel?
More information here.