Algorithms Data Structures and Efficiency

Code School Level Credits Semesters
COMP2066 Computer Science 2 10 Autumn Malaysia
Code
COMP2066
School
Computer Science
Level
2
Credits
10
Semesters
Autumn Malaysia

Summary

This module covers important aspects of algorithms and data structures, namely their general principles and efficiency. To address the issue of efficiency we cover the use of mathematical descriptions of the computational resources needed to support algorithm design decisions. You'll study topics such as: sorting algorithms, heaps, binary search trees, hashmaps, and graph algorithms. The emphasis is upon understanding data structures and algorithms so as to be able to design and select them appropriately for solving a given problem.

Target Students

Available to Level 2 students in the School of Computer Science. Available to inter-campus mobility students and other exchange students in computer science. This module is not available to students not listed above, without explicit approval from the module convenor(s). This module is part of the Foundations of Computer Science theme in the School of Computer Science. Available to JYA/Erasmus students.

Classes

Assessment

Assessed by end of autumn semester

Educational Aims

The aim of this module is to develop mathematical and formal reasoning skills necessary to reason about software systems, and in particular their efficiency. To gain understanding of the issues involved in designing a program for a specific task, and a good working knowledge of some common algorithms and data structures.

Learning Outcomes

Knowledge and Understanding:

The theory and practice of designing algorithms.
To know of and understand the mathematical properties of algorithms, and of the relevant basic mathematical concepts, definitions and notations, with emphasis on their efficiency.

Intellectual Skills:

To be able to apply mathematical techniques to algorithms and data structures.
To be able to understand the specification of data structures and algorithms, and analyse their efficiency.

Professional Skills:

To understand data structures and algorithms and their efficiency, evaluate available tools,applications, algorithms and data structures, and select those that are fit for purpose within a given domain/scenario.

Transferable Skills:

To be able to solve problems using a variety of data structures and algorithms.
To use mathematical techniques when necessary to achieve the above. The ability to use mathematics to solve problems."

Conveners

View in Curriculum Catalogue
Last updated 09/01/2025.