Coronavirus (COVID-19) update

Module ICE-2201:
Data Structures & Algorithms

Module Facts

Run by School of Computer Science and Electronic Engineering

20 Credits or 10 ECTS Credits

Semester 1

Organiser: Dr Ik Soo Lim

Overall aims and purpose

To introduce fundamental data structures. To introduce fundamental algorithms. To introduce time and space complexity of algorithms. To introduce computer-implementations of data structures and algorithms.

Course content

• Data structures and abstract data types; arrays, linked-lists, stacks, queues, sets, maps, and binary search trees. • Algorithms: sorting, insertion, deletion, searching, traversal, iterative and recursive algorithms. • Efficiency measures for time and space: rates of growth; asymptotic behaviour, big-O notation. Algorithm complexity classes. Constraints and Trade offs (time vs. space).

Assessment Criteria

threshold

40%

good

60%

excellent

70%

Learning outcomes

  1. Use complexity analysis to assess the efficiency of algorithms.

  2. Show an understanding of the design and implementation of fundamental data structures and algorithms.

Assessment Methods

Type Name Description Weight
Examination 60
Assignment 1 20
Assignment 2 20

Teaching and Learning Strategy

Hours
Lecture

Interactions via questions-and-answers.

24
Work-based learning

ASSESSED assignments based on computer programming.

120
Private study 56

Transferable skills

  • Numeracy - Proficiency in using numbers at appropriate levels of accuracy
  • Computer Literacy - Proficiency in using a varied range of computer software
  • Self-Management - Able to work unsupervised in an efficient, punctual and structured manner. To examine the outcomes of tasks and events, and judge levels of quality and importance
  • Exploring - Able to investigate, research and consider alternatives
  • Information retrieval - Able to access different and multiple sources of information
  • Critical analysis & Problem Solving - Able to deconstruct and analyse problems or complex situations. To find solutions to problems through analyses and exploration of all possibilities using appropriate methods, rescources and creativity.
  • Argument - Able to put forward, debate and justify an opinion or a course of action, with an individual or in a wider group setting
  • Self-awareness & Reflectivity - Having an awareness of your own strengths, weaknesses, aims and objectives. Able to regularly review, evaluate and reflect upon the performance of yourself and others

Subject specific skills

  • Apply an understanding and appreciation of continuous improvement techniques
  • Solve problems logically and systematically;
  • Analyse and display data using appropriate methods and mathematical techniques;
  • Knowledge and understanding of facts, concepts, principles & theories
  • Problem solving strategies
  • Evaluate systems in terms of quality and trade-offs
  • Knowledge and understanding of mathematical principles

Resources

Resource implications for students

Hard copies of the main course text are available at the library. On-line access to the highly recommended book is available.

Talis Reading list

http://readinglists.bangor.ac.uk/modules/ice-2201.html

Reading list

Main Course text: Java collections: an introduction to abstract data types, data structures, and algorithms - David A. Watt, Deryck F. Brown c2001

Highly Recommended: Introduction to algorithms - Thomas H. Cormen 2010, c2009

Courses including this module