×

Faculty of Technical Sciences

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

Native organizations units: Chair of Applied Computer Science

General information:
 
Category Theoretical-methodological
Scientific or art field
  • Information-Communication Systems
  • Applied Computer Science and Informatics
ECTS 7

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.

Authors Title Year Publisher Language
Knuth, D.E. The Art of Computer Programming 1998 Addison-Wesley, Upper Saddle River English
Cormen, T.H. et al. Introduction to Algorithms 2009 MIT Press, Cambridge English
Course activity Pre-examination Obligations Number of points
Complex exercises Yes Yes 30.00
Complex exercises Yes Yes 20.00
Theoretical part of the exam No Yes 30.00
Complex exercises Yes Yes 20.00
API Image

Assoc. Prof. Dušan Gajić

Associate Professor

Lectures

API Image

Assoc. Prof. Vladimir Mandić

Associate Professor

Lectures

Assistant - Master Radovan Turović

Assistant - Master

Practical classes

Asst. Prof. Marko Vještica

Assistant Professor

Practical classes

Assistant - Master Radovan Turović

Assistant - Master

Computational classes

Asst. Prof. Marko Vještica

Assistant Professor

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.