Opcije pristupačnosti Pristupačnost

Undergraduate study of Informatics

Winter Semester

Course title Course coordinators Course description Learning outcomes Number of lecture hours Number of practical/lab hours ECTS
Fundamentals of ICT (IKTFIPU) Assoc. Prof. Darko Etinger, PhD (course coordinator)
Assoc. Prof. Snježana Babić, PhD (course coordinator)
Robert Šajina, PhD (lectures, practicals)
Romeo Šajina, MInf (practicals)
Acquiring basic concepts of computing, software engineering, information and communication technologies, and information systems. Developing the ability for algorithmic thinking and problem-solving using modern solutions (frameworks and libraries) with the Python programming language and the HTML and CSS markup languages.
Show
  1. Define, interpret, and connect the fundamental concepts of computer systems, information and communication technologies (ICT), and information systems (IS).
  2. Explain the basic concepts of computer networks, databases, programming, and dynamic web applications.
  3. Think algorithmically and efficiently solve problems using modern solutions (frameworks and libraries) with the Python programming language and the HTML and CSS markup languages.
  4. Interpret trends in informatics and assess how past and future technologies affect the development of innovation.
30L 30P 6
Fundamentals of Data Science (OPZFIPU) Asst. Prof. Siniša Miličić, PhD (course coordinator)
Asst. Prof. Ivan Lorencin, PhD (course coordinator)
Alma Smajić, MInf (practicals)
The course develops students’ information literacy in the theory and techniques of processing, organizing, structuring, and reporting data using the highest-quality open-source tools.
Show
  1. Differentiate types of data.
  2. Distinguish data from information.
  3. Select appropriate data structures for the required analysis.
  4. Assess the quality of data structuring.
  5. Use modern tools for data analysis and handling.
  6. Collaboratively prepare data analyses.
30L (full-time)
9L (online part-time)
30P (full-time)
6P (online part-time)
6
Logic and Discrete Mathematics (LDM) Prof. Neven Grbac, PhD (course coordinator)
Assoc. Prof. Valter Boljunčić, PhD (course coordinator)
Asst. Prof. Siniša Miličić, PhD (course coordinator, lectures)
Tea Šumberac, MEd Math (practicals)
This course introduces the basic mathematical knowledge necessary for a deeper understanding of informatics concepts.

Mathematical logic, through propositional logic and first-order logic, introduces students to the logical processes of computers as well as to the logical foundations of mathematical thinking.

Further on, discrete mathematics with combinatorics introduces students to the basic mathematical theories and objects necessary for an advanced understanding of informatics.
Show
  1. Logically analyze mathematical concepts.
  2. Use mathematical software.
  3. Understand the concepts of functions and relations and their properties.
  4. Analyze finite sets.
  5. Create mathematical structures using classical mathematical operations.
24L (full-time)
9L (online)
30P (full-time)
6P (online)
6
Network Systems (MSFIPU) Asst. Prof. Ivan Lorencin, PhD (course coordinator)
Dalibor Fonović, Dipl. Eng. (practicals)
To introduce students to fundamental knowledge and applications of computer networks and communication systems. To present the topologies, architectures, and protocols of various computer networks, the Open Systems Interconnection (OSI) reference model, and the Internet as the best-known example of a network. To familiarize students with the interconnection of different networks and security protocols. To present examples of fundamental services and security issues in today’s computer networks.
Show
  1. Define the basic concepts, architecture, and protocols of computer networks and communication systems, as well as the layered OSI reference model.
  2. Explain the properties and functions of the physical layer.
  3. Explain the properties and functions of the data link layer.
  4. Explain the properties and functions of the TCP/IP model of computer networks.
  5. Explain the properties and functions of the application layer set, as well as security threats and possible solutions.
  6. Analyze, design, and apply optimal network models.
30L 30P 6
Operations Research (OIFIPU) Assoc. Prof. Valter Boljunčić, PhD (course coordinator)
Asst. Prof. Katarina Kostelić, PhD (course coordinator)
Introducing students to quantitative methods used in business decision-making and in algorithm analysis.
Show
  1. Differentiate the elements of linear programming and problem formulation.
  2. Use linear programming in solving various problems.
  3. Apply elements of goal programming and integer programming.
  4. Apply elements of network algorithms and nonlinear optimization.
  5. Justify a decision proposal based on the interpretation of solutions.
