Teaching Responsibility
LJMU Schools involved in Delivery:
LJMU Partner Taught
Learning Methods
Lecture
Module Offerings
5550NCCG-JAN-PAR
5550NCCG-SEP-PAR
5550NCCG-SEP_NS-PAR
Aims
This module introduces students to data structures and how they are used in algorithms, enabling them to design and implement data structures. It introduces the specification of abstract data types and explores their use in concrete data structures. Based on this knowledge, students should be able to develop solutions by specifying, designing and implementing data structures and algorithms in a variety of programming paradigms for an identified need.
Learning Outcomes
1.
Examine abstract data types, concrete data structures and algorithms.
2.
Specify abstract data types and algorithms in a formal notation
3.
Assess the effectiveness of data structures and algorithms
4.
Design, implement and test an algorithm to meet a given specification
Module Content
Outline Syllabus:Abstract Data Types. Formal specification of ADTs. Data structures: e.g. Array; set; stack; queue; list; tree; types e.g. active, passive, recursive.
Algorithm types and examples.
Design specification: Specify ADTs using formal notation, Issues e.g. complexity in software development; design patterns, parallelism; interfaces; encapsulation, information hiding, efficiency. Creation: Pre-conditions, post-conditions, error-conditions
Implementation: Data structures; e.g. multidimensional arrays, linked lists, stacks, queues, trees, hash table, heap, graph
Algorithms; sorting, searching, tree traversal, list traversal, hash functions, string manipulation, scheduling and recursive algorithms; using handle, pointer, class, methods; using an executable programming language.
Use of data structure libraries; selection of data structures; theoretical analysis; asymptotic analysis; size of N, Big O notation. Algorithm effectiveness: Run time benchmark, compiler/interpreter dependencies, resource usage, degree of parallelism, time, space, power performance, efficiency of garbage collection.
Assessments
Report
Exam