Preskočite na sadržaj

Teme završnih i diplomskih radova

U nastavku je popis predloženih i odabranih tema završnih i diplomskih radova. Popis predloženih tema se kontinuirano nadopunjuje i poboljšava vođen sugestijama studenata. Među predloženim temama dio nije potpuno opisan i/ili nema pripadnu literaturu, ali ne očajavajte: ukoliko vam je neka od tema zanimljiva i smatrate da u prijedlogu sadržaja ili literature nešto nedostaje, javite se putem e-maila pa ćemo je prilagoditi vašim interesima.

Osnovne informacije i preporuke za pisanje radova

Akademsko pisanje

Završni i diplomski radovi su akademski radovi, a prilikom pisanja akademskih radova slijedimo uvriježena stilska i strukturna pravila kako bi ti radovi bili čitljivi i potencijalno korisni i drugim članovima akademske zajednice. O pisanju radova dr. sc. Vanja Pupovac na mrežnim stranicama Akademsko pisanje i u istoimenoj knjižici kaže sljedeće:

Akademsko pisanje je oblik komunikacije u akademskoj zajednici. Postoje različiti oblici akademskog pisma, a neki od najpoznatijih su esej, seminarski rad, završni, diplomski ili doktorski rad, te stručni ili znanstveni rad. Svrha akademskog pisanje je savladavanje i sažimanje znanja o pojedinoj temi, proširivanje rasprava (novim informacijama ili mišljenjima), prenošenje informacija (znanstvenicima, stručnjacima ili javnosti) i ovjeravanje znanja.

Osnovna karakteristika akademskog rada je logički način razmišljanja; ideje moraju biti sustavno i jednostavno prezentirane, a mišljenja moraju biti potkrijepljena relevantnim i uvjerljivim razlozima i dokazima. No, to nije uvijek lako ostvarivo, stoga proces pisanja akademskog rada dijelimo u četiri faza. Na mrežnim stranicama Proces pisanja donosimo pregled osnovnih pravila i aktivnosti za svaku fazu u procesu pisanja.

Pisanjem akademskog rada uključujemo se u aktualnu raspravu o odabranoj temi. Za uspješno uključivanje u raspravu potrebno je upoznati se s već postojećim činjenicama, idejama i argumentima čitajući relevantnu stručnu ili znanstvenu literaturu. Na taj način osigurat ćemo da vlastite ideje razvijemo na čvrstim znanstvenim temeljima i iskazat ćemo poštovanje prema iskusnijim znanstvenicima. Povjerenje zajednice u vlastiti rad zadobit ćemo preciznim citiranjem i referiranjem izvora što je pojašnjeno na stranici Rad s izvorima. Kredibilitet i vjerodostojnost autora se sporo gradi u akademskoj zajednici, ali lako narušava, stoga savjetujemo da proučite materijale prezentirane na stranici Akademska čestitost.

Za više informacija slijedite poveznice u tekstu iznad i proučite mrežne stranice Akademsko pisanje ili preuzmite knjižicu Akademsko pisanje u formatu PDF.

Softverski alati

Za pisanje radova koristite LibreOffice i format OpenDocument. Ako preferirate pisanje markupa umjesto korištenja alata tipa WYSIYG, umjesto LibreOfficea i OpenDocumenta možete koristiti neki od sljedećih alata i formata:

LibreOffice i LaTeX rade izvrsne PDF-ove (Sphinx također stvara PDF korištenjem LaTeX-a), i mogu, ako je potrebno, napraviti PDF/A, varijantu PDF-a prikladnu za arhiviranje i dugoročno čuvanje digitalnih dokumenata.

Za upravljanje navodima možete koristiti Zotero (koji ima i plug-in za LibreOffice) i/ili BibTeX. Koristite stil citiranja IEEE.

Kojom god temom da se bavite, svakako koristite slobodne softvere otvorenog koda kad god možete. Na će taj način onaj koji koristi vaš rad za vlastito učenje moći lako doći do softvera s kojim u radu radite.

Ponuđene teme završnih radova

Upravljanje kontejnerima aplikacija korištenjem Podmana {UMS}

Opis teme:

Kontejneri su postali sastavni dio skupa alata koje koriste i razvijatelji softvera i upravitelji računalnih sustava (sistemci), a najkorištenije rješenje je Docker. Red Hat je u suradnji sa zajednicom slobodnog softvera otvorenog koda razvio alternativu Dockeru imena Podman. Osim toga, razvijena je i alternativa bazi kontejnera Docker Hub pod imenom Quay. Zadatak rada je opisati način rada Podmana i usporediti ga s Dockerom

Literatura:

  1. Docker
  2. Podman
  3. Quay

Doprinos projekta Berkeley Software Distribution i potomaka u razvoju interneta {RM2}

Opis teme:

Tijekom 80-ih godina na Kalifornijskom sveučilištu u Berkeleyu Keith Bostic, Bill Joy, Marshall Kirk McKusick, Sam Leffler, Mike Karels i drugi članovi Computer Systems Research Group razvijaju Berkeley Software Distribution (BSD) kao derivat AT&T-evog Unixa. U istom desetljeću DARPA financira razvoj TCP/IP-a na BSD-u pa BSD postaje nositelj razvoja tehnologija interneta. Korištenje BSD-a u istraživanju nastavlja se i narednih desetljeća, kroz japanski projekt KAME, FER-ov projekt IMUNES i brojne druge. Zadatak rada je dati detaljan pregled primjene BSD-a u istraživanju i standardizaciji internetskih tehnologija kroz posljednjih četiri desetljeća.

Literatura:

  1. Computer Systems Research Group
  2. KAME
  3. IMUNES
  4. Jones, T. FreeBSD in Network Research and Standardization (FreeBSD in Research). FreeBSD Journal, January/February 2020.
  5. Leffler, S. J., Joy, W. N., Fabry, R. S., & Karels, M. J. Networking Implementation Notes 4.3 BSD Edition. Unix System Manager's Manual, 1986.

Interaktivni interpreter Cling za programski jezik C++ {PPHS}

Opis teme:

...

Literatura:

  1. LLVM
  2. Clang
  3. CLing

Prenosivost znanstvenog softvera među operacijskim sustavima sličnim Unixu {OS2}

Opis teme:

...

Literatura:

  1. illumos
  2. GROMACS

Modularni usmjerivač Click {RM1}

Opis teme:

Literatura:

  1. The Click modular router

Implementacija konfiguracijskih datoteka korištenjem TOML-a {PPHS}

Opis teme:

...

Literatura:

  1. RxDock
  2. toml11
  3. cpptoml

Mjerenje performansi jezika OpenCL i CUDA korištenjem skupa alata za mjerenje brzine izvođenja SHOC {PPHS}

Opis teme:

NVIDIA je vodeća tvrtka u domeni vizualizacije i računanja na grafičkim procesorima. SHOC je skup alata za mjerenje brzine hardvera prilikom izvođenja aplikacija pisanim u jezicima CUDA i OpenCL. Zadatak rada je izmjeriti performanse SHOC-a na NVIDIA-inim grafičkim procesorima korištenjem tehnologije CUDA i tehnologije OpenCL te analizirati mjerenja.

Literatura:

  1. SHOC
  2. NVIDIA-ina službena dokumentacija za CUDA-u i OpenCL

Usporedba arhitekture i značajki Waylanda i X.Org X11 Servera {PPHS}

Opis teme:

X.Org je tradicionalni display server koji se koristi na operacijskim sustavima sličnim Unixu za prikaz grafičkog korisničkog sučelja. Wayland je protokol za komunikaciju između display servera i njegovih klijenata, a isto se ime koristi i za referentnu implementaciju tog protokola. Wayland je dosegao stabilnu verziju i softvera i protokola te će vjerojatno biti u skoroj budućnosti korišten umjesto X.Org X11 Servera. Zadatak rada je opisati oba display servera i međusobno ih usporediti.

Literatura:

  1. X.Org Wiki
  2. Wayland

Named Data Networking {RM1}

Opis teme:

Literatura:

  1. Named Data Networking Project

Automatsko generiranje SSL certifikata korištenjem CA Let’s Encrypt i klijenta Certbot {RM2}

Opis teme:

Literatura:

  1. Let's Encrypt
  2. Certbot
  3. HTTPS Tops 30%: How Google Is Winning the Long War (Moz)
  4. Let's Encrypt Stats
  5. Halfway there! Firefox users now visit over 50% of pages via HTTPS (Naked Security)

CoCCA: softver otvorenog koda za upravljanje registrom domena {RM2}

Opis teme:

Literatura:

  1. CoCCA

FRED: softver otvorenog koda za upravljanje registrom domena {RM2}

Opis teme:

CZ.NIC je upravitelj Češke državne domene .cz, a softver FRED koji koriste za upravljanje registrom domene su izbacili kao slobodni softver otvorenog koda. Isti softver koristi se za upravljanje državnih domena Angole, Tanzanije, Kostarike, Farskih Otoka, Estonije, Albanije i Makedonije. Cilj rada je analizirati mogućnosti softvera i opisati način konfiguracije.

Literatura:

  1. FRED
  2. ICANN Wiki
  3. ICANN-ove informacije o registrima

Domain Name Registry System: softver otvorenog koda za upravljanje registrom domena {RM2}

Opis teme:

Literatura:

  1. Domain Name Registry System

Prekršaji licence GNU GPL i njihovo rješavanje {OS1}

Opis teme:

GPL violations: Linksys WRT54G, Linux devices, SF Conservancy, SF Law Center

Literatura:

  1. [Ksummit-discuss] [CORE TOPIC] GPL defense issues
  2. GPL violations
  3. Software Freedom Law Center
  4. Software Freedom Conservancy
  5. Bradley M. Kuhn's Blog

Migracije sa vlasničkih formata dokumenata uredskih aplikacija na OpenDocument {OS1}

Opis teme:

