×

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
  • Information-Communication Systems
  • Applied Computer Science and Informatics
ECTS 8

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.

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.

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 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..

Authors Title Year Publisher Language
Bjarne Stroustrup The C++ Programming Language, 4th Edition 2014 Addison-Wesley English
Bruce Eckel Thinking in Java, 4th edition 2005 Prentice Hall English
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
Venkat Subramaniam Functional Programming in Java 2014 Pragmatic Bookshelf English
Bjarne Stroustrup Programming -- Principles and Practice Using C++ (Second Edition) 2014 Addison-Wesley English
Course activity Pre-examination Obligations Number of points
Complex exercises Yes Yes 20.00
Complex exercises Yes Yes 20.00
Theoretical part of the exam No Yes 30.00
Complex exercises Yes Yes 30.00

Assoc. Prof. Milan Čeliković

Assistant - Master

Lectures

API Image

Prof. Đorđe Pržulj

Full Professor

Lectures

Assistant - Master Aleksa Stojić

Assistant - Master

Computational classes

Assistant - Master Danijel Radaković

Assistant - Master

Computational classes

Assistant - Master Vladimir Jovanović

Assistant - Master

Computational classes

Assistant - Master Simona Prokić

Assistant - Master

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.