Predmet Alati i metode softverskog inženjerstva je obavezan predmet na master programu Softversko inženjerstvo i računarske nauke, ali samo u okviru modula Softversko inženjerstvo. Predmet je veoma praktično orijentisan. Pokriva razne tehnike programiranja, razvoja aplikacija i rada sa konkretnim softverskim alatima.
Zbog izuzetno velike dinamike razvoja oblasti softverskog inženjerstva, teme koje pokriva predmet Alati i metode softverskog inženjerstva menjaju se iz godine u godinu. Nastavu izvodi više nastavnika, a zbog aktuelnosti pojedinih tema za softversku industriju nastavu vezanu za pojedine teme izvode stručnjaci iz prakse.
Preporučena literatura se takođe menja iz godine u godinu, ali je uvek dostupna na Internetu.
Ispit se polaže samostalnom ili grupnom izradom neke softverske aplikacije u dogovoru sa predmetnim nastavnicima.
Sadržaj predmeta u školskoj 2014/15 godini
- Clojure i funkcionalno programiranje.
- Osnovni koncepti
- Funkcije viseg reda
- Interaktivno programiranje u REPL-u
- Software transaction memory
- Asinhrono programiranje
- Agenti
- Protokoli
- Napredni polimorfizam funkcija
- Rad sa bazama podataka
- Testiranje
- ClojureScript
- Programiranje paralelnih numerickih algoritama na grafickim karticama u Clojure-u i OpenCL-u (opciono; samo ako bude bilo zainteresovanih studenata koji poseduju potreban hardver).
- Java
- Konvencije
- Često korišćene tehnike obrade izuzetaka
- Korišćenje iteratora umesto standardnih petlji
- Rad sa bibliotekom/paketom java.nio.file
- Lambda izrazi
- Java i UML
- Refactoring
- Otvoreni podaci (Open Data)
- Otvoreni podaci na Web-u
- Alati za rad sa otvorenim podacima (OpenRefine, R)
- Git
- Alati za verzioniranje koda (Version Control System VCS) osnove, principi
- Nedistribuirani i distribuirani VCS
- Osnovne komande u Git VCS
- Rad sa Git VCS-om iz komandne linije
- Hostovanje Git repozitorijuma na GitHub-u
- NetBeans Platforma
- Sistem modula
- Akcije
- Sistem prozora
- Lookup sistem
- Arhitektura