Kratak opis:
Kratak opis:
Potrebno je realizovati jedan NLP algoritma za poredjenje teksta napisanog u prirodnom jeziku (recenica ili pasusa), koji vraca meru njihove slicnosti. Primer: "The boy has a dog" i "The boy owns an animal" su recenice razlicite po sastavu reci, ali po svom zancenju (semantici) su slicne. Algoritam prvo poredi sličnost svih parova pojedinačnih reči (npr. glagola "has" i "owns",) a zatim na osnovu tih vrednosti daje meru sličnosti celog teksta (u ovom slučaju ove dve rečenice).
Više informacija o temi
Za više detalja o samoj implementaciji, kao i o NLP alatima potrebnim za realizaciju, obratiti se putem maila.
Kratak opis:
Sajtovi kao sto su http://stackoverflow.com/ ili Yahoo! Answers predstavljaju portale za postavljanje pitanja i pronalazenje odgovora. Na osnovu korinicke interakcije unutar ovakve socijalne mreze moguce je napraviti profil interesovanja date osobe. Profil se sastoji od različitih oblasti gde je svaka oblast sačinjena od skupa reči. Potrebno je realizovati algoritam zasnovan na na mašinskom učenju koji ce za datu osobu kreirati njen profil intresovanja.
Više informacija o temi
Za više detalja o samoj implementaciji, skupu podataka, kao i o alatima potrebnim za realizaciju obratiti se putem maila.
Kratak opis:
Dokumenti kao što su članci u časopisima, knjige, tekstovi sa ličnog bloga itd. mogu identifikovati određene oblasti interesovanja ili ekspertize. Na osnovu ovih dokumenata moguće je napraviti profil ekspertize osobe koja je njihov autor. Profil se sastoji od različitih oblasti gde je svaka oblast sačinjena od skupa reči. Svaka reč pripada datoj oblasti sa određenom težinom koja predstavlja broj [0,1]. Npr. za sledeći tekst:
The central problems of AI include such traits as reasoning, knowledge, planning, learning, communication, perception and the ability to move and manipulate objects… (ceo tekst se nalazi na http://en.wikipedia.org/wiki/Artificial_intelligence)
Jedna od identifikovanih oblasti (AI) bi bila npr. opisana na sledeći način:
(reasoning,0.7); (knowledge,0.5); (planning,0.4); (learning,0.3); ...
Cilj implementacije ovakvog web servisa je da umesto ručnog unosa, svaki korisnik može dostaviti skup dokumenata čiji je on autor i koji se odnose na njegova profesionalna interesovanja, a zatim automatski pomoću alata zasnovanih na mašinskom učenju će se generisati njegov profil ekspertize.
Više informacija o temi
Za više detalja o samoj implementaciji, kao i o alatima potrebnim za realizaciju, obratiti se putem maila.
Kratak opis:
Predmet ovog završnog rada je realizacija mrežne verzije već postojeće aplikacije za robotiku. Treba realizovati veb interfejs, tako da se parametri robota unose kroz web browser i da se onda prikazuje vizuelizacija odabranog robota.
Više informacija o temi
Za više detalja o samoj implementaciji, kao i o alatima potrebnim za realizaciju, obratiti se putem e-pošte.
Kratak opis:
Potrebno je razviti određenu veb aplikaciju u nekom od JavaScript MVC frameworka kao što su: AngularJS, EmberJS, Backbone
i koristiti nešto od sledećih tehnologija:
1) Javascript task runner: grunt http://gruntjs.com/
2) Package managment: bower (http://bower.io/), npm (https://npmjs.org/) ili neki treći
3) Testiranje koda: Jasmine (http://pivotal.github.io/jasmine/), Karma(http://karma-runner.github.io/0.10/index.html) ili neki treci
Više informacija o temi
Za više detalja o samoj implementaciji, kao i o alatima potrebnim za realizaciju, obratiti se putem e-pošte.
Kratak opis:
Potrebno je razviti određenu veb aplikaciju u nekom programskom jeziku, pa je kompajlirati u JavaScript-u.
Primer>
1) DART https://www.dartlang.org/
2) CoffeScript http://coffeescript.org/
3) TypeScript http://www.typescriptlang.org/
Više informacija o temi
Za više detalja o samoj implementaciji, kao i o alatima potrebnim za realizaciju, obratiti se putem e-pošte.
Kratak opis:
Potrebno je razviti veb aplikaciju, korišćenjem HTML5 i biblioteke WebGL.
Više informacija o temi
Za više detalja o samoj implementaciji, kao i o alatima potrebnim za realizaciju, obratiti se putem e-pošte.
Kratak opis:
Pravljenje web aplikacije u web frameworku PLAY (kombinacija Java+Scala) http://www.playframework.com/ uz korišćenje AKKA toolkita za konkurentno-distribuirano programiranje.
Više informacija o temi
Za više detalja o samoj implementaciji, kao i o alatima potrebnim za realizaciju, obratiti se putem e-pošte drazen.draskovic@etf.rs i nenad.vitorovic@etf.rs.
Kratak opis:
Načini testiranja veb aplikacija - black/white box testiranje, jedinično testiranje (npr. JWebUnit/PHPUnit), GUI testiranje... (alati za GUI: Selenium, Windmill).
Diplomski rad treba da obuhvati pregled metoda i nekoliko alata za testiranje veb aplikacija i korišćenje tih alata na primerima iz prakse,
uz upoređivanje alata i određivanje svih prednosti i nedostataka.
Više informacija o temi
Za više detalja o samoj realizaciji, kao i o alatima potrebnim za realizaciju, obratiti se putem e-pošte drazen.draskovic@etf.rs.
Kratak opis:
Cilj rada je da se pristupi tehnici performansnog testiranja, da se nekoliko aplikacija testira u alatu JMeter i drugim sličnim alatima orijentisanim za performansno testiranje, i da se prikažu rezultati.
Više informacija o temi
Za više detalja o samoj realizaciji, kao i o alatima potrebnim za realizaciju, obratiti se putem e-pošte drazen.draskovic@etf.rs.
Kratak opis:
Napredna web pretraživanja koriste danas specijalizovane programe koji se nazivaju web crawleri. Cilj rada je da se realizuje nekoliko web crawlera koji služe za pretraživanje pojednih foruma, da se prikaže njihova struktura i da se uporede performanse.
Više informacija o temi
Za više detalja o samoj realizaciji, kao i o alatima potrebnim za realizaciju, obratiti se putem e-pošte drazen.draskovic@etf.rs.
Ovakvi algoritmi imaju primenu kada je sa određenog sajta ili grupe sajtova potrebno da dobijamo nove informacije, pronalaženje novih artikala na sajtu, praćenje da li ima na stanju, da li je došlo do promene cene, i sve to u što kraćem vremenskom intervalu.
Kratak opis:
Rad treba da obuhvati različite metodologije pristupa nestrukturiranih podataka na sajtovima. Fokus treba da bude na različitim tehnikama prikupljanja informacija (HTML parsing) uz korišćenje posebnih open-source alata (sta je potrebno obuhvatiti: tehnike web scrapinga sa Curl bibliotekom u kombinaciji sa Xpath, napredni scraping na sajtovima sa AJAX zahtevima i alat za automatizaciju testiranja veb aplikacija Mink).
Više informacija o temi
Za više detalja o samoj realizaciji, kao i o alatima potrebnim za realizaciju, obratiti se putem e-pošte drazen.draskovic@etf.rs.
Važni linkovi:
http://en.wikipedia.org/wiki/XPath
Kratak opis:
Ispitivanje mogućnosti alata NVIDIA Parallel Nsight na primeru nekoliko karakterističnih CUDA programa. Prikaz opcija za debagovanje i profajliranje koda. Integracija i podrška za rad u standardnim alatima.
Kratak opis:
Analiza karakterističnih komercijalnih i akademskih programskih modela poput OpenMP, OpenACC, hiCUDA, OpenHMPP na primeru nekoliko sekvencijalnih aplikacija.
Kratak opis:
Analiza i prikaz mogućnosti alata poput Portable Batching System, Oracle Grid Engine, IBM Platform LSF i sl.
Kratak opis:
Paralelizacija i korišćenje različitih algoritama za pronalaženje šablona na slikama ili u stringovima korišćenjem jedne od ponuđenih tehnologija.
Kratak opis:
Polazeći od dostupnih sekvencijalnih implementacija osnovnih algoritama za obradu grafova (obilasci, pronalaženje minimalnog obuhvatnog stabla, najkraćih rastojanja i sl.) potrebno je uraditi njihovo prilagođavanje i paralelizaciju direktivama korišćenjem jedne od ponuđenih tehnologija.
Kratak opis:
Ispitivanje različitih aspekata rada grafičkog procesora poput veličine keš memorije, načina izvršavanja niti i sl. korišćenjem namenskih mikro testova i njihovih kombinacija.
Kratak opis:
Ispitivanje karakteristika globalne memorije, deljene memorije, keš memorija, memorije za teksture na primeru nekoliko različitih aplikacija iz realnog sveta (po mogućstvu iz nekog od dostupnih benchmark-a).
Kratak opis:
Analiza navedenih benchmark-a i njihova primena u testiranju grafičkih procesora. Analiza slabosti i prednosti različitih grafičkih procesora različitih proizvođača.
Kratak opis:
Programiranje dodataka (plugin-ova) za programski paket Audacity. Paralelizacija efekata poput pojačavanja i stišavanja zvuka, uklanjanja eha, kašnjenja i sl. pomoću jedne od dostupnih tehnologija.
Kratak opis:
Implementacija jednog ili više algoritama za detekciju ivica na slikama korišćenjem jedne od dostupnih tehnologija za programiranje grafičkih procesora. Detekcija ivica može biti opšta ili za neke karakteristične oblike (npr. prepoznavanje saobraćajnih znakova u realnom vremenu).
Kratak opis:
Detaljno predstavljanje arhitekutre i organizacije različitih generacija AMD/ATI grafičkih procesora. Programiranje i prikaz rada jednostavnih programa na OpenCL jeziku koji se koristi na ovim procesorima.
Kratak opis:
Detaljno predstavljanje arhitekutre i organizacije Intel Xeon Phi koprocesora. Predstavljanje programskog modela na nekoliko primera.
Kratak opis:
Implementacija nekog od standardnih algoritama za enkripciju i dekripciju / generisanje digitalnog potpisa korišćenjem jedne od dostupnih tehnologija.
Kratak opis:
Opis i način rada GPGPUSim simultatora. Ispitivanje mogućnosti za proširivanje GPGPUSim simulatora. Primeri jednostavnih izmena u arhitekturi.
Kratak opis:
Istraživanje i implementacija algoritama za particionisanje grafova. Moguća paralelizacija nekom od dostupnih metoda.
Kratak opis:
Detekcija komuna u grafovima. Implementacija metoda poput label propagation i sl. Moguća paralelizacija nekom od dostupnih metoda.
Kratak opis:
Implementacija web aplikacije koja će omogućiti predaju i automatsko poređenje predatih radova korišćenjem sistema MOSS za detekciju plagijata. Potrebno je osmisliti interfejs ka MOSS i omogućiti predaju različitih tipova radova.
Kratak opis:
Implementacija veb sajta i CMS sistema za upravljanje dobrovoljnim vatrogasnim društvom, korišćenjem MVC. Upravljanje članovima, događajima, obaveštavanjima, galerije (primena JQuery), itd.
Kratak opis:
Tema ovog rada je dodavanje grafovskih algoritama, koji se obrađuju na kursevima iz Algoritama i struktura podataka na Elektrotehničkom fakultetu, u VSA. U pitanju su BFS, DFS, minimalno obuhvatno stablo (Prim, Kruskal), pronalaženje matrice puta (Warshall), određivanje središta grafa (Floyd), pronalaženje najkraćeg puta (Dijkstra), topološko sortiranje, kritičan put, maksimizacija protoka (Ford-Fulkerson). Potrebno je implementirati i vizuelizaciju dve najčešće reprezentacije grafova (matričnu i ulančanu).
Kratak opis:
Tema ovog rada je implementacija tehnika heširanja, koje se obrađuju na kursevima iz Algoritama i struktura podataka na Elektrotehničkom fakultetu, u VSA. U pitanju su dvostruko heširanje, odvojeno ulančavanje, objedinjeno ulančavanje. Potrebno je implementirati vizuelizaciju tabela i njihovog sadržaja.
Kratak opis:
Tema ovog rada je implementacija algoritama, koji se obrađuju na kursevima iz Računarske grafike na Elektrotehničkom fakultetu, u VSA. U pitanju su algoritmi odsecanja (Cohen-Sutherland, Sutherland-Hodgman, Weiler-Atherton), algoritmi popunjavanja, algoritmi rasterizacije primitiva (linije i kružnice) i parametarskih krivih (Bezier, Catmull-Rom).
Kratak opis:
Tema ovog rada je unapređenje postojećeg podsistema za animaciju izvršenja algoritama u VSA. Trenutno, animirani elementi imaju fiksnu brzinu kretanja, zbog čega animacija premeštanja vrednosti između međusobno udaljenih memorijskih lokacija traje duže od premeštanja kada su lokacije prostorno blizu jedna drugoj, što za sobom povlači nekoliko negativnih posledica. Takođe treba realizovati konkurentno posmatranje algoritma kroz nekoliko različitih pogleda. Zadatak kandidata bi najpre bio da prouči trenutni podsistem animacije i da u saradnji sa mentorom definiše novi pristup u realizaciji podsistema, nakon čega bi pristupio izradi.
Kratak opis:
Tema ovog rada je razvoj podsistema za proveru korektnosti rešenja koje je predložio korisnik u VSA. Jedna od značajnih osobina VSA u odnosu na druge slične simulatore jeste njegova mogućnost da oceni korisnikovo poznavanje datog algoritma. Simulator prima od korisnika komande koje predstavljaju elementarne korake izvršenja zadatog algoritma, i poredi ih sa očekivanim komandama. Svako neslaganje može da ukaže na grešku, a zadatak ovog podsistema jeste da obezbedi procenu ozbiljnosti greške, obavesti korisnika o nastaloj grešci i, po potrebi, omogući objektivno ocenjivanje znanja koje je ispitanih pokazao.