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


Basic Information

CategoryProfessional-applicative
Scientific or art field:Applied Computer Science and Informatics
InterdisciplinaryNo
ECTS8
Native organizations units

Chair of Applied Computer Science
Course specification

Course is active from 30.09.2005..


Precondition courses

Course idMandatoryMandatory
Fundamentals of Programming and Programming LanguagesYesYes
Theory of AlgorithmsYesYes

Course which have preconditioned courses Advanced Programming and Programming Languages

Course idMandatoryMandatory
CompilersYesYes
Parallel ComputingYesYes
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..
AuthorsNameYearPublisherLanguage
Bjarne StroustrupThe C++ Programming Language, 4th Edition2014Addison-WesleyEnglish
Bjarne StroustrupProgramming -- Principles and Practice Using C++ (Second Edition) 2014Addison-WesleyEnglish
eng>David J. EckIntroduction to Programming using Java, 7th edition2008Prentice HallEnglish
Bruce Eckel</end>Thinking in Java, 4th edition2005Prentice HallEnglish
Kraus, L.Programski jezik C++1991Mikro knjiga, BeogradSerbian language
Venkat SubramaniamFunctional Programming in Java2014Pragmatic BookshelfEnglish
Grupa autoraProgramski jezik C++ - standard 20172017ISO - International Organization for StandardizationEnglish
Zarić JovicaFunkcionalno programiranje i programski jezik F#2018Fakultet tehničkih nauka Novi SadSerbian language
Vidaković MilanJava i objektno-orijentisano programiranje2018Fakultet tehničkih naukaSerbian language
Malbaški, D.Objektno orijentisano programiranje kroz programski jezik C++2008Fakultet tehničkih nauka, Novi SadSerbian language
Course activity Pre-examination ObligationsNumber of points
Complex exercisesYesYes20.00
Complex exercisesYesYes20.00
Complex exercisesYesYes30.00
Theoretical part of the examNoYes30.00
Name and surnameForm of classes
Missing picture!

Čeliković Milan
Assistant Professor

Lectures
Missing picture!

Pržulj Đorđe
Associate Professor

Lectures
Missing picture!

Kiš Gergelj
Teaching Associate

Practical classes
Missing picture!

Radaković Danijel
Assistant - Master

Practical classes
Missing picture!

Andrejević Aleksandar
Assistant - Master

Computational classes
Missing picture!

Kiš Gergelj
Teaching Associate

Computational classes
Missing picture!

Prokić Simona
Assistant - Master

Computational classes