30L 30P 6
Business Process Management (199739) (UPPFIPU) Assoc. Prof. Darko Etinger, PhD (lectures)
-- (practicals)
Business Process Management (BPM) is a methodology for the design, execution, monitoring, and optimization of business processes. The aim of the course is to acquire competencies for managing business processes, designing business process models, developing executable business processes, and applying methods for business process analysis using modern software tools and frameworks.
Show
  1. Describe business process management issues and interpret the main characteristics, advantages, and disadvantages of the process approach.
  2. Explain the role of an integrated information system and business process management systems in achieving a higher level of process maturity.
  3. Apply the optimal way of managing business processes based on analysis and representation, improvement and measurement, and the application of the process maturity concept.
  4. Use BPMN and Petri Nets methods for business process modelling.
  5. Apply software tools for business process design and analysis.
30L (full-time)
9L (online part-time)
30P (full-time)
6P (online part-time)
6


 
Summer Semester

Course title Course coordinators Course description Learning outcomes Number of lecture hours Number of practical/lab hours ECTS
Geometry and Linear Algebra Prof. Neven Grbac, PhD (course coordinator)
Assoc. Prof. Valter Boljunčić, PhD (course coordinator, lectures, practicals)
Asst. Prof. Siniša Miličić, PhD (course coordinator)
The aim of the course is to introduce students to mathematical methods of combining multidimensional structures that lead from geometry, almost two and a half millennia old, to the algorithms behind web search engines.
Show
  1. Understand the concept of vectors and linear combinations.
  2. Use vectors to analyze geometric objects.
  3. Analyze the solvability of linear systems.
  4. Use matrix calculus.
25L (full-time)
9L (online)
30P (full-time)
6P (online)
6
Operating Systems (OPSUS) Asst. Prof. Ivan Lorencin, PhD (course coordinator)
Luka Blašković, MInf (practicals)
Operating systems are a significant part of every computer system, enabling simple and efficient use of computer hardware by application programs and users.
The aim of the course is to develop an understanding of the purposes of an operating system and the mechanisms by which this is achieved.
Show
  1. Define the purpose of an operating system.
  2. Explain the functioning of the basic components of a computer at the machine level.
  3. Distinguish between programs, processes, and threads.
  4. Interpret operating system mechanisms for managing the processor, memory, and I/O devices.
  5. Apply functions or commands for managing or monitoring the operating system.
30L 30P 6
Social Network Analysis (SNA) (SNAFIPU) Asst. Prof. Katarina Kostelić, PhD (course coordinator) The aim of the course is to familiarize students with the methods and procedures of social network analysis and enable them to apply them in concrete examples.
Show
  1. Explain the basic concepts of social network analysis (SNA) and the ways networks are formed.
  2. Recognize practical situations and relationships that are appropriate to analyze using SNA.
  3. Apply appropriate SNA methods to practical examples using R.
  4. Draw conclusions about a network and its elements based on calculated metrics and context.
30L 30P 6
Software Engineering (PIFIPU) Asst. Prof. Nikola Tanković, PhD To familiarize students with modern techniques for developing software applications and systems.
To master applicable paradigms, programming languages, libraries, and frameworks for the development of software solutions.
Show
  1. Gather and analyze user requirements.
  2. Apply UML in system design.
  3. Explain and apply different architectural styles.
  4. Apply at least two programming languages and one application development framework.
  5. Apply an agile method in software development.
  6. Apply software testing methods and design a continuous testing system.
  7. Develop a complete software solution and accompanying documentation that meets functional and non-functional requirements.