OpenDocument je format dokumenata uredskih aplikacija zasnovan na XML-u. OpenDocument je otvoreni standard organizacija OASIS i ISO, neovisan o određenom proizvođaču softvera, te je vrlo pogodan za dugoročno arhiviranje dokumenata. Pored LibreOffice-a i Apache OpenOffice-a, OpenDocument podržavaju i Adobe Acrobat Digital Cloud, Corel WordPerfect Office, Microsoft Office i Office Online, te SoftMaker Office. Zadatak rada je proučiti dosadašnje migracije na OpenDocument i opisati tehničke i društvene izazove koje su se pojavili prilikom migracija, te uspješna rješenja tih izazova koja su primijenjena.

Literatura:

  1. OpenDocument adoption
  2. Digital dark age
  3. LibreOffice users and deployments

Tehnički i društveni problemi Digital Rights Managementa {OS1}

Opis teme:

Literatura:

Ponuđene teme diplomskih radova

Simulatori heterogene sustavske arhitekture {PPHS}

Opis teme:

Heterogena sustavska arhitektura ...

Literatura:

  1. Hwu, W. Heterogeneous system architecture: practical applications for industry. (Elsevier, 2015).

Usporedba program prevoditelja NVIDIA nvcc i Clang za programskih jezik CUDA {PPHS}

Opis teme:

CUDA je vlasnički programski jezik za heterogeno paralelno programiranje korištenjem grafičkih procesora tvrtke NVIDIA. Iako su pojedini dijelovi NVIDIA-inog programskog stoga slobodni softveri otvorenog koda, većina je ipak zatvorena i nad njima kontrolu ima NVIDIA. Motiviran zatvorenošću NVIDIA-e, Google je korištenjem LLVM-a razvio vlastiti program prevoditelj jezika CUDA gpucc koji je potom uključen u Clang. Zadatak rada je usporediti dva program prevoditelja u terminima značajki koje podržavaju te u terminima performansi prevođenja i izvođenja nekoliko aplikacija otvorenog koda po koje koriste CUDA-u.

Literatura:

  1. 2015 LLVM Developers’ Meeting: Jingyue Wu "Optimizing LLVM for GPGPU"
  2. Službena NVIDIA-ina dokumentacija za CUDA-u

Grafički procesor otvorenog koda MIAOW {PPHS}

Opis teme:

Literatura:

  1. MIAOW GPU
  2. Southern Islands Series Instruction Set Architecture

Opis backenda program-prevoditelja AMDGPU u infrastrukturi za izgradnju program-prevoditelja LLVM {PPHS}

Opis teme:

Literatura:

Instalacija i konfiguracija poslužitelja datoteka {UMS}

Opis teme:

Poslužitelj datoteka je dio gotovo svakog suvremenog poslovnog sustava. Bio taj poslužitelj dio komecijalnih oblaka kao što su Google Drive i Microsoft OneDrive ili dio vlastitog oblaka kao što je Nextcloud, njegova uloga uloga u poslovnom sustavu je ista: spremanje i dijeljenje datoteka koje omogućuju poslovanje. Dakako, taj poslužitelj zahtijeva odgovarajući hardver da bi ispravno obavljao svoju zadaću. Zadatak rada je opisati kompletan postupak postavljanja poslužitelja datoteka, što uključuje:

  • hardversku osnovu poslužitelja: svojstva i vrste medija za pohranu podataka koji se koriste (tvrdi diskovi i diskovi čvrstog stanja) te sučelja i kontroleri koje mediji za pohranu podataka koriste,
  • softverska osnova poslužitelja, sustavski dio: hardverske i softverske implementacije RAID-a (Redundant Array of Inexpensive/Independent Disks), specifično Linuxov softverski RAID te razine RAID-a koje se koriste,
  • softverska osnova poslužitelja, aplikacijski dio: prikazati postupak instalacije poslužitelja datoteka (Samba i NFS).

Literatura:

  1. File Server (Ubuntu Server Guide)
  2. Using Samba as a server (Red Hat Enterprise Linux 8 Documentation: Deploying different types of servers)

Odabrane teme završnih radova akademske 2020/2021. godine

Izrada web aplikacije korištenjem Djanga {DWA2} [Antonela Troha]

Naslov na engleskom: Web application development using Django

Opis teme:

Sveprisutnost weba čini da se mnoge aplikacije realiziraju kao web aplikacije. Iako suvremeni pristup podrazumijeva pisanje aplikacija u obliku mikroservisa, okviri za razvoj monolitnih aplikacija kao što su Laravel, Django i Ruby on Rails se i dalje intenzivno koriste. Cilj rada je prikazati razvoj monolitne web aplikacije u Pythonu korištenjem okvira Django na vlastitom primjeru.

Literatura:

  1. Django
  2. Shaw, B., Badhwar, S., Bird, A., Chandra K S, B., & Guest, C. Web Development with Django, O'Reilly, 2021.

Izrada web aplikacije korištenjem Flaska {DWA2} [Ivan Modrić]

Naslov na engleskom: Web application development using Flask

Opis teme:

Suvremeni pristup razvoju web aplikacija podrazumijeva realizaciju aplikacije korištenjem usluga u oblaku. Takve se aplikacije nazivaju oblaku urođene jer su od početka razvijane prema određenom skupu pravila kako bi se olakšalo njihovo postavljanje u oblak i kasnije održavanje. Kod razvoja takvih aplikacija često se koriste mikrookviri kao Lumen za PHP, Flask za Python i Sintra za Ruby kod kojih programski inženjer sam određuje arhitekturu aplikacije i biblioteke koje će koristiti za realizaciju pojedinih funkcija. Cilj rada je prikazati razvoj oblaku urođene aplikacije u Pythonu korištenjem mikrookvira Flask na vlastitom primjeru.

Literatura:

  1. Flask
  2. Getting Started with AWS
  3. Getting started with Azure

Paralelizacija izračuna dubokih neuralnih mreža na grafičkim procesorima {PPHS} [Andrija Poleksić]

Naslov na engleskom: Parallelization of deep neural network computation on the GPU

Opis teme:

Duboke neuralne mreže su temelj modernih primjena strojnog učenja u brojnim domenama, od samovozećih automobila do računalne kemije. Zbog veličine problema koje obrađuju često se izvode paralelno na grafičkim procesorima i upravo su jedna od najčešćih primjena grafičkih procesora. Cilj rada je opisati primjenu paralelizma u radu s dubokim neuralnim mrežama te usporediti učinkovitost procesa treniranja modela u serijskoj izvedbi na osnovnom i paralelnoj izvedbi na grafičkom procesoru.

Literatura:

  1. NVIDIA cuDNN Documentation
  2. Goldsborough, P. A Tour of TensorFlow. ArXiv, 2016.
  3. Chollet, F. Deep Learning with Python. Manning, 2017.

Predikcija vrijednosti kriptovaluta metodama strojnog učenja i analizom blockchain informacija {PPHS} [Dominik Frković]

Naslov na engleskom: Predicting the values of cryptocurrencies using machine learning methods and blockchain information

Mentor: v. pred. dr. sc. Vedran Miletić

Komentor: doc. dr. sc. Sanda Bujačić

Opis teme:

Kriptovalute su danas vrlo aktualna i intrigantna tema, kako u području informacijsko-komunikacijske tehnologiju, tako u području financija. Izrazito turbulentan tijek kretanja cijena kriptovaluta je značajna pojava, kako iz ekonomskog, tako i iz tehnološkog aspekta, a velikim je dijelom generiran špekulacijama i utjecajima koje nije moguće procijeniti i predvidjeti na klasičan način. Popularnost kriptovaluta je u kontinuiranom rastu, a najviše zbog osobina kao što su decentraliziranost, transparentnost i sigurnost. U radu se predstavljaju i analiziraju osnovne metode strojnog učenja koje se koriste u predikciji vrijednosti kriptovaluta na temelju analize blockchain informacija. Cilj rada je opisati pristupe i rješenja za predviđanje cijena kriptovaluta oslanjajući na informacije o tehnologiji blockchain, što nije slučaj koji se javlja u trgovanju uobičajenim valutama na svjetskim burzama kapitala.

Literatura:

  1. Rivest, R. L. Cryptography and Machine Learning, Advances in Cryptology -- ASIACRYPT '91 (H. Imai, R. L. Rivest, and T. Matsumoto, eds.), (Berlin, Heidelberg), pp. 427--439, Springer Berlin Heidelberg, 1993.
  2. Alessandretti, L., ElBahrawy, A., Aiello, L. M., & Baronchelli, A. Anticipating cryptocurrency prices using machine learning. Complexity, 2018.
  3. Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Dostupno na: bitcoin.org/bitcoin.pdf
  4. Ellis, S. Juels, A., & Nazarov, S. ChainLink -- A Decentralized Oracle Network. Dostupno na: link.smartcontract.com/whitepaper

Optimizacijske tehnike kod sjenčanja u Unreal Engineu {PPHS} [Mia Doričić]

Naslov na engleskom: Shading optimization techniques in Unreal Engine

Opis teme:

Posljednjih desetljeća industrija igara je u kontinuiranom porastu te je jedan od najvećih poticaja za razvoj računalne infrastrukture koja te igre pogoni. Kako je razvoj igara za više platformi složen proces, sve je popularnije korištenje pogona kao Unity i Unreal Engine. U tim alatima se koriste programi za sjenčanje za prikaz raznih efekata i jedan su od ključnih ciljeva kod optimizacije brzine izvođenja računalne igre. Cilj rada je opisati tehnike optimizacije sjenčanja u Unreal Engineu i primijeniti ih na vlastitim primjerima.

Literatura:

  1. 3D Game Shaders For Beginners
  2. Shader Development (Unreal Engine Documentation)

Krivulje u računalnoj grafici {PPHS} [Mikaela Oklen]

Naslov na engleskom: Curves in computer graphics

