Teme zaključnih nalog
torek, 08. oktober, 2024
Vsebinska področja
V okviru mentorstev zaključnih del sem na voljo za naslednja vsebinska področja:
- SSI, DID, VC in VP,
- porazdeljene aplikacije (DApps) in Splet3,
- semantični splet,
- relacijske in NoSQL podatkovne baze,
- razvoj naprednih spletnih aplikacij,
- analiza finančnih informacij,
- merljivost kakovosti informacij.
V nadaljevanju je nekaj potencialnih tem diplomskih nalog, kjer so nekatere na voljo , druge pa so zasedene . Zaključne teme, opredeljenje na 1. stopnji, se lahko razširijo tako da so primerne tudi na 2. stopnji.
1. stopnja, UNI, BSc
Podrobnosti v zvezi s pripravo zaključnega dela na 1. stopnji se nahajajo na spletni strani fakultete, kjer najdete pravilnik, navodila za izdelavo, vzorec, izjavo o avtorstvu idr.
Context Broker
V okviru diplomske naloge se razišče koncept uprabljanja konteksta in njegov pomen v ekosistemih interneta stvari (IoT) ter pametnih mest. Osredotočenje naj bo na komponenti Context Broker omogoča, upravljanje kontekstnih informacij v večjem obsegu na decentraliziran način.
V okviru raziskave se pričakuj pregled Context Broker rešitev, ki se uporabljajo za upravljanje in sprotno posodabljanje kontekstnih informacij, izbira ene rešitve, implementacija študijo primer ter ovrednotenje s predlagano arhitekturo, uporabljenimi tehnologijami in primerjalno analizo.
Nekaj obstoječih pristopov:
Avtomatsko testiranje kakovosti podatkov
Pregled tehnik in orodij za avtomatsko testiranje kakovosti podatkov, ki zaradi rasti podatkovnih zbirk in po zagotavljanju njihove pravilnosti in konsistence, postaja vedno bolj pomembno.
Nekaj obstoječih pristopov:
- Deequ - Unit Tests for Data - odprtokodna knjižnica za preverjanje kakovosti podatkov v velikih podatkovnih zbirkah,
- Shapes Constraint Language (SHACL) - definiranje shem za grafe RDF in preverjanje skladnosti z definirami pravili na semantičnem spletu.
V okviru diplomske naloge se pričakuje podroben pregled področja, primerjava obstoječih rešitev in implementacija prototipa s pomočjo odprtokodnih orodij.
Uporaba DID pri preverjanju istovetnosti in avtorizaciji študenta pri preverjanju znanja
Podrobnosti zasedene teme
Pristop SSI omogoča vsakemu uporabniku neodvisno upravljanje lastne identite na svetovnem spletu. Predlagajte vpeljavo omenjenega pristopa, kjer si lahko vsak študent sam kreira svoj lasten DID in nato od fakultete oz. izvajalca predmeta zahteva izdajo različnih preverljivih poverilnic (VC), ki potrjujejo, da je dejansko študent določene fakultete, obiskuje predmet in ima pravico obiska izpita. Izpita bi se nato udeležil z aplikacijo mobilne denarnice na mobilnem telefonu, kjer bi imel shranjene prej omenjene poverilnice. Sistem bi ob pristopu na izpit (npr. skeniranje QR kode, BLE povezava ipd.) od študenta zahteval dokazilo, da ima pravico do opravljanja izpita. Študent bi v mobilni denarnici zgolj potrdil, da se strinja s posredovanjem dokazov o lastništvu teh dokazil, kjer bi ga sistem popolnoma samodejno preveril, kjer bi se lahko dodatno zahtevalo tudi npr. ujemanje obraza, zajetega s kamero (npr. če je slika eden izmed podatkov v preverljivih poverilnicah – podobna rešitev je na voljo na nekaterih letališčih pri prijavi na let, kjer se obrazna slika, zajeta s kamero, in QR koda na boarding pass-u primerja s sliko v potnem listu in kupljeno letalsko karto).
AI pomočnik pri vrednotenju NPZ in mature
Podrobnosti zasedene teme
Na podlagi zakona o osnovni šoli in pravilnika o nacionalnem preverjanju znanja v osnovni šoli učenci v OŠ sodelujejo pri nacionalnem preverjanju znanja (NPZ). Podobno preverjanje znanja v obliki mature rešujejo tudi dijaki, kar določa zakon o gimnazijah.
Vrednotenje reševanj učencev (NPZ) in dijakov (matura) je zelo zahtevno in terja veliko število strokovnjakov (profesorjev) po posameznih problemskih področjih. NPZ se izvaja v 6. in 9. razredu OŠ pri številnih predmetih. Matura se med drugim izvaja v 4. letniku SŠ pri prav tako številnih predmetih.
Za vsak predmet pri NPZ in maturi je na voljo izpitna pola za učenca oz. dijaka (npr. preizkus znanja iz slovenščine pri NPZ, 4. 5. 2023) in podrobna navodila za vrednotenje za ocenjevalca (npr. navodila za vrednotenje pri NPZ iz slovenščine, 4. 5. 2023). Na podlagi teh vhodnih podatkov in izbranega LLM (npr. ChatGPT) razvijte AI pomočnika pri vrednotenju zaključnega preverjanja znanja v OŠ oz. SŠ. Pri tem lahko uporabite lastnost model ChatGPT, in sicer ovrednotenje rezultatov modela glede na zlati standard odgovorov.
Podatkovni prostori
Podatkovni prostori (angl. Dataspaces) predstavljajo abstrakcijo upravljanja podatkov, kjer je osredni cilj odprava težav, ki se pojavijo pri integraciji podatkov. Osrednji namen podatkovnih prostorov je zmanjšati napor, ki je potreben za vzpostavitev sistema za integracijo podatkov, kjer uporabimo obstoječe tehnike ujemanj in preslikav ter vpeljava plačila po uporabi.
Na ravni EU je prisotnih veliko aktivnosti, kjer je na voljo številno gradivo:
- Evropska podatkovna strategija,
- Strategija digitalnih javnih storitev 2030 (SDJU 2030),
- Načrt za okrevanje in odpornost (NOO),
- Usmeritve Evropske komisije,
- International Data Spaces,
- MyData Principles,
- SOLID Intiative,
- GAIA-X,
- OCEAN protocol.
V okviru diplomske naloge se pričakuje podroben pregled področja, primerjava obstoječih rešitev in implementacija prototipa s pomočjo odprtokodnih orodij.
Opredelitev pravil uporabe podatkov v podatkovnih prostorih
IDS-IM omogoča opisovanje in izmenjavo podatkovnih naborov in storitev. Pri tem združuje predvsem več pomembnih standardo, kot je npr. Data Catalog Vocabulary (DCAT) in Open Digital Rights Language (ODRL) ter ju dodatno določa v smeri nedvoumnih definicij pomen in posledic uporabe. IDS Usage Contract Language omogoča izražanje omejitve uporabe v obliki storjno interpretiranih podatkovnih objektov. S tem pristopom premosti vrzel med pogodbami v naravnem jeziku in odločljivimi logičnimi izjavami, ki jih lahko avtomatiziramo v okviru izvajalnega okolja.
V okviru diplomske naloge je treba podrobno pregledati IDS Usage Control Contract ter ga aplicirati na praktičnem primeru.
- Otto et. al. (2022), Designing Data Spaces The Ecosystem Approach to Competitive Advantage, poglavji 7.3 in 7.4.
- IDS Usage Control Contract.
Samodejno ovrednotenje vprašanj odprtega tipa v sistemu Moodle
Podrobnosti zasedene teme
Odprtokodna platforma Moodle omogoča tudi preverjanje znanja s pomočjo vprašanj odprtega tipa, in sicer sta na voljo gradnika Essay in Short-Answer. Ker je vrednotenje takšnih vprašanj časovno zelo zahtevno, se v okviru diplomskega dela predvideva razvoj podpornega sistema za samodejno vrednotenje.
Vsako vprašanje odprtega tipa naj ima opredeljene naslednja elementa:
- naziv vprašanja,
- ocenjevalni kriterij s pričakovanim(i) odgovor(om/i) oz. trditve, ki morajo biti prisotne ter delež točk, ki prisotnost posamezne informacije prispeva h končnemu številu točk.
Pri razvoju se lahko uporabi lastnost modela ChatGPT, in sicer ovrednotenje rezultatov modela glede na zlati standard odgovorov ter obstoječi Moodle vtičnik AI Connector.
Vloga MLOps pri razvoju programske opreme
Podrobnosti zasedene teme
Vloga MLOps pri razvoju programske opreme, kakšni pristopi in arhitekture so v uporabi.
- Kolltveit and Li (2022), Operationalizing Machine Learning Models - A Systematic Literature Review, 2022 IEEE/ACM 1st International Workshop on Software Engineering for responsible Artificial Intelligence (SE4RAI 2022),
- Moreschini et al. (2022), MLOps for evolvable AI intensive software systems, 2022 IEEE International conference on Software analysis, evolution and reengineering (SANER 2022),
- Serban et al. (2024), Software engineering practices for machine learning — Adoption, effects, and team assessment, Journal of Systems and Software, 209.
Hiter inženiring pri razvoju programske opreme
Podrobnosti zasedene teme
Prednosti in slabosti hitrega inženiringa (angl. Prompt Engineering) v programskem inženirstvu (angl. Software Engineering).
- ChatGPT, Github Copilot, Phind,
- Pearce et al. (2022), Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions, 43rd IEEE Symposium on Security and Privacy (SP 2022),
- Finnie-Ansley et al. (2022), The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming, Proceedings of the 24th Australasian Computing education conference, ACE 2022.
Nadzor nad osebnimi podatki s pomočjo Solid Pods
Podrobnosti zasedene teme
Solid je specifikacija, ki omogoča varno shranjevanje podatkov v decentraliziranih podatkovnih shrambah, ki se imenujejo Pods. Predstavljamo si jih lahko kot varne osebne spletne strežnika za podatke. Ko so podatki shranjeni v uporabnikovemu Podu, le-ta nadzira, kdo (uporabniki oz. aplikacije) lahko do njih dostopa.
Za implementacijo je na voljo Community Solid Server, prav tako pa je bila že izvedena ena diplomska naloga z naslovom Nadzor nad občutljivimi osebnimi podatki s pomočjo porazdeljenega pristopa Solid.
Avtentikacija in avtorizacija z DID
Podrobnosti zasedene teme
Z vidika razvoja razvoja programske oprema raziščite uporabo decentralizirane avtentikacije in avtorizacije na primeru izbrane spletne aplikacije, kjer razvijete naslednje načine in jih kritično ovrednotite ter predstavite z vidika prednosti in slabosti razvijalca ter uporabnika:
- obvladovanje uporabnikov (prijavni podatki in vloge) poteka v okviru aplikacije (npr. uporabniki shranjeni v podatkovni bazi), kot to prikazuje slika 1,

