Faculty of Technical Sciences

Subject: Advanced Programming and Programming Languages (17.IFE112)

Native organizations units: Chair of Applied Computer Science
General information:
 
Category Professional-applicative
Scientific or art field Applied Computer Science and Informatics
Interdisciplinary No
ECTS 8
Educational goal:

Education of students in the field of advanced programming language paradigms, and programming techniques. Learning the principles, techniques and way of thinking in object-oriented, functional, logical and aspect-oriented paradigms.

Educational outcome:

Students will acquire knowledge about advanced programming language paradigms, and particularly in the object-oriented and functional programming. Students are to acquire skills of object-oriented and functional programming, and to be able to independently, and at an advanced level, implement algorithms in a selected programming language.

Course content:

Introduction to programming languages advanced paradigms - object-oriented, functional, logical and aspect-oriented programming. Definitions and properties of the notions of object, class and method. Constructors, object creation and initialization. Destructors. Abstract data types. Access control attributes and methods. Encapsulation. Inheritance. Association, aggregation, and composition relationships. Abstract Classes and Interfaces. Polymorphism. Streams, input, output, and files. Correctness, robustness and efficiency of programs. Error processing using exceptions. Lambda expressions and function composition. Program testing. Overview of the current state and standardization in the field of advanced programming language paradigms.

Teaching methods:

Teaching is performed through lectures, computer exercises in the computer classroom, and consultations. Throughout the whole teaching process, students are constantly encouraged to communicate intensively, think critically, perform independent study work, and, in general, actively participate in the learning process. The prerequisite to enter final exam is to complete all the pre-exam assignments by earning at least 30 points..

Literature:
Authors Title Year Publisher Language
Bjarne Stroustrup The C++ Programming Language, 4th Edition 2014 Addison-Wesley English
Vidaković Milan Java i objektno-orijentisano programiranje 2018 Fakultet tehničkih nauka Serbian language
Venkat Subramaniam Functional Programming in Java 2014 Pragmatic Bookshelf English
Zarić Jovica Funkcionalno programiranje i programski jezik F# 2018 Fakultet tehničkih nauka Novi Sad Serbian language
eng>David J. Eck Introduction to Programming using Java, 7th edition 2008 Prentice Hall English
Grupa autora Programski jezik C++ - standard 2017 2017 ISO - International Organization for Standardization English
Bruce Eckel Thinking in Java, 4th edition 2005 Prentice Hall English
Bjarne Stroustrup Programming -- Principles and Practice Using C++ (Second Edition) 2014 Addison-Wesley English
Kraus, L. Programski jezik C++ 1991 Mikro knjiga, Beograd Serbian language
Malbaški, D. Objektno orijentisano programiranje kroz programski jezik C++ 2008 Fakultet tehničkih nauka, Novi Sad Serbian language
Knowledge evaluation:
Course activity Pre-examination Obligations Number of points
Theoretical part of the exam No Yes 30.00
Complex exercises Yes Yes 20.00
Complex exercises Yes Yes 30.00
Complex exercises Yes Yes 20.00
Lecturers:
API Image

prof. dr Pržulj Đorđe

Full Professor

Lectures

doc. dr Čeliković Milan

Assistant - Master

Lectures

Asistent Prokić Simona

Assistant - Master

Computational classes

Asistent Radaković Danijel

Assistant - Master

Computational classes

Saradnik u nastavi Stojić Aleksa

Teaching Associate

Computational classes

Saradnik u nastavi Jovanović Vladimir

Teaching Associate

Computational classes

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.