Teaching Responsibility
LJMU Schools involved in Delivery:
LJMU Partner Taught
Learning Methods
Workshop
Module Offerings
5503SEPA-SEP-PAR
Aims
To introduce the student to the fundamentals of Abstract Data Types (ADTs) and complexity of operations on ADTs followed by an implementation-based exploration of common data structures and operations, their implementations and applications.
To expose students to the development and optimisation of software based on both theoretical and applied evaluations.
Module Content
Outline Syllabus:Abstract Data Types and common implementation strategies:
Linear ADTs: Lists (Arrays, Linked Lists) Stacks, Queues
Non-Linear ADTs: Trees, Binary Trees, BSTs
Maps (ListMaps, BSTMaps, HashMaps)
Algorithms for structural operations; insert, remove, retrieval
Algorithms for structure navigation; traversal, search
Sorting Algorithms
Algorithm types: iterative and recursive
Relationship between ADTs and computing fundamentals (e.g. Stack, Queue)
Use of Big O notation to specify time complexity for simple algorithms
Use of a program debugger to inspect the call stack and stack frames
Use of software instrumentation to measure performance and inspect root/causal method calls
Additional Information:This module is a technical, skills-focused module. It is an applied study of Data Structures and Algorithms; as such will require previous experience in programming. It will build on existing programming-based skills such as problem / functional decomposition and the use of an IDE to develop and test programs. Basic operational familiarity with a debugger will be assumed but reinforced and built on during this module.
Assessments
Portfolio
Exam