Mentor: v. pred. dr. sc. Vedran Miletić

Komentor: doc. dr. sc. Sanda Bujačić

Opis teme:

U računalnoj grafici se razrađuju temeljni koncepti i tehnike prikazivanja 2D i 3D objekata koji su nužni prilikom izrade grafičkih programa na računalu. Jedna od temeljnih karakteristika današnjeg strelovito brzog i uspješnog razvoja računalne grafike jest implementacija optimiziranih grafičkih algoritama u grafičke aplikacije korištenjem standardnih API-ja kao što su OpenGL, Vulkan i vlasničkih API-ja kao što je DirectX. No, uz sve napredne funkcije i mogućnosti koje računalna grafika posjeduje, za ovladavanje svijetom računalne grafike nužno je poznavanje osnovnih i temeljnih koncepata u grafici: od temeljnih pojmova kao što su točka i krivulja do postupka interpolacije i orijentacije promatranih objekata. Cilj rada je predstaviti temeljne matematičke koncepte koji se koriste u računalnoj grafici kao što su točka, vektor, pravac i krivulja te razraditi pristupe koji se koriste prilikom iscrtavanja navedenih pojmova na računalu. Poseban se naglasak stavlja na krivulje čija se matematička svojstva analiziraju i koreliraju sa svojstvima koja su karakteristična za krivulje koje se koriste u računalnoj grafici. Jedan od čestih zadataka u računalnoj grafici je crtanje glatke krivulje između zadanog niza točaka (aproksimacija krivulje), a rješenjetog tipičnog problema numeričke matematike i računalne grafike su aproksimacijske i interpolacijske Bezierove krivulje. Implementaciju algoritama student može izvesti u programskom jeziku po želji te za vizualizaciju može koristiti OpenGL ili Vulkan.

Literatura:

  1. J. Kiusalaas, Numerical Methods in Engineering with Python 3, Cambridge University Press, 2013.
  2. M. Čupić, Ž. Mihajlović, Interaktivna računalna grafika kroz primjere u OpenGL-u, udžbenik Fakulteta elektronike i računarstva, 2018.
  3. R. Scitovski, Numerička matematika, 3. izmijenjeno i dopunjeno izdanje, Odjel za matematiku, Sveučilište u Osijeku, 2015.

Razvoj aplikacije korištenjem mrežne i kriptografske biblioteke NaCl {RM2} [Đino Prenc, preneseno iz 2019/2020.]

Naslov na engleskom: Application development using NaCl network and cryptographic library

Opis teme:

Brojne mrežne aplikacije koje svakodnevno vrše šifriranje i dešifriranje sadržaja. Primjerice, web preglednik Firefox i web poslužitelj Apache HTTP Server koriste velik broj različitih kriptografskih algoritama koje podržava protokol Transport Layer Security (TLS) kako bi bili interoperabilni s raznim web poslužiteljima, odnosno klijentima na internetu. Poslužitelj i klijent virtualne privatnu mreže OpenVPN također koristi protokol TLS za šifriranje podataka u komunikaciji i pritom podržava veliki broj algoritama zbog kompatibilnosti s velikim brojem platformi na kojima radi te sa vlastitim starijim verzijama. Navedeni programi uglavnom koriste OpenSSL za izvođenje kriptografskih algoritama koji im trebaju, što zbog veličine OpenSSL-ovog koda i velikog broja podržanih algoritama otežava sigurnosni pregled dobivenog rješenja. Zbog toga se novije aplikacije odlučuju na vlastitu implementaciju kriptografskih algoritama (primjerice, tako radi sustav za virtualnu privatnu mrežu WireGuard) ili koriste manje i lakše provjerljive biblioteke kao što je NaCl (kratica od Networking and Cryptography library) i njezin fork Sodium, namijenjen za jednostavnije višeplatformsko korištenje, pakiranje i instalaciju. Cilj rada je razviti vlastitu mrežnu aplikaciju čija je namjena po izboru studenta i koja kod šifriranja koristi kriptografske algoritme iz biblioteke Sodium.

Literatura:

  1. NaCl: Networking and Cryptography library
  2. Libsodium documentation

Prvoaprilski RFC-i {RM2} [Dino Šarković, preseneno iz 2018/2019.]

Naslov na engleskom: April Fools' Day Request for Comments

Opis teme:

Osim ozbiljnih RFC-a, kao što su primjerice oni koji opisuju TCP, IPv6 ili ICMP, postoji i određeni broj RFC-a objavljenih na prvi april koji sadrže inženjerske šale. Bez obzira na njihov humorističan karakter, većina prvoaprilskih RFC-a može se povezati s aktualnim tehnologijama i problemima u domeni računalnih mreža te su stoga zanimljivi za analizu. Cilj rada je analizirati nekolicinu prvoaprilskih RFC-a po izboru studenta, i povezati ih s ozbiljnim RFC-ima na koje se vežu.

Literatura:

  1. April Fools' Day Request for Comments
  2. Limoncelli, T. A. & Salus, P. H. The Complete April Fools' Day RFCs. (Peer-to-Peer Communications, 2007.)

Odabrane teme diplomskih radova akademske 2020/2021. godine

Ponovljiva izgradnja programske podrške {UMS} [Matija Banjan]

Naslov na engleskom: Reproducible building of software

Opis teme:

...

Literatura:

  1. Reproducible Builds

Kvantno računarstvo i digitalna sigurnost {UMS} [Kristian Nekić]

Naslov na engleskom: Quantum computing and digital security

Opis teme:

...

Literatura:

  1. Quantum Computing Is the Next Big Security Risk (Wired)

Sigurnost mikroservisa {UMS} [Simon Košmrl]

Naslov na engleskom: Microservice security

Opis teme:

U novije vrijeme arhitektura web aplikacija temeljena na mikroservisima dobiva na popularnosti. U tom slučaju se pojedini servisi koji čine web aplikaciju razvijaju ovisno o poslovnim zahtjevima. To omogućuje da se pojedini servisi implementiraju prema potrebi u različitim jezicima i korištenjem različitih okvira te se neovisno razvijaju. Kao i kod monolitnih aplikacija, sigurnost je značajna tema o kojoj treba voditi računa za vrijeme razvoja web aplikacije.

Cilj rada je opisati tehnike napada na mikroservise i web aplikacije, alate koji se za njih koriste i načine obrane od tih napada te u vlastitoj razvojnoj okolini (lokalno ili u oblaku) demonstrirati neke od napada na za tu svrhu razvijenom mikroservisu ili web aplikaciji (za razvoj se može iskoristiti bilo koji od modernih okvira, npr. Express, Lumen, Flask, Sinatra, ASP.NET Core i Spring te relacijska ili nerelacijska baza podataka po želji).

Literatura:

  1. Express
  2. Lumen
  3. Flask
  4. Sinatra
  5. ASP.NET Core
  6. Spring

Odabrane teme završnih radova akademske 2019/2020. godine

Utjecaj pandemije COVID-19 na igranje igara za više igrača putem interneta {RM2} [Ana Novokmet]

Opis teme:

Pandemija koronavirusa SARS-CoV-2 tijekom 2020. godina učinila je da velik broj država uvede izolacijske mjere kako bi se usporilo širenje virusa među populacijom. Dio populacije je iskoristio priliku za konzumiranje multimedijskog sadržaja, prvenstveno strujanje filmova i serija sa servisa kao što su Netflix i HBO te igranje igara za više igrača s platformi kao što su Steam i PlayStation. Zbog iznenadnog povećanja broja korisnika, te su platforme bile primorane uvesti mjere ograničavanja širine pojasa mreže kod preuzimanja igara i njihovih nadogradnji kako bi infrastruktura za igranje igara za više igrača putem interneta ostala stabilna. Cilj rada je analizirati utjecaj pandemije koronavirusa na performanse interneta sa specifičnim naglaskom na performanse igranja igara za više igrača i povezane usluge kao što su strujanje audiovizualnog sadržaja igrača putem platformi kao što su Twitch i YouTube.

Literatura:

  1. UPDATE: Preserving Internet Access for the Entire Community (PlayStation.Blog)
  2. Managing Steam Bandwidth During COVID-19 Pandemic (Steam Blog)
  3. Tracking COVID-19’s Impact on Global Internet Performance (Speedtest Insights)

Razvoj HTTP web aplikacije korištenjem okvira Drogon {RM2} [Rikardo Jagnjić]

Opis teme:

Suvremeni pristupi razvoju web aplikacija dijele aplikaciju na dva osnovna dijela, stražnji (tzv. backend) i prednji dio (tzv. frontend) koji komuniciraju putem aplikacijskog programskog sučelja korištenjem protokola HTTP. To omogućuje implementaciju više aplikacija za različite platforme (primjerice, web i mobilna) koje koriste zajednički stražnji dio aplikacije, što skraćuje te olakšava pronalaženje i ispravljanje grešaka. Cilj rada je korištenjem okvira Drogon razviti stražnji dio web aplikacije čija je namjena po izboru studenta te opisati aplikacijsko programsko sučelje koje taj stražnji dio nudi putem protokola HTTP te način korištenja tog aplikacijskog programskog sučelja od strane nekog prednjeg dijela web aplikacije koji u budućnosti može biti razvijen.

Literatura:

  1. REST API Tutorial
  2. Drogon
  3. C++ reference
  4. C++ Core Guidelines

Projekti javnog bežičnog pristupa internetu Wlan slovenija i Otvorena mreža {RM1} [Igor Lipošćak]

Opis teme:

Pristup internetu putem bežične mreže dostupan je na brojnim javnim mjestima. Projekti Wlan slovenija i Otvorena mreža žele proširiti tu dostupnost korištenjem jeftinih kućnih routera i slobodnihg softvera otvorenog koda. Projekti se zasnivaju na softveru za bežične usmjerivače OpenWrt i nekolicini softvera vlastitog razvoja. Cilj rada je opisati tehničke karakteristike i društvene ciljeve oba projekta, te napraviti pregled dosadašnjih postignuća.

