Vsebinska področja

V okviru mentorstev zaključnih del sem na voljo za naslednja vsebinska področja:

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.

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.

Samodejno ovrednotenje vprašanj odprtega tipa v sistemu Moodle

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.

AI pomočnik pri vrednotenju NPZ in mature

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:

V okviru diplomske naloge se pričakuje podroben pregled področja, primerjava obstoječih rešitev in implementacija prototipa s pomočjo odprtokodnih orodij.

Minimalno izvedljiv podatkovni prostor

Pri podpori vzpostavitve podatkovnih prostorov obstaja kar nekaj iniciativ, kjer je ena izmed bolj celovit in s široko podporo IDS. V okviru diplomske naloge je treba razviti minimalno izvedljiv podatkovnih prostor, kjer prikažete delovanja vseh akterjev v podatkovnem prostoru (Data Owner, Data Provider, Data Consumer, Data Requester idr.) ter pri tem uporabite sklad tehnologij, ki jih ponuja IDS.

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.

Upravljanje identitete v podatkovnih prostorih

Pregled področja Web3 in DAO

Podrobnosti zasedene teme
  • Huang et al. (2023), An overview of Web3 Technology: Infrastructure, Applications, and Popularity, Blockhain: Research and Applications,
  • Qin et al. (2023), Web3-Based Decentralized Autonomous Organizations and Operations: Architectures, Models, and Mechanisms, IEEE Transactions on Systems man cybernetics-systems, 53.

Investment DAO

Podrobnosti zasedene teme

Pregled področja decentraliziranih avtonomnih organizacij (angl. Decentralized Autonomous Organization (DAO)) ter priprava prototipa za področje finančnega investiranja (tj. predlog arhitekture in podpornih pametnih pogodb).

Načrtovalski vzorci in varnost pametnih pogodb

Podrobnosti zasedene teme

S široko uporabo interneta in tehnologije veriženja blokov so raziskave o varnosti pametnih pogodb vedno bolj pomembne, odkrivanje varnostnih groženj pa je eden glavnih fokusov. Nastala so tudi že številna priporočila v obliki načrtovalskih vzorcev, ki jih lahko upoštevamo pri razvoju in tako zmanjšamo verjetnost težav v produkcijskem okolju.

Namen diplomskega dela je pregled obstoječih dobrih praks v obliki načrtovalskih vzorcev in predlog uporabe dodatnih načrtovalskih vzorcev s klasičnega področja objektno usmerjenega načrtovanja.

  • Kannengieser et al. (2022): Challenges and Common Solutions in Smart Contract Development, IEEE Transactions on Software Engineering, 48(11), full text.
  • He et al. (2023): Detection of Vulnerabilities of Blockchain Smart Contracts, IEEE Internet of Things Journal, full text.

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,
**Account-based** identity model

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,
**Federated** identity model

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.
**Decentralized** identity model

Slika 3: Decentralized identity model

Uporaba DID pri preverjanju istovetnosti in avtorizaciji študenta pri izpitu

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).

Primerjava decentraliziranih (DeFi) in centraliziranih (CeFi) finančnih rešitev

Podrobnosti zasedene teme

Kritično ovrednotenje DeFi in CeFi finančnih rešitev s predstavitvijo ključnih prednosti in slabosti.

Pregled tehnologij veriženja blokov s podporo pametnim pogodbam

Podrobnosti zasedene teme

Pri razvoju porazdeljenih aplikacij (DApps) temeljimo na tehnologiji veriženja blokov, kjer pa ločimo več tipov. V okviru diplomske naloge se osredotočite na tiste, ki podpirajo funkcionalnost pametnih pogodb.

Koncept pametne pogodbe

Slika 4: Koncept pametne pogodbe

Izberite nekaj ključnih predstavnikov in jih kritično ovrednotite. Na izbranih najbolj pogosto uporabljanih tehnologijah veriženja blokov s podporo pametnim pogodbam na enostavnem primeru prikažite ter primerjate proces razvoja enostavne pametne pogodbe.

Pri pripravi naloge ustrezno preglejte obstoječe področje in predvsem diplomske ter magistrske naloge, ki so že bile opravljene:

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.

Optimiziranje preverjanja v podatkovnih prostorih iSHARE z avtonomnimi samoupravljanimi digitalnimi identitetami

Uporaba Apache Cassandre za konsistentno upravljanje s podatki v realnem času

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.

Literatura

Finnie-Ansley, James, Paul Denny, Brett A. Becker, Andrew Luxton-Reilly, and James Prather. 2022. “The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming.” In Proceedings of the 24th Australasian Computing Education Conference, ACE 2022, 10–19. https://doi.org/10.1145/3511861.3511863.
He, Daojing, Rui Wu, Xinji Li, Sammy Chan, and Mohsen Guizani. 2023. “Detection of Vulnerabilities of Blockchain Smart Contracts.” IEEE Internet of Things Journal, 1–1. https://doi.org/10.1109/JIOT.2023.3241544.
Huang, Renke, Jiachi Chen, Yanlin Wang, Tingting Bi, Liming Nie, and Zibin Zheng. 2023. “An Overview of Web3 Technology: Infrastructure, Applications, and Popularity.” Blockchain: Research and Applications, 100173. https://doi.org/https://doi.org/10.1016/j.bcra.2023.100173.
Kannengieser, N., S. Lins, C. Sander, K. Winter, H. Frey, and A. Sunyaev. 2022. “Challenges and Common Solutions in Smart Contract Development.” IEEE Transactions on Software Engineering 48 (11): 4291–4318. https://doi.org/10.1109/TSE.2021.3116808.
Kolltveit, Ask Berstad, and Jingyue Li. 2022. “Operationalizing Machine Learning Models - a Systematic Literature Review.” In 2022 IEEE/ACM 1st International Workshop on Software Engineering for Responsible Artificial Intelligence (SE4RAI 2022), 1–8. https://doi.org/10.1145/3526073.3527584.
Moreschini, Sergio, Francesco Lomio, David Hastbacka, and Davide Taibi. 2022. “MLOps for Evolvable AI Intensive Software Systems.” In 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER 2022), 1293–94. https://doi.org/10.1109/SANER53432.2022.00155.
Pearce, Hammond, Baleegh Ahmad, Benjamin Tan, Brendan Dolan-Gavitt, and Ramesh Karri. 2022. “Asleep at the Keyboard? Assessing the Security of GitHub Copilot’s Code Contributions.” In 43rd IEEE Symposium on Security and Privacy (SP 2022), 754–68. IEEE Symposium on Security and Privacy. https://doi.org/10.1109/SP46214.2022.00057.
Qin, Rui, Wenwen Ding, Juanjuan Li, Sangtian Guan, Ge Wang, Yuhai Ren, and Zhiyou Qu. 2023. “Web3-Based Decentralized Autonomous Organizations and Operations: Architectures, Models, and Mechanisms.” IEEE Transactions on Systems Man Cybernetics-Systems 53 (4): 2073–82. https://doi.org/10.1109/TSMC.2022.3228530.
Serban, Alex, Koen van der Blom, Holger Hoos, and Joost Visser. 2024. “Software Engineering Practices for Machine Learning — Adoption, Effects, and Team Assessment.” Journal of Systems and Software 209: 111907. https://doi.org/https://doi.org/10.1016/j.jss.2023.111907.