Anja Bukurov

e-mail anja_bukurov@matf.bg.ac.rs
Konsultacije sreda, od 14-15h, učionica N201
termin po dogovoru - javiti se bar 24h unapred
Kabinet 716

Programiranje 1

Sve informacije o kursu, kao i materijali sa vežbi se nalaze na stranici predmeta. Termini vežbi i praktikuma:

Grupa Termin
1o1b Utorak, 14-16h, RLAB
1o2a Sreda, 14-16h, N201
P4 Utorak, 13-14h, BIM
P9 Četvrtak, 8-9h, BIM
P10 Četvrtak, 10-11h, BIM
P11 Utorak, 11-12h, 718
P12 Utorak, 10-11h, 718

Uvod u Veb i Internet tehnologije

Sve informacije o kursu, kao i materijali, nalaze se na stranici predmeta. Termini vežbi:

Grupa Termin
2i1A Utorak, 16-18h, 718

Objektno-orijentisano programiranje

Sve informacije o kursu, kao i materijali, nalaze se na stranici predmeta. Važni linkovi:

Programiranje baza podataka

O kursu

Profesor: Vesna Marinković
Asistenti: Nikola Ajzenhamer, Anja Bukurov

Termini vežbi:

Grupa Termin
3I1 (GR1 i GR2) Četvrtak, 14-17h, BIM

Fokus ovog kursa je na izučavanju strategija za dizajn i implementaciju aplikacija koje koriste relacione baze podataka za trajno skladištenje podataka. Zbog toga, neka osnovna poznavanja narednih koncepata su neophodna:

  1. Programski jezik C
  2. Programski jezik Java
  3. Organizacija relacionih baza podataka, rad RSUBP (konkretno, DB2)
  4. SQL jezik za upravljanje podacima u relacionim bazama podataka

Svi ovi koncepti se obrađuju na kursevima u okviru studija.

  • Praktični kolokvijum
    1. Uvod u programiranje C/SQL aplikacija sa ugnežđenim statičkim SQL naredbama. Naredbe SELECT INTO, INSERT, UPDATE i DELETE.
    2. Uvod u kursore. Tipovi kursora. Programiranje čitajućih kursora. Naredbe DECLARE, OPEN, FETCH i CLOSE.
    3. Programiranje ažurirajućih i brišućih kursora. Ugnežđeni kursori.
    4. Programiranje C/SQL aplikacija u kojima se SQL naredbe izvršavaju dinamički. Naredbe EXECUTE IMMEDIATE, PREPARE i EXECUTE.
    5. Transakcioni rad. Naredbe COMMIT i ROLLBACK. Ponašanje kursora u odnosu na izvršavanje ovih naredbi. Svojstvo kursora “holdability” i naredba COMMIT.
    6. Rad u višekorisničkom okruženju. Katanci. Obrada grešaka pri radu u višekorisničkom okruženju.
  • Praktični deo završnog ispita
    1. Uvod u programiranje Java aplikacija sa dinamičkim izvršavanjem SQL naredbi (JDBC).
    2. JDBC: Transakcioni rad. Rad u višekorisničkom okruženju. Povezivanje na više baza podataka.
    3. Hibernate - deo 1. Podešavanje Hibernate 5.4 projekata. Pojam objektno-relacionog preslikavanja (ORP). ORP jedne tabele. ORP složenog primarnog ključa. CRUD operacije nad jednim objektom entiteta.
    4. Hibernate - deo 2. Rad sa skupovima slogova. HQL jezik. ORP stranih ključeva.
    5. Hibernate - deo 3. Napredno kreiranje upita pomoću JPA Criteria API-ja.

Materijali sa časova vežbi

  • Preuzmite ovde (OneDrive)
  • Privremena veza (FromSmash)
  • Veličina na disku: 29.8 GB
  • Napravljena za: Oracle VM Virtualbox (Windows, Linux, OSX)
  • Kredencijali za prijavljivanje:
    • korisničko ime: student
    • lozinka: abcdef
  • Lubuntu 64-bit, DB2 SUBP 11.5, Java 8 i Hibernate 5.4.
  • Napomene: Ova verzija VM se koristi za polaganje praktičnog kolokvijuma i praktičnog dela ispita, te se preporučuje njeno korišćenje. Alternativa je korišćenje starije verzije VM, koja zauzima manje prostora na disku, a čije su informacije navedene u nastavku.

  • Preuzmite ovde
  • Veličina na disku: 8 GB
  • Napravljena za: VMWare (Windows, Linux)
  • Kredencijali za prijavljivanje:
    • korisničko ime: student
    • lozinka: abcdef
  • OpenSUSE 32-bit, DB2 SUBP 10.5, Java 7 i Hibernate 5.1.
  • Napomene: Ova verzija VM se koristila do 2019/2020. akademske godine. Iako se i ona može koristiti za potrebe kursa, ipak se preporučuje korišćenje VM iznad, jer je sistem dosta zastareo kao i veliki broj aplikacija koji je instaliran na njemu. Sami kodovi bi trebalo da rade i na ovoj VM bez značajnijih izmena u kodu. Najveća razlika je u skriptovima za prevođenje C/SQL programa. Verzije skriptova za ovaj sistem se mogu pronaći u direktorijumu sa materijalima na Desktopu.

  1. Poglavlja 1 i 2 (bez sekcije 2.2.8)
  2. Sekcije 2.2.8, 3.1 i 3.2
  3. Sekcije 3.3 i 3.4
  4. Sekcije 4.1, 4.2, 4.3 i 4.4
  5. Sekcije 5.1, 5.3, 5.4 i 5.5
  6. Prekid u nastavi
  7. Poglavlje 6
  8. Poglavlje 8
  9. Poglavlje 9