Literatura

  1. Wlan slovenija
  2. Otvorena mreža

Tehnike rasterizacije {PPHS} [Mauro Raguzin]

Mentor: v. pred. dr. sc. Vedran Miletić

Komentor: doc. dr. sc. Sanda Bujačić

Opis teme:

Moderni grafički procesori imaju programabilni cjevovod koji koriste za prikaz 3D grafike na računalu. Jedan od koraka u tom prikazu je rasterizacija: proces kojim se objekti u prostoru prikazuju kao pikseli kako bi mogli biti postavljeni na zaslon računala. Cilj rada je objasniti tehnike rasterizacije, specijalno renderiranje koje je manje zahtjevno za resursima račuanala i praćenje zrake (engl. raytracing) koje je zahtjevnije. Od studenta se također očekuje da izvede implementaciju tehnike rasterizacije po želji na modernom grafičkom procesu po želji, uz preferenciju prema korištenju tehnologija otvorenog koda.

Literatura:

  1. What’s the Difference Between Ray Tracing and Rasterization? (NVIDIA Blog)
  2. ROCm
  3. NVIDIA CUDA

Problem performansi računalne mreže Bufferbloat {RM2} [Nikola Terihaj]

Opis teme:

Porastom veličine međuspremnika usmjerivača na internetu raste prosječno vrijeme koje paketi čekaju u tim međuspremnicima na putu od izvora do odredišta. Posljednjih 10-ak godina taj se fenomen izučava pod nazivom Bufferbloat pa su vremenom razvijeni alati koji ga mogu mjeriti kao što je Flent i algoritam za aktivno upravljanje redovima čekanja paketa CoDel kojim se Bufferbloat želi izbjeći. Cilj rada je opisati kako dolazi do Bufferbloata, izmjeriti Bufferbloat u konkretnom slučaju po izboru studenta te analizirati način rada algoritma CoDel koji služi za njegovo izbjegavanje i doprinose projekta Make Wi-Fi Fast koji iskustvo stečeno kod rješavanja Bufferbloata prenosi na Wi-Fi.

Literatura:

  1. Bufferbloat
  2. DSLReports Speed Test
  3. Flent
  4. CoDel
  5. Make Wi-Fi Fast
  6. Bozkurt, Ilker Nadi, et al. "Why is the Internet so slow?!." International Conference on Passive and Active Network Measurement. Springer, Cham, 2017. Rad dostupan putem mrežnih stranica Ilkera Nadija Bozkurta; pojednostavljeni opis zaključaka rada dostupan na APNIC-ovom blogu

Predviđanje pristajanja malih molekula na proteine korištenjem tehnika umjetne inteligencije na grafičkim procesorima {PPHS} [Adis Tokalić]

Opis teme:

Porastom procesne moći računala, naročito zahvaljujući računanju na grafičkim procesorima, snažno raste i primjena tehnika strojnog učenja. Jedna od domena primjene strojnog učenja koja se razvija u posljednjih desetak godina je predviđanje molekularnih interakcija. U praktičnoj primjeni vrlo je zanimljivo predviđanje pristajanja malih molekula koje su potencijalni lijekovi na proteine, za što se koriste slobodni softveri otvorenog koda kao što su AutoDock Vina i RxDock i komercijalni softveri kao što je Glide. Cilj rada je dizajnirati analizirati postojeće algoritme strojnog učenja u području predviđanja pristajanja malih molekula na proteine i zatim dizajnirati algoritam koji uči na temelju izlaznih podataka koji daje neki od ranije navedenih softvera pa usporediti predviđanja algoritma za strojno učenje s predviđanjima samog softvera.

Literatura:

  1. NVIDIA CUDA
  2. ROCm
  3. Ballester, P. J. & Mitchell, J. B. O. A machine learning approach to predicting protein--ligand binding affinity with applications to molecular docking. Bioinformatics 26, 1169--1175 (2010).
  4. Kinnings, S. L. et al. A Machine Learning-Based Method To Improve Docking Scoring Functions and Its Application to Drug Repurposing. J. Chem. Inf. Model. 51, 408--419 (2011).
  5. Vina
  6. RxDock
  7. Glide

Paralelizacija predviđanja pristajanja malih molekula na proteine {PPHS} [Maja Abramović]

Opis teme:

Visokoprotočni virtualni pregled molekula koje su potencijalni lijekovi kroz predviđanje pristajanja tih molekula na proteine je tzv. sramotno paralelna operacija; može se trivijalno paralelizirati tako da se pregled svake pojedine molekule vrši na različitom (logičkom) procesoru. Za tu svrhu se na superračunalima uglavnom koriste upravitelji opterećenjem opće namjene kao što je Slurm ili specijalno razvijeni sustavi za skaliranje virtualnog pregleda molekula kao što je Virtual Flow. Na manjim računalnim sustavima kao što su poslužitelji, radne stanice, stolna i prijenosna računala ovakvi sustavi se ne koriste pa je virtualni pregled molekula često ograničen na korištenje samo jednog logičkog procesora i očekuje od korisnika da ručno razdijeli ulazne datoteke s molekulama na više dijelova i pokrene program više puta kako bi iskoristio sve dostupne logičke procesore. Kako suvremena prijenosna računala imaju od 4 do 16 logičkih procesora, stolna računala i radne stanice od 8 do 32 (u nekim slučajevima i do 128), a poslužitelji od 32 do 256, takvo ručno pokretanje zahtijeva izrazito puno rudimentarnog i repetitivnog rada od strane korisnika. Cilj rada je u alatu za visokoprotočni pregled molekula RxDock, forku alata rDock moderniziranom korištenjem C++-a 11, implementirati podršku za višenitni rad korištenjem mehanizmom dostupnim u C++-u po izboru studenta kako bi se olakšalo korištenje dostupnih resursa računalnih sustava s više logičkih procesora.

Literatura:

  1. Slurm
  2. Virtual Flow
  3. Ruiz-Carmona S, Alvarez-Garcia D, Foloppe N, Garmendia-Doval AB, Juhos S, Schmidtke P, et al. rDock: A Fast, Versatile and Open Source Program for Docking Ligands to Proteins and Nucleic Acids. PLoS Comput Biol 10(4): e1003571 (2014). doi:10.1371/journal.pcbi.1003571
  4. RxDock
  5. C++11 thread support library
  6. Taskflow (C++14)
  7. C++17 algorithms library

Rješavanje zadataka iz predmeta Računalne mreže na računalu {RM1} [Andrea Hrelja, preneseno iz 2018/2019.]

Opis teme:

Predmet Računalne mreže jedan od je temeljnih predmeta preddiplomskog studija informatike. Teorijsko gradivo iz predmeta popraćeno je računskim zadacima koji se rješavaju na papiru, ali mogu se rješavati i na računalu korištenjem bilo kojeg alata ili programskog jezika koji podržava osnovne računske operacije. Cilj rada je isprogramirati rješenja odabranih računskih zadataka iz predmeta Računalne mreže u programskom jeziku po želji studenta kako bi se ti zadaci mogli rješavati na računalu i/ili kako bi računalo moglo provjeriti točnost predloženog rješenja. Isprogramirani zadaci moraju raditi tako da daju rješenja budu točna uz varijaciju brojki i drugih postavki u zadacima.

Literatura:

  1. Peterson, L. L. & Davie, B. S. Computer networks: a systems approach. (Morgan Kaufmann, 2012.)
  2. Dokumentacija odabranog programskog jezika

Odabrane teme diplomskih radova akademske 2019/2020. godine

InterPlanetary File System (IPFS) {UMS} [Dario Ognjanović]

Opis teme:

...

Literatura:

  1. IPFS

Mjerenje performansi poslužiteljskih Java aplikacija u virtualnim strojevima {UMS} [Matija Šegović]

Opis teme:

Poslovni sustavi zahtijevaju predvidljiv rad aplikacija o kojima poslovanje ovisi, bez obzira rade li te aplikacije u virtualnom ili u stvarnom okruženju. Jedan od aspekata predvidljivosti rada aplikacije jesu njene performanse koje se najčešće mjere u terminima vremena odziva u ovisnosti o broju korisnika, što se može mjeriti. Povećanjem performansi računala na kojem se aplikacije izvode uglavnom će biti moguće smanjiti vrijeme odziva ili povećati broj korisnika te će ta mjerenja performansi biti vodilja kod odabira računala na kojem će se aplikacija u konačnici izvoditi.

Cilj rada je opisati proces instalacije i konfiguracije poslužiteljskih Java aplikacija na virtualnim strojevima na tipičnom poslužitelju te izmjeriti njihove performanse korištenjem ELK Stacka (Elasticsearch, Logstash i Kibana).

Literatura:

  1. Nemeth, E., Snyder, G., Hein, T. R., Whaley, B. & Mackin, D. Unix and Linux system administration handbook. (Addison-Wesley, 2017)
  2. Apache Tomcat Documentation
  3. JBoss Application Server Official Documentation
  4. IBM WebSphere Documentation
  5. ELK Stack Documentation

Proširenje mogućnosti OpenCL stoga otvorenog koda za grafičke procesore AMD Radeon {PPHS} [Dominik Varelija]

Opis teme:

NVIDIA je vodeća tvrtka u domeni vizualizacije i računanja na grafičkim procesorima. U domeni računanja na grafičkim procesorima s NVIDIA-om se natječu AMD i Intel, nudeći podršku za otvoreni standard OpenCL kao alternativu NVIDIA-inoj vlasničkoj tehnologiji CUDA. AMD, pored korištenja otvorenog standarda OpenCL, nudi stog (program-prevoditelj Clang/LLVM, biblioteke, upravljačke programe) otvorenog koda Clover za grafičke procesore Radeon, temeljen na biblioteci Mesa (Gallium). Zadatak rada je usporediti mogućnosti vlasničkog stoga za grafičke procesore tvrtke NVIDIA i stoga otvorenog koda za grafičke procesore AMD Radeon i proširiti mogućnosti stoga da podržava skup alata za molekularne simulacije OpenMM.

