Nauka o podacima

Nauka o podacima

Uključene obrazovne institucije

Elektrotehnički fakultet / Fakultet organizacionih nauka, Univerzitet u Beogradu

Upoznavanje studenata sa osnovnim konceptima distribuiranog programiranja. Uvođenje pojma različitih nivoa apstrakcije u konkurentnom i distribuiranom programiranju. Osposobljavanje studenata za pisanje konkurentnih i distribuiranih programa za najčešće probleme u različitim programskim jezicima.

Po završetku kursa studenti će biti sposobni da razumeju: koncepte, algoritme, principe, i probleme vezanim za konkurentno i distribuirano programiranja. Studenti bi trebalo da budu osposobljeni da u jeziku Java samostalno pišu napredne konkurentne i distribuirane aplikacije, da samostalno rešava najčešće probleme sinhronizacije i da koriste savremene biblioteke i okruženja za distribuirano obradu.

Koncepti procesa i sinhronizacije. Prosleđivanje poruka. Asinhrono i sinhrono prosleđivanje poruka. Udaljeni pozivi procedura. Napredni algoritmi sinhronizacije u konkurentnom i distribuiranom okruženju. Algoritmi zasnovani na stablima, traženje maksimalnog zajedničkog skupa, problem izbora, distribuirani sortiranje, problemi otpornosti na otkaze, problem Vizantinskih generala. Paralelno izračunavanje koristeći MapReduce i Hadoop infrastrukturu.

Koncepti procesa i sinhronizacije. Prosleđivanje poruka. Asinhrono i sinhrono prosleđivanje poruka. Udaljeni pozivi procedura. Napredni algoritmi sinhronizacije u konkurentnom i distribuiranom okruženju. Algoritmi zasnovani na stablima, traženje maksimalnog zajedničkog skupa, problem izbora, distribuirani sortiranje, problemi otpornosti na otkaze, problem Vizantinskih generala. Paralelno izračunavanje koristeći MapReduce i Hadoop infrastrukturu.