Module Details

CE204-5-SP-CO: Data Structures And Algorithms

Year: 2017/18
Department: Computer Science and Electronic Engineering
Essex credit: 15
ECTS credit: 7.5
Available to Study Abroad / Exchange Students: Yes
Full Year Module Available to Study Abroad / Exchange Students for a Single Term: No
Outside Option: No

Supervisor: Dr Michael Sanderson
Teaching Staff: Dr Mike Sanderson, Dr Giovanni Stracquadanio
Contact details: School Office, email: csee-schooloffice (non-Essex users should add to create full e-mail address), Telephone 01206 872770

Module is taught during the following terms
Autumn Spring Summer

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.

Learning Outcomes

After completing this module, students will be expected to be able to:

1. Demonstrate an understanding of core data types such as stacks, queues, trees, and graphs.
2. Implement core data types in Java and write programs that make efficient use of them.
3. Reason about the time and space complexity of programs.
4. Demonstrate knowledge of commonly used algorithms.
5. Explain the main concepts of computability and how some problems have no algorithmic solution.

Outline Syllabus

. Data types
Abstract data types
Lists, stacks, queues, trees, sets, graphs

. Algorithms
Divide and conquer
Sorting and searching
Algorithms: binary search trees, minimum cost spanning trees, shortest paths, parse trees
Algorithm analysis: time and space complexity

. Basic computability, incomputable functions and the halting problem

Learning and Teaching Methods

Lectures and Labs


30 per cent Coursework Mark, 70 per cent Exam Mark


Programming Exercises: worth 10%, submitted in week 20; Progress Test: worth 10%, held in week 21; Programming Assignment: worth 10%, submitted in week 25

Exam Duration and Period

2:00 during Summer Examination period.

Other information



  • Recommended Reading
  • WEISS, M.A. , Data Structures and Algorithm Analysis in Java (Pearson, 2007 , 2 edition)