Literatura:

  1. Mesa 3D Graphics Library documentation
  2. Radeon Feature on X.Org Wiki
  3. Gallium Compute on DRI Wiki
  4. zogi/mesa (GitHub)
  5. libclc
  6. LLVM
  7. OpenMM
  8. Make OpenMM OpenCL support work on Clover and RadeonSI
  9. Scarpino, Matthew. OpenCL in Action: How to accelerate graphics and computations. (Manning Publications, 2011).
  10. Khronos OpenCL Registry
  11. Marchesin, Stéphane. Linux Graphics Drivers: an Introduction. (FreeDesktop, 2012).
  12. Linux Graphics Stack Overview (Simon Kitching, The Mine of Information)
  13. Linux graphic stack (Nathan Gauër Blog)
  14. The Linux Graphics Stack (Clean Rinse)
  15. A brief introduction to the Linux graphics stack (Iago Toral Developer Log, Igalia)

Prevođenje programa za sjenčanje u strojni kod grafičkog procesora AMD Radeon {PPHS} [Sanja Božić]

Opis teme:

Programi za sjenčanje neizbježan su dio modernih računalnih igara gdje služe za prikaz svjetla i sjene 3D modela, promjenu zasićenja i tona boje, primjenu efekata kao što su volumetričko osvjetljenje te brojne druge svrhe. Proizvođači grafičkih procesora žele igračima osigurati optimalan ugođaj igranja pa je prevođenje programa za sjenčanje koje se događa dok igrač igra igru jedan od većih izazova za optimizaciju performansi; potrebno je postići i brzo prevođenje koda kako bi isti bio spreman za pokretanje prije nego igrač dođe do dijela gdje se kod pokreće i visoke performanse izvođenja rezultirajućeg strojnog koda. U okviru inicijative GPUOpen, započete u prosincu 2015. godine, AMD je u suradnji sa zajednicom okupljenom oko projekata Mesa i LLVM razvio prevoditelj programa za sjenčanje za vlastite grafičke procesore Radeon. Fokus je bio i ostao optimizacija performansi na konkretnim programima za sjenčanje kakvi se javljaju u igrama koje koriste aplikacijska programska sučelja OpenGL i Vulkan. Tijekom 2019. godine Valve je objavio da razvija alternativni prevoditelj programa za sjenčanje nazvan ACO koji LLVM zamjenjuje vlastitim generatorom strojnog koda i ima za cilj skratiti vrijeme prevođenja programa (koje je ovdje kritično) u aktualnim igrama koje koriste Vulkan (Strange Brigade, Rise of The Tomb Raider, Doom (2016) i sl.). Cilj rada je dati pregled strojnih instrukcija grafičkog procesora AMD Radeon arhitektura Graphics Core Next i/ili Radeon DNA te usporediti AMD-ovu i Valveovu implementaciju programa za sjenčanje u terminima dizajna softvera, vremena, točnosti i brzine izvođenja prevedenih programa. Kod prevođenja programa za sjenčanje moguće je razviti vlastite ili koristiti postojeće iz igara i alata Piglit za testiranje implementacija OpenGL-a i Vulkana.

Literatura:

  1. Help us test ACO, a new Mesa shader compiler for AMD graphics!
  2. Mesa 3D Graphics Library documentation
  3. User Guide for AMDGPU Backend (LLVM)
  4. Piglit
  5. Gallium Hud, the almost definitive guide on how to use and customize it
  6. Marchesin, Stéphane. Linux Graphics Drivers: an Introduction. (FreeDesktop, 2012).
  7. Linux Graphics Stack Overview (Simon Kitching, The Mine of Information)
  8. Linux graphic stack (Nathan Gauër Blog)
  9. The Linux Graphics Stack (Clean Rinse)
  10. A brief introduction to the Linux graphics stack (Iago Toral Developer Log, Igalia)

Odabrane teme završnih radova akademske 2018/2019. godine

Implementacija Kruskalovog algoritma primjenom tehnologije CUDA {PPHS} [Vicenco Tomaš]

Mentor: dr. sc. Draško Tomić

Zamjenski mentor: v. pred. dr. sc. Vedran Miletić

Opis teme:

NVIDIA CUDA je vodeća tehnologija za računanje na grafičkim procesorima i iskorištena je za paralelizaciju brojnih algoritama. Kruskalov algoritam traži minimalno razapinjuće stablo grafa i koristi se kod planiranja brojnih vrsta mreža (cestovne, električne, komunikacijske i drugih). Cilj rada je analizirati različite postojeće pristupe paralelizaciji Kruskalovog algoritma za izvođenje na grafičkim procesorima korištenjem tehnologije CUDA te implementirati algoritam prema odabranom pristupu.

Literatura:

  1. NVIDIA CUDA
  2. Kruskal's algorithm

Odabrane teme diplomskih radova akademske 2018/2019. godine

Performanse upravljačkih programa grafičkog procesora kod izvođenja simulacija molekularne dinamike alatom GROMACS {PPHS} [Mario Ćuro]

Opis teme:

GROMACS je jedan od najkorištenijih alata za simulaciju molekularne dinamike i, zbog vrlo dobrih performansi kod izvođenja na grafičkim procesorima korištenjem CUDA-e, redovito spomenuta aplikacija u NVIDIA-inim katalozima softvera i promotivnim materijalima. Tijekom 2014. godine tvrtka StreamComputing (danas StreamHPC) implementirala je podrška za izvođenje na nekim grafičkim procesorima koji podržavaju tehnologiju OpenCL. Carsten Kutzner i suradnici su u dva rada, jednom objavljenom 2015. i jednom koji je u trenutku zadavanja teme u procesu objave, analizirali performanse GROMACS-a na grafičkim procesorima uglavnom koristeći CUDA-u. Cilj ovog rada je na isti način analizirati performanse GROMACS-a korištenjem OpenCL-a na grafičkim procesorima AMD Radeon. Za tu svrhu može se koristiti i razvojna verzija GROMACS-a koja nudi Python API čime je olakšana automatizacija mjerenja performansi.

Literatura:

  1. GROMACS documentation
  2. We ported GROMACS from CUDA to OpenCL (StreamHPC)
  3. Kutzner, C. et al. Best bang for your buck: GPU nodes for GROMACS biomolecular simulations. Journal of Computational Chemistry 36, 1990--2008 (2015).
  4. Kutzner, C. et al. More Bang for Your Buck: Improved use of GPU Nodes for GROMACS 2018. arXiv:1903.05918 [physics, q-bio] (2019).
  5. A free GROMACS benchmark set (MPI-BPC Theoretical and Computational Biophysics)
  6. gmxapi Python package

Ucjenjivački softver {UMS} [Stefano Berneš]

Opis teme:

Ucjenjivački softver je vrsta zlonamjernog softvera koja šifrira datoteke na računalu korisnika i zatim traži od korisnika plaćanje određene svote novca u zamjenu za ključ koji može dešifrirati šifrirane datoteke. U naglom je porastu od 2012. godine, a postao je poznat zahvaljujući CryptoLockeru koji je od korisnika iznuđivao plaćanje u Bitcoinima. Zadatak diplomskog rada je objasniti kako radi ucjenjivački softver, opisati povijest i neke najpoznatije ransomeware napade, nabrojiti i opisati različite vrste ucjenjivačkog softvera te navesti načine zaštite od mogućih ransomeware napada. Naposlijetku, potrebno je izraditi dokaz koncepta u kojem će biti prikazan način rada ucjenjivačkog softvera.

Literatura:

  1. Ransomware
  2. Ransomware doesn’t mean game over (Malwarebytes Labs)
  3. Massive WannaCry/Wcry Ransomware Attack Hits Countries (Trend Micro Research)

Robotska automatizacija procesa {UMS} [Marko Čolak]

Opis teme:

Procesi koje radnik unutar poslovnog sustava često izvodi na računalu i koji se mogu opisati nizom akcija koje treba poduzeti zanimljivi su za primjenu robotske automatizacije (engl. robotic process automation). U okviru robotske automatizacije koristi se niz softverskih alata (koji su metafora za industrijske robote) koji onda zamjenjuju radnika kod izvođenja repetitivnih radnji.

Zadatak rada je opisati robotsku automatizaciju procesa i razloge njene primjene (ušteda vremena, pojednostavljenje procesa koje radnik izvodi i sl.), a zatim odabrati proces kojeg radnik često izvodi na računalu (primjerice, otvaranje određene web stranice, preuzimanje datoteke s određenim strukturiranim sadržajem s nje pa čitanje, odabir i pretvorba sadržaja koji se potom unosi u poslovnu aplikaciju koja generira izvještaj koji treba preuzeti i poslati e-poštom). Za odabrani proces potrebno je napraviti dijagram procesa korištenjem UML-a (Unified Modeling Language) ili BPMN-a (Business Process Model and Notation) te provesti automatizaciju korištenjem rješenja otvorenog koda kao što su programski jezik Python i njegovi moduli (bilo standardne biblioteke, bilo treće strane), TagUI i/ili Robot Framework koji služe kao alternativa komercijalnim rješenjima u iste namjene (npr. UiPath, BluePrism, AutomationAnywhere). Za automatizaciju pokretanja razvijenih i postojećih alata potrebno je koristiti postojeće usluge operacijskog sustava (npr. init i cron ili systemd na Linuxu).

Literatura:

  1. Lacity, M., and Willcocks, L. P.. Robotic process automation: the next transformation lever for shared services. (London School of Economics Outsourcing Unit Working Research Paper Series, 2015). Rad dostupan putem mrežnih stranica Sveučilišta u Missouriju u St. Louisu.
  2. Willcocks, L. P., Lacity M. & Craig, A. Robotic process automation at Xchanging. (London School of Economics Outsourcing Unit Working Research Paper Series, 2015). Rad dostupan putem mrežnih stranica Londonske škole ekonomije.
  3. Robot Framework Documentation

