Opcije pristupačnosti Pristupačnost

Semestre invernale

Titolo del corso Responsabili del corso Descrizione del corso Risultati di apprendimento Numero di ore di lezione Numero di ore di esercitazioni/laboratorio ECTS
Fondamenti di ICT (IKTFIPU) Assoc. Prof. Darko Etinger, PhD (responsabile del corso)
Assoc. Prof. Snježana Babić, PhD (responsabile del corso)
Robert Šajina, PhD (lezioni, esercitazioni)
Romeo Šajina, MInf (esercitazioni)
Acquisizione dei concetti fondamentali dell’informatica, dell’ingegneria del software, delle tecnologie dell’informazione e della comunicazione e dei sistemi informativi. Sviluppo della capacità di pensiero algoritmico e di risoluzione dei problemi utilizzando soluzioni moderne (framework e librerie) con il linguaggio di programmazione Python e i linguaggi di markup HTML e CSS.
Mostra
  1. Definire, interpretare e collegare i concetti fondamentali dei sistemi informatici, delle tecnologie dell’informazione e della comunicazione (ICT) e dei sistemi informativi (IS).
  2. Spiegare i concetti fondamentali delle reti di calcolatori, delle basi di dati, della programmazione e delle applicazioni web dinamiche.
  3. Pensare in modo algoritmico e risolvere in modo efficiente i problemi utilizzando soluzioni moderne (framework e librerie) con il linguaggio di programmazione Python e i linguaggi di markup HTML e CSS.
  4. Interpretare le tendenze dell’informatica e valutare come le tecnologie passate e future influenzino lo sviluppo dell’innovazione.
30L 30P 6
Fondamenti di Data Science (OPZFIPU) Asst. Prof. Siniša Miličić, PhD (responsabile del corso)
Asst. Prof. Ivan Lorencin, PhD (responsabile del corso)
Alma Smajić, MInf (esercitazioni)
Il corso sviluppa l’alfabetizzazione informativa degli studenti nella teoria e nelle tecniche di elaborazione, organizzazione, strutturazione e presentazione dei dati utilizzando strumenti open source della massima qualità.
Mostra
  1. Differenziare i tipi di dati.
  2. Distinguere i dati dalle informazioni.
  3. Selezionare strutture dati adeguate per l’analisi richiesta.
  4. Valutare la qualità della strutturazione dei dati.
  5. Utilizzare strumenti moderni per l’analisi e la gestione dei dati.
  6. Preparare analisi dei dati in modo collaborativo.
30L (a tempo pieno)
9L (online part-time)
30P (a tempo pieno)
6P (online part-time)
6
Logica e matematica discreta (LDM) Prof. Neven Grbac, PhD (responsabile del corso)
Assoc. Prof. Valter Boljunčić, PhD (responsabile del corso)
Asst. Prof. Siniša Miličić, PhD (responsabile del corso, lezioni)
Tea Šumberac, MEd Math (esercitazioni)
Questo corso introduce le conoscenze matematiche di base necessarie per una comprensione più approfondita dei concetti informatici.

La logica matematica, attraverso la logica proposizionale e la logica del primo ordine, introduce gli studenti ai processi logici dei computer nonché ai fondamenti logici del pensiero matematico.

In seguito, la matematica discreta con la combinatoria introduce gli studenti alle teorie e agli oggetti matematici fondamentali necessari per una comprensione avanzata dell’informatica.
Mostra
  1. Analizzare logicamente i concetti matematici.
  2. Utilizzare software matematico.
  3. Comprendere i concetti di funzioni e relazioni e le loro proprietà.
  4. Analizzare insiemi finiti.
  5. Creare strutture matematiche usando operazioni matematiche classiche.
