University of Malta
 

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


CODE CPS2001

 
TITLE Programming Paradigms

 
LEVEL 02 - Years 2, 3 in Modular Undergraduate Course

 
ECTS CREDITS 5

 
DEPARTMENT Computer Science

 
DESCRIPTION The student is exposed to two programming paradigms and is invited to solve different problems using these paradigms.

1. Functional Programming and exposure to programming without an explicit notion of state. The emphasis is the structure of the data and the functions that operate on it, the use of control mechanisms such as recursion, the use of functions(closures) as data, the use of types in describing complex data-structures, capabilities introduced with laziness and the techniques for attaining the best performance within the paradigm, such as tail-recursion.

2. Concurrent programming with exposure to concurrency control structures and concurrency paradigms such as synchronous and asynchronous message passing, process encapsulation, fault isolation, localization, replication, fault tolerance.

The student will be exposed to new means of, organizing and describing computation, contrasting it with imperative and object oriented paradigms with which the students are already familiar. The relevance of these paradigms to industry- settings will also be made explicit.

Study-Unit Aims:

Expose the student to different programming paradigms, together with the different emphasis that each paradigm focusses on, the control structures that the paradigm typically comes equipped with and problems that are better suited for the particular paradigms.

Learning Outcomes:

1. Knowledge & Understanding:

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

- Judiciously choose the right tool (language/paradigm) for the right problem;
- Be exposed to emerging/non-mainstream programming languages.

2. Skills:

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

- Appreciate different ways how to describe and solve a problem;
- Improve analytical skills in terms of better abstraction and modular decomposition of design;
- Learn and adapt to new languages faster;
- Appreciate the emerging trends of combining technologies (and paradigms) in a single project to leverage different strengths to address different parts of the problem.

Main Text/s and any supplementary readings:

- Haskell: The Craft of Functional Programming. Simon Thompson. Addison Wesley.
- Programming in Haskell 2nd edition. David Hutton. Cambridge University Press, 2016.
- Programming Erlang. Joe Armstrong. Pragramatic Bookshelf. - N/A.
- Erlang Programming: A Concurrent Approach to Software Development. Francesco Cesarini & Simon Thompson. O'Reilley.
- The Go Programming Language. Alan Donovan & Brian Kesnighan. Addison Wesley, 2015.

 
ADDITIONAL NOTES Students taking this study-unit are assumed to have knowledge of the material covered in the following study-units:
- CPS1000 or CPS1011;
- CPS2000;
- CPS2004;
- CSA1017 or ICS1018.

Please note that a pass in the Assignment components is obligatory for an overall pass mark to be awarded.

 
STUDY-UNIT TYPE Lecture, Independent Study & Tutorial

 
METHOD OF ASSESSMENT
Assessment Component/s Resit Availability Weighting
Assignment [See Additional Notes] Yes 30%
Assignment [See Additional Notes] Yes 30%
Assignment [See Additional Notes] Yes 40%

 
LECTURER/S Adrian Francalanza
Gordon J. Pace
Kevin Vella

 
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