Instalacija i održavanje računalne učionice {UMS} [Pino Zidarić]

Opis teme:

Moderne računalne učionice na fakultetima i u školama rijetko se naivno instaliraju i održavaju računalo po računalo, već je često u pitanju neki oblik centralnog upravljanja instalacijom softvera na svakom pojedinom računalu. Zadatak rada je osmisliti softverski stog i postavke suvremene učionice Odjela zasnovane na operacijskom sustavu Linux. Radi jednostavnosti, može se uzeti da se radi o single-boot sustavu (u praksi to najčešće nije slučaj, ali kako se Linux i Windows na stvarnim računalima na Odjelu za informatiku često stavljaju na različite fizičke diskove, to je dovoljno dobra aproksimacija). Hardver koji se koristi su relativno nove (<5 godina starosti) x86-64 mašine od Intela (i5, rjeđe i7) ili AMD-a (Ryzen 5, možda Ryzen 7). Zahtjevi za učionicom su sljedeći:

  • Temelj je zadnji stabilni Debian (u trenutku zadavanja zadatka: 9) ili zadnji Ubuntu LTS (u trenutku zadavanja zadatka: 18.04).
  • Potrebno je na svakom računalu stvoriti korisnički račun informatičke podrške koji ima sudo pristup (npr. podrska), korisnički račun nastavnika koji ima sudo pristup (npr. predavac) i korisnički račun studenta koji nema sudo pristup (npr. student).
  • Potrebno je omogućiti pristup nastavničkom računalu putem VPN-a (pretpostaviti da negdje postoji VPN poslužitelj na javnoj adresi koji se može koristiti), a osim toga VPN-om se mora omogućiti komunikacija između učionica s nastavničkog računala u jednoj učionici na nastavničko računalo u drugoj učionici) (OpenVPN, SoftEther ili Wireguard).
  • Potrebno je instalirati softver za nadzor studentskog rada (poslužiteljska strana na nastavničkom računalu, klijentska strana na studentskim) (Veyon ili Epoptes).
  • Potrebno je postaviti apt-cacher-ng (poslužiteljska strana na nastavničkom računalu, studentska računala ga koriste).
  • Potrebno je postaviti Ansible na nastavničkom računalu kako bi se moglo upravljati instalacijom softvera na studentskim računalima s jednog mjesta.
  • Potrebno je napraviti skriptu koja kod poziva s nastavničkog računala na svim studentskim računalima putem vatrozida zabranjuje pristup svim stranicama na internetu osim Merlina.
  • Potrebno je napraviti skriptu koja kod poziva s nastavničkog računala na svim studentskim računalima odjavljuje studentskog korisnika ako je prijavljen i zatim briše sve datoteke unutar kućnog direktorija tog korisnika pa kopira sadržaj direktorija /etc/skel na njihovo mjesto.

Literatura:

  1. DigitalOcean Tutorials
  2. nixCraft HowTos and Tutorials

Biblioteke heterogene sustavske arhitekture platforme ROCm {PPHS} [Augustin Sočković]

Opis teme:

Dok se aplikacija izvodi u heterogenom računalnom sustavu, grafički i središnji procesor razmjenjuju podatke koje aplikacija koristi za izvođenje operacija.

Literatura:

  1. W. H. Wen-mei, Heterogeneous System Architecture: A new compute platform infrastructure. Morgan Kaufmann, 2015.
  2. ROCm: Open Platform For Development, Discovery and Education around GPU Computing (GPUOpen)

Odabrane teme završnih radova akademske 2017/2018. godine

Napadi tipa man-in-the-middle na HTTPS i njihovo prepoznavanje {RM2} [Dominik Varelija]

Opis teme:

Širenjem interneta i širenjem broja i vrsta uređaja koji internetu pristupaju sigurnost računalnih mreža sve je veći izazov. Unatoč rastu korištenja šifriranja na webu, sam prijelaz na HTTPS nije dovoljan da se onemoguće napadi presretanjem prometa (engl. man-in-the-middle). Primjerice, kako autoriteti certifikata kojima su označeni kao da im se vjeruje mogu izdavati certifikate po želji za bilo koju domenu na internetu, u slučaju zlonamjernog djelovanja mogu omogućiti presretanje šifriranog prometa bez da korisnik to uoči obzirom da i dalje pristupa web stranici putem HTTPS-a. Zadatak rada je opisati navedeni i druge napade tipa man-in-the-middle na HTTPS i metode njiho0vog prepoznavanja i prevencije.

Literatura:

  1. Half the Web Is Now Encrypted. That Makes Everyone Safer (Wired)
  2. Durumeric, Zakir, et al. "The Security Impact of HTTPS Interception." Network and Distributed Systems Symposium (NDSS’17). 2017. Rad dostupan putem mrežnih stranica J. Alexa Hanldermana.
  3. Detecting HTTPS Interception (Caddy web server)

Nomulus: softver otvorenog koda za upravljanje registrom domena (Nomulus: open source domain registry management software) {RM2} [Sanja Ivić, preneseno iz 2016/2017.]

Opis teme:

Rastom prostora internetskih domena na veći skup ekstenzija vršnog nivoa (engl. top-level domain extensions) od 2011. godine nadalje raste i broj kompanija koje se bave upravljanjem domenama. Posao upravljanja registrom domena, koji su nekoć radili Verisign, Afilias, Neustar i nacionalni registri pojedinih država, danas rade stotine kompanija. Među njima su i, osim kompanija koje nove domene prodaju, kompanije koje nove domene koriste isključivo za vlastite potrebe (BMW za .bmw, Ferrari za .ferrari, Nike za .nike itd.). U takvoj situaciji softver za upravljanje registrom domena umjesto alata koji svaki registar razvija isključivo za internu potrebu postaje potencijalno široko primjenjiv softver, a jedna od mogućnosti razvoja takvog softvera je kroz projekt otvorenog koda. Nomulus je softver otvorenog koda koji Google Registry koristi za upravljanje domenama koje su im dodijeljene (.google, .how, .foo...), a napravljen je tako da ga mogu koristiti i drugi registri domena. Osim Googlea, u razvoju sudjeluje i Donuts, jedan od registara domena nastalih prilikom posljednje ekspanzije prostora internetskih domena. Zadatak rada je analizirati mogućnosti softvera i opisati proces instalacije, konfiguracije i korištenja iz hipotetske perspektive registra domena koji je vlasnik barem dvije nove ekstenzije vršnog nivoa. Literatura

  1. nTLDStats
  2. NameStat
  3. Nomulus
  4. Nomulus na GitHubu
  5. Introducing Nomulus: an open source top-level domain name registry (Google Open Source Blog)
  6. ICANN New gTLDs

Ugradbeni softver za bežične usmjerivače OpenWrt / LEDE (OpenWRT/LEDE embedded wireless router software) {RM1} [Matija Banjan, preneseno iz 2016/2017.]

Opis teme:

OpenWrt / LEDE je distribucija Linuxa koja se koristi kao ugradbeni softver za bežične usmjerivače. Podržava velik broj usmjerivača, a koristi se primarno kao zamjena za često zastarjeli i nesigurni proizvođačev ugradbeni softver. OpenWrt je slobodni softver otvorenog koda. Zadatak rada je opisati mogućnosti, način instalacije i način rada OpenWrt-a ili LEDE-a.

Literatura:

  1. OpenWRT
  2. LEDE

Odabrane teme diplomskih radova akademske 2017/2018. godine

Implementacija TCP-a u jezgri Linuxa i njene primjene (TCP implementation in Linux kernel and its applications) {OS1} [Ana Tomasović]

Mentor: doc. dr. sc. Božidar Kovačić

Komentor: dr. sc. Vedran Miletić

Opis teme:

Transmission Control Protocol (TCP) je protokol koji logički pripada četvrtom, transportnom, sloju OSI modela i pruža pouzdan prijenos podataka: slanje paketa u točnom redoslijedu, provjeru i ispravljanje grešaka nastalih u prijenosu te kontrolu zagušenja veze. Sam protokol je standardiziran, ali implementacija protokola je specifična za svaki operacijski sustav sukladno potrebama njegovih korisnika i interesima njegovih razvijatelja. Jezgra operacijskog sustava Linux je otvorenog koda te je implementacija stoga internetskih protokola, specifično i protokola TCP, dostupna za analizu i prilagodbu. Cilj rada je opisati implementaciju TCP-a u stogu internetskih protokola u jezgri operacijskog sustava Linux te opisati primjene dostupnih mehanizama za pouzdan prijenos paketa.

Literatura:

  1. Benvenuti, Christian. Understanding Linux network internals. O'Reilly Media, Inc., 2006.
  2. Lacage, Mathieu. Experimentation tools for networking research. Diss. Nice, 2010.
  3. Sarolahti, Pasi, and Alexey Kuznetsov. "Congestion Control in Linux TCP." USENIX Annual Technical Conference, FREENIX Track. 2002.

Pogon otvorenog koda za izradu 2D i 3D igara Godot (Godot open source 2D and 3D game engine) {PPHS} [Kristijan Faust]

Mentor: doc. dr. sc. Božidar Kovačić

Komentor: dr. sc. Vedran Miletić

Opis teme:

Godot je pogon otvorenog koda za izradu 2D i 3D igara dostupand pod licencom MIT. Razvojna okolina radi na Linuxu, macOS-u, Windowsima i drugim operacijskim sustavima, a moguće je izrađivati igre za PC, konzole, mobilne i web platforme korištenjem jezika C++, C# ili vlastitog skriptnog jezika GDScript, sintaksom sličnog Pythonu. Cilj rada je dati generalni opis pogona Godot i pregled aktivnosti koje zajednica provodi u procesu njegovog razvoja, zatim analizirati njegov dizajn, opisati razvojnu okolinu s osobitim naglaskom na GDScript te, naposlijetku, prikazati kako se pakiraju stvorene igre za distribuciju na različitim platformama.

