Study-Unit Description

Study-Unit Description


CODE CIS1117

 
TITLE Data Structures and Algorithms and Programming Paradigms

 
UM LEVEL 01 - Year 1 in Modular Undergraduate Course

 
MQF LEVEL Not Applicable

 
ECTS CREDITS 5

 
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

 
METHOD OF ASSESSMENT
Assessment Component/s Sept. Asst Session Weighting
Assignment Yes 25%
Examination (2 Hours) Yes 75%

 
LECTURER/S John M. Abela (Co-ord.)
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 description above applies to study-units available during the academic year 2023/4. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit