Faculty of Technical Sciences

Subject: Functional programming (17.E2417)

Native organizations units: No data
General information:
 
Category Theoretical-methodological
Scientific or art field Applied Computer Science and Informatics
Interdisciplinary No
ECTS 5
Educational goal:

The aim of the course is building up the ability to think abstractly and mastering principles, techniques and way of using the methodology and technology of the functional paradigm. The student should apply the acquired knowledge in the analysis, study and solving of real problems.

Educational outcome:

Acquiring modern knowledge and skills from functional programming. The student is able to study and solve real problems by applying the acquired knowledge from the application of functional programming.

Course content:

Theoretical lectures: Theoretical lectures of the basis of functional paradigm. Overview of functional programming languages. Declaring data models (characters, numbers, strings and lists). Polymorphism (functions as parameters, higher order functions, anonymous functions). Modules. Smart constructors and views. Using containers. Containers: maps, sets, trees, graphs. Class and instance declarations. Functional problem solving (reverse Polish notation calculator, path calculation). Functors and monads. Practical teaching: Application of functional programming in solving various problems from different fields. Analysis and development of specific examples.

Teaching methods:

Lectures. Computer exercises. Consultations. The theoretical part of the material is presented in lectures, with the analysis of short examples. At the same time as the lectures, the practical part of the material is presented in computer exercises.

Literature:
Authors Title Year Publisher Language
Richard Bird Functionally with Haskell 2014 Cambridge University Press English
Anthony J. Field, Peter G. Harrison Functional Programming 1989 Addison Wesley English
Richard Bird, Philip Wadler Introduction to Functional Programming 1988 Prentice Hall English
Vitaly Bragilevsky Haskell in Depth 2021 Manning English
Alejandro Serrano Mena Practical Haskell 2019 Apress English
Knowledge evaluation:
Course activity Pre-examination Obligations Number of points
Complex exercises Yes Yes 70.00
Theoretical part of the exam No Yes 30.00
Lecturers:
API Image

prof. dr Kupusinac Aleksandar

Full Professor

Lectures
API Image

prof. dr Popov Srđan

Full Professor

Lectures

Asistent Manasijević Aleksandar

Assistant - Master

DON - drugi oblici nastave

Asistent Lazić Olivera

Assistant - Master

DON - drugi oblici nastave

Faculty of Technical Sciences

© 2024. Faculty of Technical Sciences.

Contact:

Address: Trg Dositeja Obradovića 6, 21102 Novi Sad

Phone:  (+381) 21 450 810
(+381) 21 6350 413

Fax : (+381) 21 458 133
Emejl: ftndean@uns.ac.rs

© 2024. Faculty of Technical Sciences.