Literatura:

  1. Službena dokumentacija pogona Godot
  2. GDScript
  3. Godot 3.0 Open-Source Game Engine Released (Phoronix)
  4. Godot Engine, the open source game engine has evolved with the big 3.0 release (GamingOnLinux)

Odabrane teme završnih radova akademske 2016/2017. godine

Utjecaj interneta na rezultat predsjedničkih izbora 2016. godine u Sjedinjenim Američkim Državama (Impact of the Internet on the result of US Presidential Election 2016) {RM2} [Mihael Orlović]

Poveznica na rad u repozitoriju

Opis teme:

Tijekom izbornog ciklusa u Sjedinjenim Američkim Državama 2015. i 2016. nominaciju Republikanske stranke među 17 kandidata osvojio je Donald John Trump, zvijezda reality TV showa Pripravnik (engl. The Apprentice), a nekoliko mjeseci kasnije je na iznenađenje šire javnosti osvojio i predsjedničke izbore. Među različitim glasačkim blokovima, Trump je vrlo rano zainteresirao korisnike interneta koji koriste Twitter, Facebook, Reddit i 4chan za širenje takozvanih memeja, ideja koje čine internetsku kulturu. Taj glasački blok je počeo vrlo aktivno proizvoditi i distribuirati memeje o "God Emperoru" Trumpu i drugim kandidatima Republikanske, Demokratske i ostalih stranaka, s ciljem da mu pomogne osvojiti izbore. Ne ulazeći u radu u ideološke prepirke i ne birajući stranu, zadatak je analizirati dostupne podatke o čitanosti (putem Alexe, SimilarWeba, Google Trendova i drugih izvora), stavovima, anketama i predviđanjima mainstream medija (MSNBC/NBC News, CNN, ABC News, CBS News, New York Times, Washington Post, Fox News), alternativnih medija (Breitbart, InfoWars, RT, New York Post, The Guardian, HuffPost, The Rebel Media, FiveThirtyEight i drugi manji mediji), društvenih mreža i mjesta za diskusiju (Facebook, Twitter, Reddit /r/the_donald i /r/MrTrump, YouTube/Periscope kanali e-celebrityja i političkih komentatora kao što su Lauren Southern, Gavin McInnes, Mike Cernovich, Stefan Molyneux, Milo Yiannopoulos, Paul Joseph Watson), slikovnih ploča (4chan i ostali chanovi). Student može analizirati detaljnije partikularne događaje ili serije događaja sukladno vlastitim interesima (primjerice, doseg, utjecaj i vijesti iz medija na temu Wikileaksovih objava Podestinih e-mailova, aktivnost Southern Poverty Law Centra, ACLU-a i/ili ADL-a, priču o ruskom utjecaju na izbore, problem lažnih vijesti, aktivnost grupe Correct the Record).

Literatura:

  1. Google Trends Indicate Trump Landslide (Regated)
  2. Hine, Gabriel Emile, et al. "Kek, Cucks, and God Emperor Trump: A Measurement Study of 4chan’s Politically Incorrect Forum and Its Effects on the Web." International Conference on Web and Social Media (ICWSM). Association for the Advancement of Artificial Intelligence (AAAI), 2017. Rad dostupan na stranicama laboratorija i arXivu
  3. Trump's shrinking electoral map (Politico)
  4. How the Trump Campaign Built an Identity Database and Used Facebook Ads to Win the Election (Joel Winston, posted on Medium)
  5. No, Big Data Didn't Win the U.S. Election (Bloomberg)
  6. Top 10 Trending Keywords in .Com & .Net Registrations in November (Verisign)
  7. Initial D. Trump
  8. How Facebook Saw Trump Coming When No One Else Did (Erin Pettigrew, posted on Medium)
  9. Trump will win the election and is more popular than Obama in 2008, AI system finds (CNBC)
  10. Trump’s Big Data Mind Explains How He Knew Trump Could Win (Wired)
  11. App maker: Trump will win election (USA Today)
  12. Clinton vs. Trump: Predicting The Electoral College (HuffPost)
  13. Donald Trump v Hillary Clinton: This Map Predicts Who Wins (Time)
  14. 2016 Election Forecast (FiveThirtyEight)
  15. On A Scale From 1 To 10, How Much Should Democrats Panic? (FiveThirtyEight)
  16. Election Update: Democrats Should Panic ... If The Polls Still Look Like This In A Week (FiveThirtyEight)
  17. Visualizing Clinton, Podesta, and the DNC's Wikileaks E-mail Networks
  18. Zannettou, Savvas, et al. "The Web Centipede: Understanding How Web Communities Influence Each Other Through the Lens of Mainstream and Alternative News Sources." arXiv preprint arXiv:1705.06947 (2017). Rad dostupan na arXivu.

Usporedba Khronos Vulkan i OpenGL API-ja (Comparison of Khronos Vulkan and OpenGL APIs) {PPHS} [Darko Kraljević]

Opis teme:

OpenGL je višeplatformski API za prikaz 2D i 3D vektorske grafiku. Vulkan je višeplatformski API za 3D grafiku i računanje na grafičkim procesorima. Autor oba API-ja je Khronos grupa. Vulkan je dizajniran specifično za moderne grafičke procesore, namijenjen je kao zamjena za OpenGL, a razvijen je na bazi AMD-ovog API-ja Mantle. Vulkan danas koristi nekolicina igara, od kojih je prva na svijetu bila The Talos Principle hrvatske kompanije Croteam. Zadatak rada je opisati i međusobno usporediti značajke oba API-ja, analizirati koje su značajke API-ja i hardvera učinile OpenGL neprikladnim za moderne grafičke procesore i moderne igre, na koje su načine AMD i NVIDIA zaobilazili ograničenja OpenGL-a, opisati nastanak Mantlea i kasnije Vulkana.

Literatura:

  1. OpenGL
  2. Vulkan
  3. List of games with Vulkan support
  4. List of games with OpenGL support
  5. AMD vs NV Drivers: A Brief History and Understanding Scheduling & CPU Overhead

Testiranje implementacija OpenGL-a i OpenCL-a alatom Piglit (Testing OpenGL and OpenCL implementations using Piglit) {PPHS} [Mario Ćuro]

Poveznica na rad u repozitoriju

Opis teme:

Piglit je skup testova za implemetacije OpenGL-a i OpenCL-a neovisan o hardveru, te se koristiti za testiranje grafičkih procesora tvrtki AMD, Intel i NVIDIA. Zadatak rada je prezentirati značajke Piglita i opisati testove koje posjeduje u terminima značajki OpenGL-a/OpenCL-a koje zahtijevaju. Potrebno je izvesti testove na hardveru i driveru po izboru studenta te analizirati rezultate.

Literatura:

  1. Piglit
  2. OpenGL
  3. OpenCL
  4. Dokumentacija upravljačkih programa odabranog hardvera

Ograničenje pokretanja operacijskih sustava tehnologijom UEFI Secure Boot (Restricting operating system boot using UEFI Secure Boot technology) {OS1} [Kristian Nekić, preneseno iz 2015/2016.]

Poveznica na rad u repozitoriju

Opis teme:

S izlaskom operacijskog sustava Microsoft Windows 8 na desktop i laptop računalima pojavljuje se nova tehnologija Secure Boot. Iako u osnovi osmišljena da spriječi pokretanje zlonamjernog softvera na računalima korisnika, Microsoftova gotovo potpuna kontrola nad potpisivanjem softvera pokrenula je brojne kritike. Cory Doctorow nudi viziju sadašnjosti i budućnosti u kojoj su računala samovozeći automobili, medicinska pomagala i kućanski aparati te koriste neku varijantu Secure Boota kako bi spriječili pokretanje nepotpisanih programa, primjerice vlastitog softvera za samovozeći automobil. Doctorowa brine taj izostanak mogućnosti prilagodbe uređaja čiji ste vlasnik, a sam proces uvođenja tehnologija srodnih Secure Bootu naziva "građanskim ratom protiv računarstva opće namjene". S izlaskom operacijskog sustava Windows 10 zabrinutost kritičara raste, obzirom da Microsoft više ne traži od proizvođača računala da omogući isključivanje Secure Boota ukoliko korisnik to želi i time ne osigurava slobodu korisnika. Zadatak rada je opisati tehničke i društvene izazove koje ova tehnologija donosi. Ovisno o interesu studenta, rad može biti više usmjeren na tehničke značajke i obraditi komplementarne tehnologije (konkretno, Intel BootGuard) ili pak na društveni kontekst i obraditi društvene posljedice građanskog rata protiv računarstva opće namjene.

Literatura:

  1. Secure Boot
  2. UEFI Secure Boot
  3. UEFI Secure Boot Criticism
  4. Cory Doctorow: "The Coming Civil War over General-purpose Computing" | Talks at Google
  5. DEF CON 23 - Cory Doctorow - Fighting Back in the War on General Purpose Computers
  6. Windows 10 to make the Secure Boot alt-OS lock out a reality
  7. Secure Boot: the good, the bad, and secureboot.me - Vedran Miletić DORS/CLUC 2015

Operacijski sustav CoreOS (CoreOS operating system) {OS2} [Matija Šegović, preneseno iz 2015/2016.]

Poveznica na rad u repozitoriju

Opis teme:

CoreOS je operacijski sustav otvorenog koda zasnovan na jezgri Linux koji omogućuje pokretanje aplikacija korištenjem kontejnera. Iako inicijalno zasnovan na Dockeru, danas koristi vlastito rješenje za kontejnersku virtualizaciju. CoreOS je primarno namijenjen za velike instalacije u cloudima, gdje se ne administriraju individualne virtualne mašine već se njima upravlja sistemski korištenjem specijaliziranih alata. Zadatak rada je opisati CoreOS i kontejnere te usporediti CoreOS-om s tradicionalnim operacijskim sustavima za cloude.

