Algorithms and data structures for A-level Computing