University of Malta

Study-Unit Description
UOM Main Page
Apply - Admissions 2016
Campus Map button


TITLE Data Structures and Algorithms and Programming Paradigms

LEVEL 01 - Year 1 in Modular Undergraduate Course


DEPARTMENT Computer Information Systems

DESCRIPTION This unit introduces the student to the concepts of algorithm and data-structure. Particular emphasis is placed on the time and space complexity of algorithms. The unit introduce the basic abstract data structures such as Stack, Queue, Linked List, ADT Table, Heap, Tree, and Graph. Trees, in particular, are treated in details with coverage of binary trees, binary search trees, AVL trees, and B-Trees. The unit also discusses various sorting, tree traversal, graph processing algorithms as well as a discussion of the Big O notation. The second part of the unit introduces the various programming paradigms - imperative, object oriented, functional, declarative, etc. the emphasis will be on how algorithms and data structures discussed in the first part of the course can be implemented in the various paradigms.

Study-unit Aims:

The aim of the study-unit is to expose the students to the:
i) Various abstract data structures;
ii) Various sorting, tree, and graph algorithms;
iii) Algorithmic paradigms - iteration vs recursion;
iv) Time and space complexity of algorithms and the Big O Notation;
v) The main programming paradigms.

Learning Outcomes:

1. Knowledge & Understanding:
By the end of the study-unit the student will be able to:

- Explain the time and space complexity of algorithms and also explain how the Big O notation is used to determine both;
- Explain the main abstract data types and also use the various sorting, tree, and graph algorithms covered in class.

2. Skills:
By the end of the study-unit the student will be able to:

- Apply the Big O notation to determine the time and space complexity of segments of code;
- Explain why it is not feasible to implement algorithms with exponential time complexity;
- Implement the abstract data structures covered in class in a high level programming language;
- Code the sorting, tree, and graph algorithms covered in class;
- Code simple algorithms and data structures using different paradigms.

Main Text/s and any supplementary readings:

Introduction to Algorithms
Clifford Stein, Thomas H Cormen, Ronald L Rivest, Charles E Leiserson MIT Press

Class notes and slides.

STUDY-UNIT TYPE Lecture and Independent Study

Assessment Component/s Resit Availability Weighting
Assignment Yes 25%
Examination (3 Hours) Yes 75%

LECTURER/S John M. Abela
Kristian Guillaumier

The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the study-unit description above applies to the academic year 2017/8, if study-unit is available during this academic year, and may be subject to change in subsequent years.
Study-unit Registration Forms 2017/8


For Undergraduate (Day) and Postgraduate students.


Academic Advisors 2017/8


Academic Advisors for ICT 1st year students (Intake 2017/8), NOW available

Faculty of ICT Timetables


ICT Timetables are available from Here.

Health and Safety Regulations for Labs Form

The Faculty of ICT Health and Safety Regulations for Laboratories form can be found here



Log In back to UoM Homepage