Literatura:

  1. CoreOS
  2. Project Atomic
  3. Scheepers, Mathijs Jeroen. "Virtualization and containerization of application infrastructure: A comparison." (2014).

Odabrane teme završnih radova akademske 2015/2016. godine

Datotečni sustavi ZFS i Btrfs (Btrfs and ZFS filesystems) {OS1} [Ana Tomasović]

Poveznica na rad u repozitoriju

Opis teme:

ZFS je transakcijski datotečni sustav i LVM razvijen od strane Sun Microsystems za Solaris. Prebačen je na FreeBSD kao dio jezgre, a na Linuxu je implementiran u korisničkom prostoru korištenjem mehanizma FUSE. Btrfs je datotečni sustav razvijen od strane Oracle-a za upotrebu na Linux sustavima. Btrfs ima brojne značajke koje postoje u ZFS-u, kao što su kopiranje kod zapisivanja (copy-on-write), snimke (snapshots) i kompresija. Razvoj Btrfs-a započeo je 2007. godine, a prva stabilna verzija je proglašena 2014. Oba datotečna sustava stavljaju naglasak na skaliranje, te na popravak nedostataka postojećih datotečnih sustava, ali svaki od njih ima jedinstven pristup i koncepte. Pored toga, razlikuju se i u licenci, što onemogućuje da ZFS bude dio jezgre Linuxa. Zadatak rada je opisati oba datotečna sustava, usporediti ih međusobno, te s datotečnom sustavima ext4 (Linux) i UFS2 (FreeBSD).

Literatura:

  1. OpenZFS
  2. ZFS on Linux
  3. Bonwick, Jeff, et al. "The zettabyte file system." Proc. of the 2nd Usenix Conference on File and Storage Technologies. 2003.
  4. Dawidek, Pawel Jakub, and Marshall Kirk McKusick. "porting the Solaris ZFS file system to the FreeBSD operating system." ; login:: the magazine of USENIX & SAGE 32.3 (2007): 19-24.
  5. btrfs Wiki
  6. Rodeh, Ohad, Josef Bacik, and Chris Mason. "BTRFS: The Linux B-tree filesystem." ACM Transactions on Storage (TOS) 9.3 (2013): 9.
  7. Heger, Dominique A.. "Workload Dependent Performance Evaluation of the Btrfs and ZFS Filesystems." CMG (2009).

Intelektualno vlasništvo nad softverom: licence i patenti (Intellectual property rights in software: licences and patents) {OS1} [Milan Petrović]

Poveznica na rad u repozitoriju

Opis teme:

Softver kao autorsko djelo spada pod zakon o autorskom pravu, a pored toga je u pojedinim državama patentabilan. Zakon o autorskom pravu nad softverom uglavnom nije predmet kritike, ali softverski patenti jesu. Iako originalno zamišljeni da štite inovatora od neovlaštenog kopiranja njegove ideje, i daju inovatoru prednost pred drugima na tržištu, danas se uglavnom koriste za obračunavanje velikih korporacija s novonastalom konkurencijom, za obranu velikih korporacija od podjednako velike konkurencije, te od strane takozvanih "patent trollova" za stjecanje profita na temelju kršenju patenata od strane korporacija koje su se probile na tržištu. Zadatak rada je opisati, kategorizirati i međusobno usporediti softverske licence te dati pregled zakonskog okvira koji se odnosi na softverske patenate u EU i SAD-u. Pored toga, potrebno je analizirati nekoliko aktualnih primjera prema izboru studenta velikih korporacija, "patent trollova" i patenata oko kojih su se vodili sudski procesi.

Literatura:

  1. GNU Licenses
  2. Licences at Choose a License
  3. Licences and Standards at Open Source Initiative
  4. Copyleft compliance at Software Freedom Conservancy
  5. EFF on Patents
  6. EFF's Patent Busting Project
  7. Open Invention Network
  8. Patent Commons
  9. Munich Intellectual Property Law Center
  10. Mises Institute
  11. Leifeld, Philip, and Sebastian Haunss. "Political discourse networks and the conflict over software patents in Europe." European Journal of Political Research 51.3 (2012): 382-409.
  12. Allison, John R., and Ronald J. Mann. "Disputed Quality of Software Patents, The." Wash. UL Rev. 85 (2007): 297.
  13. Garfinkel, Simson L., Richard M. Stallman, and Mitchell Kapor. "Why patents are bad for software." High Noon in the Electronic Frontier: Conceptual Issues in Cyberspace (1996).
  14. Rychlicki, Tomasz. "GPLv3: new software licence and new axiology of intellectual property law." European Intellectual Property Review 30.6 (2008): 232.
  15. Rosen, Lawrence. Open source licensing. Prentice Hall, 2005.
  16. Evans, David S., and Anne Layne-Farrar. "Software patents and open source: the battle over intellectual property rights." Va. JL & Tech. 9 (2004): 1.

ICANN-ov program novih vršnih imena domena (ICANN's new top level domains program) {RM2} [Iris Babić]

Poveznica na rad u repozitoriju

Opis teme:

U jesen 1984. godine RFC 920 pod naslovom "Domain Requirements" uspostavio je prvih šest vršnih domena: .arpa, .gov, .edu, .com, .mil, .org, i najavio uspostavljanje vršnih domena za svaku pojedinu državu (npr. .de za Njemačku, .ch za Švicarsku, .hr za Hrvatsku). Ubrzo nastaje i .net, a 2000. godine nastaju i .aero, .biz, .coop, .info, .museum, .name i .pro, a nekoliko država, uključujući Kolumbiju, Tokelau, Palau i Kokosove Otoke, predaje svoje vršne domene na upravljanje privatnim kompanijama koje ih zatim prodaju kao alternativu prilično zauzetoj .com domeni.

Međutim, prava promjena događa se tek 2012. kad ICANN otvara mogućnost privatnim kompanijama da zauzmu generičku vršnu domenu. Zadatak rada je dati pregled programa novih vršnih domena, usporediti ga s prethodnim komercijalizacijama državnog domenskog prostora i analizirati njegove tehničke i društvene izazove.

Literatura:

  1. ICANN New gTLDs
  2. ICANN Wiki
  3. nTLDStats
  4. Uniregistry
  5. XYZ
  6. Google Registry
  7. Famous Four Media
  8. Minds + Machines
  9. Donuts
  10. DotClub
  11. Radix
  12. Rightside

Slobodni softver za anonimnu komunikaciju Tor (Tor: free software for anonymous communication) {RM1} [Marjana Bjelić]

Poveznica na rad u repozitoriju

Opis teme:

Tor (The Onion Router) je slobodan softver za anonimnu komunikaciju putem interneta. Iako se u medijima najčešće spominje kao alat za distribuiranje ilegalnih sadržaja i prodaju kontroliranih supstanci, njegove primjene su puno šire: omogućuje anonimnost korisnika interneta koji žele zaobići cenzuru, skriti svoj identitet od zlostavljača, i novinara koji želi objaviti priču koja sadrži povjerljive informacije i čijom objavom bi ugrozio sebe. Usluge unutar Tora nazivaju se skrivenim uslugama i koriste specifičnu domenu .onion koja nije dostupna van Tora (primjerice, Facebook je dostupan putem adrese facebookcorewwwi.onion). Kako .onion domena nema nema centralni registar, potrebno je znati točnu domenu svake usluge kako bi joj se moglo pristupiti. Zadatak rada je opisati način na koji Tor osigurava anonimnost korisnika i način rada skrivenih usluga.

Literatura:

  1. Tor Project
  2. Tor: Hidden Services and Deanonymisation [31c3]
  3. Shari Steele on online anonymity: Tor staff are 'freedom fighters'

Odabrane teme diplomskih radova akademske 2015/2016. godine

Primjena responsive tehnologije za izradu dokumentacije aplikacije CP2K (Application of responisve technology for creating CP2K documentation) {DS} [Kristijan Lenković]

Mentor: doc. dr. sc. Božidar Kovačić

Komentor: dr. sc. Vedran Miletić

Poveznica na rad u repozitoriju

Opis teme:

CP2K je popularan slobodan softver otvorenog koda za molekularnu dinamiku. Dokumentacija alata CP2K koristi neresponzivan web dizajn što otežava njezino korištenje na različitim uređajima. Cilj rada je korištenjem responzivnih tehnologija weba predložiti novi dizajn i strukturu dokumentacije.

Literatura:

  1. Bootstrap
  2. CP2K
  3. Dokumentacija Java Platform SE 7, primjer dizajna korisničkog sučelja
  4. Dokumentacija Doxygena, primjer dizajna korisničkog sučelja

Analiza učinkovitosti paralelnih aplikacija (Performance analysis of parallel applications) {DS} [Tomislav Šubić]

Mentor: doc. dr. sc. Božidar Kovačić

Komentor: dr. sc. Vedran Miletić

Poveznica na rad u repozitoriju

Opis teme:

Za mjerenje performansi paralelnih aplikacija koriste se specijalizirani alati kao VAMPIR, MPPTEST, Allinea MAP i Valgrind. Cilj rada je opisati jedan ili više navedenih alata po izboru studenta te kroz različite primjere pokazati probleme s performansama koje je moguće takvim alatima prepoznati.

Literatura:

  1. Gropp, William, and Ewing Lusk. "Reproducible measurements of MPI performance characteristics." European Parallel Virtual Machine/Message Passing Interface Users’ Group Meeting. Springer, Berlin, Heidelberg, 1999. Rad dostupan putem mrežnih stranica Williama D. Groppa
  2. VAMPIR
  3. MPPTEST
  4. Allinea MAP
  5. Valgrind

Author: Vedran Miletić