SI3KDP - Konkurentno i distribuirano programiranje
Specifikacija predmeta | ||||
---|---|---|---|---|
Naziv | Konkurentno i distribuirano programiranje | |||
Akronim | SI3KDP | |||
Studijski program | Softversko inženjerstvo | |||
Modul | ||||
Tip studija | osnovne akademske studije | |||
Nastavnik (predavač) | ||||
Nastavnik/saradnik (vežbe) | ||||
Nastavnik/saradnik (DON) | ||||
Broj ESPB | 6.0 | Status predmeta | obavezan | |
Uslovljnost drugim predmetima | Programiranje 1 i Objektno orijentisano programiranje 2 | |||
Ciljevi izučavanja predmeta | Upoznavanje studenata sa osnovnim konceptima konkurentnog i 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. | |||
Ishodi učenja (stečena znanja) | Posedovanje osnovnih znanja o konceptima, algoritmima, principima, problemima i rešenjima vezanim za konkurentno i distribuirano programiranja. Prepoznavanje različitih nivoa apstrakcije u konkurentnom i distribuiranom programiranju. Osposobljenost studenta da u jeziku Java samostalno pišu jednostavne konkurentne i distribuirane aplikacije i da samostalno rešava najčešće probleme sinhronizacije. | |||
Sadržaj predmeta | ||||
Sadržaj teorijske nastave | Koncepti procesa i sinhronizacije. Locks i barijere, Tie Breaker, Ticket i Bakery algoritmi. Različiti načini implementacije barijera. Semafori. Raspodeljeni binarni semafori, tehnike prosleđivanja štafete, alokacija resursa. Monitori. Uslovne promenljive, discipline za signal, analiza dijagrama stanja monitora. Prosleđivanje poruka. Asinhrono i sinhrono prosleđivanje poruka. Udaljeni pozivi procedura. | |||
Sadržaj praktične nastave | Korišćenje semafora, monitora, regiona i prosleđivanja poruka za rešavanje tipskih problema: Čitaoci i pisci, Proizvođači i potrošači, Most sa jednom kolovoznom trakom, Filozofi za ručkom, Nervozni pušači, Berberin koji spava, Vožnja toboganom i drugi. Distribuirano programiranje (CSP i Linda). Realizacija semafora, uslovnih regiona, monitora, prosleđivanja poruka i udaljenog poziva metoda u Javi. | |||
Literatura | ||||
| ||||
Broj časova aktivne nastave nedeljno tokom semestra/trimestra/godine | ||||
Predavanja | Vežbe | DON | Studijski i istraživački rad | Ostali časovi |
2 | 2 | 1 | ||
Metode izvođenja nastave | Predavanja, auditorne vežbe, laboratorijske vežbe, projekti | |||
Ocena znanja (maksimalni broj poena 100) | ||||
Predispitne obaveze | Poena | Završni ispit | Poena | |
Aktivnosti u toku predavanja | 0 | Pismeni ispit | 30 | |
Praktična nastava | 0 | Usmeni ispit | 0 | |
Projekti | 20 | |||
Kolokvijumi | 50 | |||
Seminari | 0 |