24L (a tempo pieno)
9L (online)
30P (a tempo pieno)
6P (online)
6
Sistemi di rete (MSFIPU) Asst. Prof. Ivan Lorencin, PhD (responsabile del corso)
Dalibor Fonović, Dipl. Eng. (esercitazioni)
Introdurre gli studenti alle conoscenze fondamentali e alle applicazioni delle reti di calcolatori e dei sistemi di comunicazione. Presentare le topologie, le architetture e i protocolli di varie reti di calcolatori, il modello di riferimento Open Systems Interconnection (OSI) e Internet come esempio più noto di rete. Familiarizzare gli studenti con l’interconnessione di reti diverse e con i protocolli di sicurezza. Presentare esempi di servizi fondamentali e problematiche di sicurezza nelle reti di calcolatori odierne.
Mostra
  1. Definire i concetti fondamentali, l’architettura e i protocolli delle reti di calcolatori e dei sistemi di comunicazione, nonché il modello di riferimento OSI a strati.
  2. Spiegare le proprietà e le funzioni del livello fisico.
  3. Spiegare le proprietà e le funzioni del livello di collegamento dati.
  4. Spiegare le proprietà e le funzioni del modello TCP/IP delle reti di calcolatori.
  5. Spiegare le proprietà e le funzioni dell’insieme dei livelli applicativi, nonché le minacce alla sicurezza e le possibili soluzioni.
  6. Analizzare, progettare e applicare modelli di rete ottimali.
30L 30P 6
Ricerca operativa (OIFIPU) Assoc. Prof. Valter Boljunčić, PhD (responsabile del corso)
Asst. Prof. Katarina Kostelić, PhD (responsabile del corso)
Introduzione degli studenti ai metodi quantitativi utilizzati nel processo decisionale aziendale e nell’analisi degli algoritmi.
Mostra
  1. Differenziare gli elementi della programmazione lineare e della formulazione dei problemi.
  2. Utilizzare la programmazione lineare nella risoluzione di vari problemi.
  3. Applicare elementi di programmazione per obiettivi e di programmazione intera.
  4. Applicare elementi degli algoritmi di rete e dell’ottimizzazione non lineare.
  5. Giustificare una proposta decisionale sulla base dell’interpretazione delle soluzioni.
30L 30P 6
Gestione dei processi aziendali (199739) (UPPFIPU) Assoc. Prof. Darko Etinger, PhD (lezioni)
-- (esercitazioni)
Il Business Process Management (BPM) è una metodologia per la progettazione, l’esecuzione, il monitoraggio e l’ottimizzazione dei processi aziendali. L’obiettivo del corso è acquisire competenze per la gestione dei processi aziendali, la progettazione di modelli di processo, lo sviluppo di processi aziendali eseguibili e l’applicazione di metodi per l’analisi dei processi aziendali utilizzando strumenti software e framework moderni.
Mostra
  1. Descrivere le problematiche della gestione dei processi aziendali e interpretare le principali caratteristiche, i vantaggi e gli svantaggi dell’approccio per processi.
  2. Spiegare il ruolo di un sistema informativo integrato e dei sistemi di gestione dei processi aziendali nel raggiungimento di un livello più elevato di maturità dei processi.
  3. Applicare il modo ottimale di gestire i processi aziendali sulla base dell’analisi e della rappresentazione, del miglioramento e della misurazione, nonché dell’applicazione del concetto di maturità dei processi.
  4. Utilizzare i metodi BPMN e Petri Nets per la modellazione dei processi aziendali.
  5. Applicare strumenti software per la progettazione e l’analisi dei processi aziendali.
30L (a tempo pieno)
9L (online part-time)
30P (a tempo pieno)
6P (online part-time)
6


 
Semestre estivo

Titolo del corso Responsabili del corso Descrizione del corso Risultati di apprendimento Numero di ore di lezione Numero di ore di esercitazioni/laboratorio ECTS
Geometria e algebra lineare Prof. Neven Grbac, PhD (responsabile del corso)
Assoc. Prof. Valter Boljunčić, PhD (responsabile del corso, lezioni, esercitazioni)
Asst. Prof. Siniša Miličić, PhD (responsabile del corso)
L’obiettivo del corso è introdurre gli studenti ai metodi matematici di combinazione di strutture multidimensionali che portano dalla geometria, vecchia di quasi due millenni e mezzo, agli algoritmi alla base dei motori di ricerca web.
Mostra
  1. Comprendere il concetto di vettori e combinazioni lineari.
  2. Utilizzare i vettori per analizzare oggetti geometrici.
  3. Analizzare la risolvibilità dei sistemi lineari.
  4. Utilizzare il calcolo matriciale.
