Learning Outcomes:
On successful completion of this module the learner will be able to:
1. Understand how to determine the amount of resources (such as time and storage) necessary to execute a particular algorithm (algorithm analysis).
2. Understand the structure, nature and use of fundamental data structures including, Arrays, Linked Lists, Stacks, Queues, Trees and Dictionaries.
3. Implement the data structures in Python.
4. Understand the object-oriented programming constructs needed to encode a data structure and its access algorithms.
5. Design programs using these constructs to solve large problems.
6. Successfully write, compile, debug and run programs using these constructs.