Slika 1: Account-based identity model
- uporabnike (prijavne podatke in vloge) obvladuje zunanji sistem IAM (angl. Identy and Access Management) (npr. lastna namestitev Keycloak, Facebook login, GitHub, Google itd.), ki je integriran z vašo spletno aplikacijo, kot to prikazuje slika 2,

Slika 2: Federated identity model
- aplikacijo uporablja decentralizirana identiteta (glej sliko 3), kjer lahko vsak uporabnik upravlja lastno identiteto (SSI) in se z DID poveže z aplikacijo, ki glede na VC-je omogoča dostop do posameznih funkcionalnosti.

Slika 3: Decentralized identity model
2. stopnja, MAG, MSc
Podrobnosti v zvezi s pripravo zaključnega dela na 2. stopnji se nahajajo na spletni strani fakultete, kjer najdete prijavo teme, vlogo za odobritev teme, navodila za pripravo, izdelavo in zagovor, vzorec idr.
Priprava predloga
Pred začetkom sodelovanja se od kandidata pričakuje, da najprej preveri potencialno nezasedenost teme in nato posreduje predlog zaključnega dela, ki je povezan z eno izmed objavljenih tem ter jedrnato (največ do 1 A4 strani) naslovi naslednje vidike:
- opredelitev problema,
- kratek opis problema, ki se ga rešuje (npr. predlog učinkovitejšega postopka, razvoj hitrejšega algoritma, bolj uporabniku prijazna rešitev ipd.),
- pregled sorodnih rešitev,
- celovit pregled raziskovalnega področja, na katero spada identificiran problem, kjer se uporabi pristop lijaka (angl. funnel approach) z raziskavo širšega raziskovalnega področja in nato postopoma zoožite izbor,
- pri identificiranju sorodnih del se predvsem osredotočite na strokovne in znanstvene prispevke, objavljene na konferencah in v revijah; kolikor je le mogoče omejite število spletnih virov in referenciranja Wikipedije,
- umestitev predloga med sorodna dela,
- na podlagi pregleda sorodnih rešitev določite manjši nabor sorodnih del, iz katerih boste izhajali in jih boste nadgradili,
- pri teh delih določite prednosti in slabosti ter še posebej naslovite, kako boste z vašim pristopom naslovili slabosti,
- pri iskanju si pomagajte z metaiskalnikoma Google Scholar in Web of Science (zahteva registracijo),
- predlog rešitve,
- podroben opis vašega predloga oz. rešitve (npr. nov model, algoritem ali postopek, ki rešuje identificiran problema ali podroben in kritičen pregled področja, ki prej še ni bil izveden)
- osnutek ovrednotenja,
- vaš predlog rešitve morate ovrednotiti oz. izmeriti po določenih metrikah (npr. hitrost, število vrstic kode, stopnja prijaznosti uporabniku, poraba virov ipd.) v primerjavi s sorodnimi rešitvami.