30L (full-time)
9L (online)
30P (full-time)
6P (online)
6
Ciphers and Codes (SIKFIPU) Asst. Prof. Siniša Miličić, PhD (course coordinator, lectures)
Alma Smajić, MInf (practicals)
Every modern interaction with computers uses many encoding mechanisms, and almost every one uses cryptographic methods at least at some level. The aim of this course is to familiarize students with issues of coding, error correction, compression, cryptography, and cryptanalysis as both science and practice, as well as with the distinction between cryptography and other issues of security and logical guarantees arising from the use of cryptographic methods.
Show
  1. Use standard information encodings.
  2. Understand the limitations and types of encoding and cryptography.
  3. Implement modern cryptographic systems.
  4. Evaluate cryptographic security.
  5. Assess the adequacy of applying cryptographic methods.
30L (full-time)
9L (online)
30P (full-time)
6P (online)
6
Artificial Intelligence (AIFIPU) Assoc. Prof. Darko Etinger, PhD (course coordinator)
Asst. Prof. Ivan Lorencin, PhD (course coordinator)
Acquire the basic concepts of artificial intelligence, including knowledge representation, state-space search, expert system construction, and machine learning.
Show
  1. Explain the basic concepts of artificial intelligence.
  2. Apply state-space search algorithms.
  3. Apply formal languages for knowledge representation and reasoning.
  4. Use machine learning algorithms to solve specific problems.
  5. Compare machine learning algorithms.
  6. Select techniques from the field of artificial intelligence to solve specific problems.
30L (full-time)
9L (online)
30P (full-time)
6P (online)
6
Design and Programming of Computer Games (DIPRFIPU) Prof. Tihomir Orehovački, PhD (course coordinator, lectures)
Robert Šajina, PhD (assistant, practicals)
The objectives of the course are: to familiarize students with the fundamental elements and life cycle of a computer game, to teach students the methodology of computer game development, to familiarize students with different development environments, and to enable students to independently design and implement a selected genre of computer game in a chosen development environment. After passing the course, students will be able, independently or as part of a team, to create a computer game consisting of all relevant components in the chosen development environment.
Show
  1. Recognize, explain, and compare different genres of computer games.
  2. Recognize and explain the fundamental elements of a computer game.
  3. Recognize, explain, and apply the phases of computer game development.
  4. Recognize, explain, compare, and apply artificial intelligence algorithms in the implementation of a computer game.
  5. Recognize, explain, compare, and apply different computer game development environments.
  6. Create comprehensive documentation for a computer game.
  7. Develop a computer game demo.
30L (full-time)
9L (online part-time)
30P (full-time)
6P (online part-time)
6
Programming on the Java Virtual Machine (PJVFIPU) Assoc. Prof. Nikola Tanković, PhD (course coordinator) To familiarize students with modern programming technologies whose application will enable them to independently plan, manage, and implement extensive software projects.
Show
  1. Explain and apply the concepts of the object-oriented paradigm within the Java programming language.
  2. Apply the concepts of abstraction, data encapsulation, inheritance, and polymorphism in program development.
  3. Use an object-oriented programming language and its associated libraries for program development.
  4. Develop, test, and debug using the principles of object-oriented design and integrated development environments.
  5. Develop and design programs with graphical user interfaces.
  6. Apply multithreading for the development of responsive user interfaces.
  7. Describe and explain the factors that contribute to a good object-oriented solution.
  8. Develop complex software solutions based on modern Java technologies.
30L (full-time)
9L (online)
30P (full-time)
6P (online)
6
Data Warehousing and Data Mining Assoc. Prof. Goran Oreški, PhD (course coordinator, lectures)
Marijela Miličević, MEd Inf (practicals)
The aim of the course is to define the difference between transaction systems used for day-to-day business operations and decision support systems, from which the need for data warehouses arises. To familiarize students with the planning, modelling, and implementation of data warehouses as business intelligence systems. The second part of the course is related to data mining techniques, their purpose, and their role in the process of knowledge discovery in data.
Show
  1. Understand the difference between transaction systems and decision support systems.
  2. Recognize the business environment and all prerequisites necessary for the development of a data warehouse.
  3. Define the elements and modelling method of a dimensional data model.
  4. Understand the purpose and method of creating ETL processes.
  5. Independently use OLAP tools.
  6. Define and explain the basic tasks of data mining.
30L (full-time)
9L (online)
30P (full-time)
6P (online)
6