Obaveštenja

[PBP] Čas 8 uživo na platformi Zoom

Čas 8 - Osnovni i napredni elementi JDBC standarda zakazan je za 09.04. u 14:00. Molimo studente, koji žele da prate čas uživo, da isprate uputstva za podešavanje i korišćenje platforme Zoom koja se nalaze na početnoj stranici fakulteta. Potrebne informacije: Koristićemo isti sastanak za više časova. Kada istekne 40 minuta, potrebno je da iskoristite isti link ili isti Meeting ID kako biste pristupili nastavku predavanja. Snimak sa časa biće objavljen naknadno.

01.04.2020.

[PBP] Čas 7 uživo na platformi Zoom

Čas 7 - Osnovni elementi JDBC standarda zakazan je za 02.04. u 13:00. Molimo studente, koji žele da prate čas uživo, da isprate uputstva za podešavanje i korišćenje platforme Zoom koja se nalaze na početnoj stranici fakulteta. Potrebne informacije: Koristićemo isti sastanak za više časova. Kada istekne 40 minuta, potrebno je da iskoristite isti link ili isti Meeting ID kako biste pristupili nastavku predavanja. Snimak sa časa biće objavljen naknadno.

01.04.2020.

[PBP] Čas uživo 02.04.

Čas uživo u četvrtak 02.04.2020. počinje u 13:00, umesto u 14:00 kako je ranije planirano.

30.03.2020.

[PBP] Čas 6 uživo na platformi Zoom

Čas 6 - Rad u višekorisničkom okruženju zakazan je za danas u 14:00. Molimo studente, koji žele da prate čas uživo, da isprate uputstva za podešavanje i korišćenje platforme Zoom koja se nalaze na početnoj stranici fakulteta. Po potrebi će biti napravljen još jedan čas, zavisi od vremenskog ograničenja. Snimak sa časa biće objavljen naknadno.

26.03.2020.

[PBP] Časovi vežbi u nastavku semestra

Časovi vežbi će se održavati u dva dela. Prvi deo podrazumeva video lekciju koja objašnjava koncepte koji su neophodni za razumevanje zadataka i biće objavljivan svakog utorka u 13h na zvaničnom YouTube kanalu . Drugi deo podrazumeva onlajn čas na platformi Zoom na kojem će biti rađeni zadaci svakog četvrtka od 14h. Da biste pristupili časovima, potrebno je da pristupite odgovarajućem linku koji će biti okačen na ovoj stranici svakog četvrtka pre termina za čas. Nakon toga, video sa onlajn časa biće dostupan na YouTube kanalu. Za praćenje onlajn časa, potrebno je prvo pogledati video lekciju od utorka. U opisu video snimaka, kao i na stranicama asistenata, biće okačena veza ka dokumentu u kojem ćete moći da upisujete pitanja na koja će asistenti blagovremeno odgovarati.

23.03.2020.

[OOP] Realizacija nastave u nastavku semestra

Informacije o organizaciji časova vežbi narednom periodu istaknute su na stranici predmeta. Časovi uživo počinju naredne nedelje.

16.03.2020.

[PBP] Realizacija nastave u nastavku semestra

U četvrtak, 19.03, časovi vežbi iz Programiranja baza podataka neće biti održani zbog novonastale situacije sa korona virusom. Informacije o tome kako će se časovi vežbi realizovati u narednom periodu biće blagovremeno istaknuti na ovoj stranici.

16.03.2020.

[PBP] Virtuelna mašina

Sa ove veze možete preuzeti virtualnu mašinu “Baze Podataka 2019”, ali samo u narednih 7 dana, nakon čega će veza prestati da radi zbog načina na koji “FromSmash” servis za deljenje sadržaja funkcioniše.

03.03.2020.

[OOP] Promena učionice

Časovi za grupe 2I1A i 2I2A će biti održane u učionici N152, umesto N201.

12.02.2020.

[UVIT] Anketa za utiske sa vežbi i praktičnih provera znanja

Dragi studenti, na anonimnoj anketi na ovoj vezi možete ostaviti svoje utiske sa časova vežbi, kao i sa praktičnih provera znanja ili bilo kakve druge komentare, napomene, sugestije, primedbe ili pohvale koje nam mogu služiti da kurs učionimo još boljim. Zahvaljujemo se unapred!

24.12.2019.