Data Structures and Algorithms - CO551

Looking for a different module?

Module delivery information

Location Term Level1 Credits (ECTS)2 Current Convenor3 2020 to 2021
Autumn 5 15 (7.5) DR F Otero checkmark-circle


Fundamentals: Pseudocode; Primitive and object types; Multi-dimensional arrays; Resizing arrays; Loops; conditionals and recursion
Data structures and algorithm design: Dynamic data structures, such as linked lists, trees, maps, heaps, bags, queues (priority queues) and stacks (LIFO/FIFO); Sorting and searching algorithms; Graphs and graph algorithms (depth, breadth-first search and shortest path).


Contact hours

Total contact hours: 32
Private study hours: 118
Total study hours: 150

Method of assessment

13.1 Main assessment methods
Data structures assignment – 25%
In-class test – 25%
2-hour unseen written examination – 50%

13.2 Reassessment methods
Like for like.

Indicative reading

Algorithms. Robert Sedgewick and Kevin Wayne. Addison-Wesley, 4th Edition, April 2011.
Data Structures and Algorithms in Java. Michael T. Goodrich, Roberto Tamassia and Michael H. Goldwasser. John Wiley & Sons, 6th Edition, August 2014.
Java Structures. Duane Bailey. McGraw Hill, December 1997.
The art of computer programming. Donald E. Knuth. Addison-Wesley, 3rd Edition, July 1997.
Introduction to algorithms. T. Cormen, C. Leiserson, R. Rivest and C. Stein. MIT Press, 3rd Edition, August 2009.

See the library reading list for this module (Medway)

Learning outcomes

8. The intended subject specific learning outcomes.
On successfully completing the module students will be able to:
8.1. Read and write algorithms in pseudocode;
8.2. Implement and use abstract data structures;
8.3. Use known algorithms to solve programming problems;
8.4. Appreciate the impact on memory usage and computation speed to make informed decisions about the most appropriate data structures and algorithms to use when designing software;

9. The intended generic learning outcomes.
On successfully completing the module students will be able to:
9.1. Demonstrate an understanding of trade-offs when making design decision about data structures and algorithms;
9.2. Make effective use of existing techniques to solve problems;
9.3. Analyse and compare solutions to programming problems;


  1. Credit level 5. Intermediate level module usually taken in Stage 2 of an undergraduate degree.
  2. ECTS credits are recognised throughout the EU and allow you to transfer credit easily from one university to another.
  3. The named convenor is the convenor for the current academic session.
Back to top

University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.