2. semestar · Izborni · 4 ECTS
Programiranje II
O kolegiju
Naprednija načela funkcijskog i objektno orijentiranog programiranja u Pythonu, od modula i paketa, funkcija višeg reda, ugniježđenih funkcija i dekoratora do razreda i objekata, upravljanja iznimkama te iteratora i generatora. Obrađuju se naprednije tehnike obrade tekstualnih datoteka, serijalizacija i rad sa strukturiranim, polustrukturiranim i nestrukturiranim podacima iz različitih izvora, od datoteka txt, csv i json do relacijskih baza podataka, uz naglasak na organizaciji koda i njegovoj višestrukoj uporabljivosti.Ishodi i teme
- Imenski prostori, moduli i paketi
- Funkcije s pozicijskim argumentima i argumentima s ključnim riječima
- Rekurzivne i anonimne funkcije
- Razredi i objekti u Pythonu: definiranje vlastitih razreda te stvaranje i uporaba objekata
- Ugrađeni kontejneri i korisnički definirani objekti
- Funkcije kao objekti prvog reda (first-class objects)
- Funkcije višeg reda: map, filter i reduce
- Sažeto stvaranje lista, skupova i rječnika (comprehensions)
- Ugniježđene funkcije (closures)
- Dekoratori u Pythonu
- Upravljanje iznimkama
- Iteratori i generatori
- Serijalizacija podataka
- Rad s datotekama txt, csv i json
- Rad s relacijskim bazama podataka u Pythonu: uspostava veze, dohvat, ažuriranje i umetanje podataka
Izvođenje nastave i provjera znanja
Nastava se izvodi kroz predavanja i vježbe uz dva samostalna zadatka i samostalni projekt izrade aplikacije prema zadanim specifikacijama, čija se rješenja predaju putem GitHuba. Kratki testovi nose 20 posto ocjene, predana rješenja i protokoli vježbi 10 posto, završni projekt, koji se prezentira u terminu ispitnog roka, 50 posto, a završni ispit 20 posto, uz prag od 50 posto na svakom elementu.