Subject: Fundamentals of Programming and Programming Languages (17 - IFE110)


Basic Information

CategoryTheoretical-methodological
Scientific or art field:Applied Computer Science and Informatics
InterdisciplinaryNo
ECTS7
Native organizations units

Chair of Applied Computer Science
Course specification

Course is active from 30.09.2005..


Course which have preconditioned courses Fundamentals of Programming and Programming Languages

Course idMandatoryMandatory
Advanced Programming and Programming LanguagesYesYes
Theory of AlgorithmsYesNo
Introductory education of students in the field of algorithms, data structures, computer programming, and programming languages. Learning the principles and techniques of algorithmic way of thinking and implementing algorithms in programming languages using adequate data structures.
Students will acquire fundamental knowledge about algorithms, programming, programming languages, and data structures. Students are to acquire skills of understanding algorithms and data structures, and to be able to independently implement algorithms in a selected programming language.
Introduction to algorithms, programming, and programming languages. Problem-solving using computers. Definition, representations, properties, and complexity of algorithms. Searching and sorting. Models of computation. Turing machine. Church-Turing thesis. Formal representation of the programming language syntax: BNF, EBNF, and syntax diagrams. Basic elements of programming languages. Fundamental and extended data types. Operators and expressions. Control flow. Subprograms. Recursion and recursive functions. Files. Abstract data types and data structures. Linear data structures – array, linked list, stack, queue, hash map. Nonlinear data structures – tree, graph. Overview of programming paradigms – procedural, object-oriented, and functional programming. Structured programming. Testing and documenting computer programs.
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
Kernighan, B. W., Ritchie D. M. Programski jezik C2003CET, BeogradSerbian language
Kraus, L.Programski jezik C sa rešenim zadacima1993Mikro knjiga, BeogradSerbian language
Milo TomaševićAlgoritmi i strukture podataka2008Akademska misaoSerbian language
Knuth, D.E.</end>The Art of Computer Programming1998Addison-Wesley, Upper Saddle RiverEnglish
Cormen, T.H. et al.Introduction to Algorithms2009MIT Press, CambridgeEnglish
Dragan UroševićAlgoritmi i strukture podataka2018CET BeogradSerbian language
Malbaški, D.Odabrana poglavlja metoda programiranja2002Tehnički fakultet, ZrenjaninSerbian language
Alagić SuadPrincipi programiranja1985Svjetlost SarajevoSerbian 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!

Gajić Dušan
Associate Professor

Lectures
Missing picture!

Mandić Vladimir
Assistant Professor

Lectures
Missing picture!

Turović Radovan
Assistant - Master

Practical classes
Missing picture!

Vještica Marko
Assistant - Master

Practical classes
Missing picture!

Turović Radovan
Assistant - Master

Computational classes
Missing picture!

Vještica Marko
Assistant - Master

Computational classes