Data Structures and Algorithms

The details
Computer Science and Electronic Engineering (School of)
Colchester Campus
Undergraduate: Level 5
Thursday 05 October 2023
Friday 15 December 2023
21 July 2023


Requisites for this module



Key module for

BSC G610 Computer Games,
BSC G612 Computer Games (Including Year Abroad),
BSC G620 Computer Games (Including Foundation Year),
BSC I610 Computer Games (Including Placement Year),
BSC G400 Computer Science,
BSC G401 Computer Science (Including Year Abroad),
BSC G403 Computer Science (Including Foundation Year),
BSC I101 Computer Science (Including Placement Year),
MSCIG402 Computer Science,
MSCII100 Computer Science (Integrated Masters, Including Placement Year),
BSC G1G4 Mathematics with Computing (Including Year Abroad),
BSC G1G8 Mathematics with Computing (Including Foundation Year),
BSC G1GK Mathematics with Computing,
BSC G1IK Mathematics with Computing (Including Placement Year),
BSC I1G3 Data Science and Analytics,
BSC I1GB Data Science and Analytics (Including Placement Year),
BSC I1GC Data Science and Analytics (Including Year Abroad),
BSC I1GF Data Science and Analytics (Including Foundation Year),
BENGH615 Robotic Engineering,
BENGH616 Robotic Engineering (Including Year Abroad),
BENGH617 Robotic Engineering (Including Placement Year),
BENGH618 Robotic Engineering (Including Foundation Year),
BSC G111 Computing,
BSC G112 Computing (Including Year Abroad),
BSC G113 Computing (Including Placement Year),
BSC LG01 Economics with Data Science,
BSC LG02 Economics with Data Science (Including Year Abroad),
BSC LG03 Economics with Data Science (Including Placement Year),
BSC LG04 Economics with Data Science (Including Foundation Year),
BSC H717 Robotics,
BSC H718 Robotics (including Placement Year),
BSC H719 Robotics (including Year Abroad),
BSC I400 Artificial Intelligence,
BSC I401 Artificial Intelligence (Including Foundation Year),
BSC I402 Artificial Intelligence (including Placement Year),
BSC I403 Artificial Intelligence (including Year Abroad)

Module description

Data structures and algorithms lie at the heart of Computer Science as they are the basis for the efficient solution of programming tasks. In this module, students will study core algorithms and data structures, as well as being given an introduction to algorithm analysis and basic computability.

The module will give students core algorithmic skills that are required for Years 2 and 3 of the Computer Science degree schemes.

Module aims

The aims of this module are to study core algorithms and data structures, as well as an introduction to algorithm analysis and basic computability. Students will study data types such as stacks, queues, trees and graphs, make efficient use of core data types in Java, understand time and space complexity, write and explain commonly used algorithms, use a variety of different data structures, and understand the concepts of computability and complexity.

Module learning outcomes

By the end of this module, students will be expected to be able to:

  1. Demonstrate an understanding of core data types such as lists, trees, graphs and hash maps.

  2. Implement core data types in Java and write programs that make efficient use of them.

  3. Analyze the time and space complexity of programs.

  4. Demonstrate knowledge of commonly used algorithms.

  5. Make informed choices of data structures and algorithms for solving problems.

  6. Explain the main concepts of computability and demonstrate that some problems have no algorithmic solution.

Module information

Data types

Abstract data types

Lists, stacks, queues, trees, binary search trees, priority queues, graphs and hash maps





Shortest paths, minimum cost spanning trees

Algorithm analysis: time and space complexity


Computability, uncomputable functions and the halting problem

Learning and teaching methods

Lectures and Labs


This module does not appear to have any essential texts. To see non - essential items, please refer to the module's reading list.

Assessment items, weightings and deadlines

Coursework / exam Description Deadline Coursework weighting
Coursework   Portfolio of Lab Work    33.33% 
Coursework   Progress Test     33.33% 
Coursework   Assignment: Programming Exercises  12/12/2023  33.34% 
Exam  Main exam: In-Person, Open Book (Restricted), 120 minutes during Summer (Main Period) 
Exam  Reassessment Main exam: In-Person, Open Book (Restricted), 120 minutes during January 
Exam  Reassessment Main exam: In-Person, Open Book (Restricted), 120 minutes during September (Reassessment Period) 

Exam format definitions

  • Remote, open book: Your exam will take place remotely via an online learning platform. You may refer to any physical or electronic materials during the exam.
  • In-person, open book: Your exam will take place on campus under invigilation. You may refer to any physical materials such as paper study notes or a textbook during the exam. Electronic devices may not be used in the exam.
  • In-person, open book (restricted): The exam will take place on campus under invigilation. You may refer only to specific physical materials such as a named textbook during the exam. Permitted materials will be specified by your department. Electronic devices may not be used in the exam.
  • In-person, closed book: The exam will take place on campus under invigilation. You may not refer to any physical materials or electronic devices during the exam. There may be times when a paper dictionary, for example, may be permitted in an otherwise closed book exam. Any exceptions will be specified by your department.

Your department will provide further guidance before your exams.

Overall assessment

Coursework Exam
30% 70%


Coursework Exam
30% 70%
Module supervisor and teaching staff
Dr David Richerby, email: david.richerby@essex.ac.uk.
Dr David Richerby
School Office, email: csee-schooloffice (non-Essex users should add @essex.ac.uk to create full e-mail address), Telephone 01206 872770



External examiner

Prof Pietro Oliveto
Southern University of Science and Technology (SUSTech)
Available via Moodle
Of 124 hours, 22 (17.7%) hours available to students:
100 hours not recorded due to service coverage or fault;
2 hours not recorded due to opt-out by lecturer(s), module, or event type.


Further information

Disclaimer: The University makes every effort to ensure that this information on its Module Directory is accurate and up-to-date. Exceptionally it can be necessary to make changes, for example to programmes, modules, facilities or fees. Examples of such reasons might include a change of law or regulatory requirements, industrial action, lack of demand, departure of key personnel, change in government policy, or withdrawal/reduction of funding. Changes to modules may for example consist of variations to the content and method of delivery or assessment of modules and other services, to discontinue modules and other services and to merge or combine modules. The University will endeavour to keep such changes to a minimum, and will also keep students informed appropriately by updating our programme specifications and module directory.

The full Procedures, Rules and Regulations of the University governing how it operates are set out in the Charter, Statutes and Ordinances and in the University Regulations, Policy and Procedures.