Navigacija

13M111FP - Funkcionalno programiranje

Specifikacija predmeta
Naziv Funkcionalno programiranje
Akronim 13M111FP
Studijski program Elektrotehnika i računarstvo
Modul modul Softversko inženjerstvo
Tip studija master akademske studije
Nastavnik (predavač)
Nastavnik/saradnik (vežbe)
Nastavnik/saradnik (DON)
Broj ESPB 6.0 Status predmeta izborni
Uslovljnost drugim predmetima Nema formalnog uslova, potrebno je predznanje gradiva predmeta 13S112OO2.
Ciljevi izučavanja predmeta Razumevanje i ovladavanje konceptima funkcionalnog programiranja kroz jezik Scala. Specifičnosti strukture programa kod funkcionalnog programiranja i razlika u odnosu na imperativno programiranje. Upoznavanje tehnika funkcionalnog programiranja. Razvoj paralelnih funkcionalnih programa.
Ishodi učenja (stečena znanja) Po uspešno savladanom predmetu, studenti će biti osposobljeni da: - razumeju specifičnosti funkcionalnog programiranja - pišu sekvencijalne ili paralelne funkcionalne programe u jeziku Scala - koriste klase iz standardnih Java ili Scala biblioteka u razvoju softvera
Sadržaj predmeta
Sadržaj teorijske nastave Pregled jezika Scala. Promenljive, kontrolne strukture. Objekti i unikatni (saradnički) objekti. Klase. Funkcije i kontrolne apstrakcije. Omotački objekti. Svojstvo kao sredstvo višestruke upotrebe koda. Kombinovanje Scala i Java koda, konkurentno programiranje u jeziku Scala, programiranje grafičkog korisničkog interfejsa upotrebom Scala Swing paketa.
Sadržaj praktične nastave Auditorne vežbe. Projektni zadaci. Ocenjivanje projektnih zadataka se vrši usmenom odbranom uz prezentaciju.
Literatura
  1. Martin Odersky, Lex Spoon, Bill Venners, "Programming in Scala", 2nd ed, Aritma, 2010.
  2. Alvin Alexander, "Scala Cookbook", O'Reilly, 2013.
  3. Harold Abelson, Gerald Jay Sussman, "Structure and Interpretation of Computer Programs", 2nd ed, MIT Press, 1996.
  4. Prezentacije sa predavanja iz predmeta Funkcionalno programiranje
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 se drže uz elektronske prezentacije. Na predavanjima se uvode koncepti i izlaže definicija funkcionalnog programiranja i jezika Scala. Na auditornim vežbama demonstriraju se praktični primeri funkcionalnog programiranja na jeziku Scala.
Ocena znanja (maksimalni broj poena 100)
Predispitne obaveze Poena Završni ispit Poena
Aktivnosti u toku predavanja Pismeni ispit 40
Praktična nastava Usmeni ispit
Projekti 20
Kolokvijumi 40
Seminari