25L (a tempo pieno)
9L (online)
30P (a tempo pieno)
6P (online)
6
Sistemi operativi (OPSUS) Asst. Prof. Ivan Lorencin, PhD (responsabile del corso)
Luka Blašković, MInf (esercitazioni)
I sistemi operativi rappresentano una parte significativa di ogni sistema informatico, consentendo un uso semplice ed efficiente dell’hardware da parte dei programmi applicativi e degli utenti.
L’obiettivo del corso è sviluppare la comprensione delle finalità di un sistema operativo e dei meccanismi attraverso i quali esse vengono realizzate.
Mostra
  1. Definire lo scopo di un sistema operativo.
  2. Spiegare il funzionamento dei componenti fondamentali di un computer a livello macchina.
  3. Distinguere tra programmi, processi e thread.
  4. Interpretare i meccanismi del sistema operativo per la gestione del processore, della memoria e dei dispositivi di I/O.
  5. Applicare funzioni o comandi per la gestione o il monitoraggio del sistema operativo.
30L 30P 6
Analisi delle reti sociali (SNA) (SNAFIPU) Asst. Prof. Katarina Kostelić, PhD (responsabile del corso) L’obiettivo del corso è familiarizzare gli studenti con i metodi e le procedure dell’analisi delle reti sociali e consentire loro di applicarli in esempi concreti.
Mostra
  1. Spiegare i concetti fondamentali dell’analisi delle reti sociali (SNA) e i modi in cui le reti si formano.
  2. Riconoscere situazioni pratiche e relazioni che è opportuno analizzare utilizzando la SNA.
  3. Applicare metodi appropriati di SNA a esempi pratici utilizzando R.
  4. Trarre conclusioni su una rete e sui suoi elementi sulla base delle metriche calcolate e del contesto.
30L 30P 6
Ingegneria del software (PIFIPU) Asst. Prof. Nikola Tanković, PhD Familiarizzare gli studenti con le tecniche moderne per lo sviluppo di applicazioni e sistemi software.
Padroneggiare paradigmi, linguaggi di programmazione, librerie e framework applicabili per lo sviluppo di soluzioni software.
Mostra
  1. Raccogliere e analizzare i requisiti degli utenti.
  2. Applicare UML nella progettazione dei sistemi.
  3. Spiegare e applicare diversi stili architetturali.
  4. Applicare almeno due linguaggi di programmazione e un framework per lo sviluppo di applicazioni.
  5. Applicare un metodo agile nello sviluppo del software.
  6. Applicare metodi di testing del software e progettare un sistema di testing continuo.
  7. Sviluppare una soluzione software completa e la relativa documentazione che soddisfi i requisiti funzionali e non funzionali.
30L (a tempo pieno)
9L (online)
30P (a tempo pieno)
6P (online)
6
Cifrari e codici (SIKFIPU) Asst. Prof. Siniša Miličić, PhD (responsabile del corso, lezioni)
Alma Smajić, MInf (esercitazioni)
Ogni interazione moderna con i computer utilizza molti meccanismi di codifica e quasi ognuna impiega, almeno a un certo livello, metodi crittografici. L’obiettivo di questo corso è familiarizzare gli studenti con i temi della codifica, della correzione degli errori, della compressione, della crittografia e della criptoanalisi sia come scienza sia come pratica, nonché con la distinzione tra crittografia e altri aspetti della sicurezza e delle garanzie logiche derivanti dall’uso dei metodi crittografici.
Mostra
  1. Utilizzare codifiche standard dell’informazione.
  2. Comprendere i limiti e i tipi di codifica e di crittografia.
  3. Implementare sistemi crittografici moderni.
  4. Valutare la sicurezza crittografica.
  5. Valutare l’adeguatezza dell’applicazione dei metodi crittografici.
30L (a tempo pieno)
9L (online)
30P (a tempo pieno)
6P (online)
6
Intelligenza artificiale (AIFIPU) Assoc. Prof. Darko Etinger, PhD (responsabile del corso)
Asst. Prof. Ivan Lorencin, PhD (responsabile del corso)
Acquisire i concetti fondamentali dell’intelligenza artificiale, inclusi la rappresentazione della conoscenza, la ricerca nello spazio degli stati, la costruzione di sistemi esperti e il machine learning.
Mostra
  1. Spiegare i concetti fondamentali dell’intelligenza artificiale.
  2. Applicare algoritmi di ricerca nello spazio degli stati.
  3. Applicare linguaggi formali per la rappresentazione della conoscenza e il ragionamento.
  4. Utilizzare algoritmi di machine learning per risolvere problemi specifici.
  5. Confrontare algoritmi di machine learning.
  6. Selezionare tecniche del campo dell’intelligenza artificiale per risolvere problemi specifici.
