CE204-5-AU-CO:
Data Structures and Algorithms

The details
2022/23
Computer Science and Electronic Engineering (School of)
Colchester Campus
Autumn
Undergraduate: Level 5
Current
Thursday 06 October 2022
Friday 16 December 2022
15
24 June 2021

 

Requisites for this module
(none)
(none)
(none)
(none)

 

(none)

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),
BENGGH46 Computers with Electronics (Including Foundation Year),
BENGGH4P Computers with Electronics,
BENGGH4Q Computers with Electronics (Including Year Abroad),
BENGI1H6 Computers with Electronics (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 GH01 Computing and Electronics,
BSC GH02 Computing and Electronics (Including Year Abroad),
BSC GH03 Computing and Electronics (Including Placement Year),
BSC GH3P Computing and Electronics (Including Foundation 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

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. Make informed decisions about the choice of data structure or algorithm for solving a problem.
6. Explain the main concepts of computability and how some problems have no algorithmic solution.

Module information

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

Bibliography

This module does not appear to have a published bibliography for this year.

Assessment items, weightings and deadlines

Coursework / exam Description Deadline Coursework weighting
Coursework   Progress Test     33.33% 
Coursework   Assignment 1: Programming Exercises    33.33% 
Coursework   Assignment 2: Programming    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 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%

Reassessment

Coursework Exam
30% 70%
Module supervisor and teaching staff
Dr David Richerby

 

Availability
Yes
No
Yes

External examiner

Dr Iain Phillips
Loughborough University
Resources
Available via Moodle
Of 118 hours, 24 (20.3%) hours available to students:
92 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.