University of Malta
 

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


CODE CIS1017

 
TITLE Data Structures and Algorithms and Programming Paradigms

 
LEVEL 01 - Year 1 in Modular Undergraduate Course

 
ECTS CREDITS 6

 
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 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.
Calendar
Notices
Study-unit Registration Forms 2017/8

Register

For Undergraduate (Day) and Postgraduate students.

 

Academic Advisors 2017/8

AA1

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

Faculty of ICT Timetables

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

 HealthAndSafety

 
 

Log In back to UoM Homepage