30L (a tempo pieno)
9L (online)
30P (a tempo pieno)
6P (online)
6
Progettazione e programmazione di giochi per computer (DIPRFIPU) Prof. Tihomir Orehovački, PhD (responsabile del corso, lezioni)
Robert Šajina, PhD (assistente, esercitazioni)
Gli obiettivi del corso sono: familiarizzare gli studenti con gli elementi fondamentali e il ciclo di vita di un gioco per computer, insegnare agli studenti la metodologia di sviluppo dei giochi per computer, familiarizzarli con diversi ambienti di sviluppo e consentire loro di progettare e implementare in autonomia un genere selezionato di gioco per computer in un ambiente di sviluppo scelto. Dopo aver superato il corso, gli studenti saranno in grado, individualmente o in team, di creare un gioco per computer composto da tutti i componenti rilevanti nell’ambiente di sviluppo scelto.
Mostra
  1. Riconoscere, spiegare e confrontare diversi generi di giochi per computer.
  2. Riconoscere e spiegare gli elementi fondamentali di un gioco per computer.
  3. Riconoscere, spiegare e applicare le fasi dello sviluppo di un gioco per computer.
  4. Riconoscere, spiegare, confrontare e applicare algoritmi di intelligenza artificiale nell’implementazione di un gioco per computer.
  5. Riconoscere, spiegare, confrontare e applicare diversi ambienti di sviluppo di giochi per computer.
  6. Creare una documentazione completa per un gioco per computer.
  7. Sviluppare una demo di un gioco per computer.
30L (a tempo pieno)
9L (online part-time)
30P (a tempo pieno)
6P (online part-time)
6
Programmazione sulla Java Virtual Machine (PJVFIPU) Assoc. Prof. Nikola Tanković, PhD (responsabile del corso) Familiarizzare gli studenti con le moderne tecnologie di programmazione la cui applicazione consentirà loro di pianificare, gestire e implementare in autonomia progetti software di ampia portata.
Mostra
  1. Spiegare e applicare i concetti del paradigma orientato agli oggetti nel linguaggio di programmazione Java.
  2. Applicare i concetti di astrazione, incapsulamento dei dati, ereditarietà e polimorfismo nello sviluppo di programmi.
  3. Utilizzare un linguaggio di programmazione orientato agli oggetti e le relative librerie per lo sviluppo di programmi.
  4. Sviluppare, testare e correggere errori utilizzando i principi della progettazione orientata agli oggetti e degli ambienti di sviluppo integrati.
  5. Sviluppare e progettare programmi con interfacce grafiche utente.
  6. Applicare il multithreading per lo sviluppo di interfacce utente reattive.
  7. Descrivere e spiegare i fattori che contribuiscono a una buona soluzione orientata agli oggetti.
  8. Sviluppare soluzioni software complesse basate su moderne tecnologie Java.
30L (a tempo pieno)
9L (online)
30P (a tempo pieno)
6P (online)
6
Data warehousing e data mining Assoc. Prof. Goran Oreški, PhD (responsabile del corso, lezioni)
Marijela Miličević, MEd Inf (esercitazioni)
L’obiettivo del corso è definire la differenza tra i sistemi transazionali utilizzati per le operazioni aziendali quotidiane e i sistemi di supporto alle decisioni, da cui deriva la necessità dei data warehouse. Familiarizzare gli studenti con la pianificazione, la modellazione e l’implementazione dei data warehouse come sistemi di business intelligence. La seconda parte del corso è legata alle tecniche di data mining, al loro scopo e al loro ruolo nel processo di scoperta della conoscenza nei dati.
Mostra
  1. Comprendere la differenza tra sistemi transazionali e sistemi di supporto alle decisioni.
  2. Riconoscere l’ambiente aziendale e tutti i prerequisiti necessari per lo sviluppo di un data warehouse.
  3. Definire gli elementi e il metodo di modellazione di un modello dimensionale dei dati.
  4. Comprendere lo scopo e il metodo di creazione dei processi ETL.
  5. Utilizzare autonomamente strumenti OLAP.
  6. Definire e spiegare i compiti fondamentali del data mining.
30L (a tempo pieno)
9L (online)
30P (a tempo pieno)
6P (online)
6