Teaching Responsibility

LJMU Schools involved in Delivery:

LJMU Partner Taught

Learning Methods

Workshop

Module Offerings

5003SEQR-APR-PAR
5003SEQR-JAN-PAR
5003SEQR-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

Centralised Exam
Artefacts