PROGRAMIRANJE 2

U okviru kursa Programiranje 2 obrađuju se napredni pojmovi proceduralnog programiranja i osnovni pojmovi algoritama i struktura podataka. U okviru naprednih pojmova proceduralnog programiranja, akcenat je na razumevanju funkcijskih poziva, rekurzije, upravljanju memorijom i primeni tih tehnika u rešavanju problema. U okviru osnovnih pojmova algoritama i struktura podataka, akcenat je na razumevanju pojma složenosti algoritma, osnovnim algoritmima za pretragu i sortiranje, dinamičkim strukturama podataka poput listi i stabala i algoritmima vezanim za njih. Kurs osposobljava studente da prepoznaju prilike za primenu naučenih tehnika, da na osnovu njihovih svojstava od više primenljivih tehnika izaberu bolje i da ih ispravno implementiraju.

Predmetni nastavnici:

Asistenti:

Osnovna literatura:

Dodatna literatura:

  • Brian Kernighan, Dennis Ritchie: The C Programming Language
  • Robert Sedgewick: Algorithms in C

Završni ispit:

Ispit u celini nosi 100 poena i oni će biti raspodeljeni na sledeći način:

  • Teorijski deo - nosi 50 poena (prag 30%) i radi se 1h
  • Praktični deo - nosi 50 poena (prag 30%) i radi se 2h

Pravila polaganja završnog ispita:
  • Svi delovi završnog ispita mogu se polagati u jednom ispitnom roku
  • Svi delovi završnog ispita mogu se polagati u više ispitnih rokova
  • Jednom položen bilo koji od delova ispita važi u spojenim rokovima (jun1-jun2 i sept1-sept2).
  • Ispit je potrebno prijaviti u svim rokovima u kojima student izlazi na neki deo ispita

Primeri:

  • Primer teorijskog dela ispita (OVDE)
  • Primer praktičnog dela ispita (OVDE)
  • Primeri praktičnog dela ispita (OVDE)

Ivana Tanasijević, Jelena Graovac

ČAS 1: Doseg i zivotni vek. Bitovski operatori.

ČAS 2: Organizacija memorije. Rekurzija.

ČAS 3-4: Slozenost.

ČAS 5-6: Pretrazivanje. Sortiranje.

ČAS 7: Pokazivaci. Dinamicka alokacija memorije.

ČAS 8: Bibliotecke funkcije.

ČAS 9-10: Liste. Stek. Red.

ČAS 11-12: Stabla.

Sana Stojanović-Đurđević

NAPOMENA: najavljena je promena cuvanja webex snimaka

  • u slucaju da ne rade donji linkovi video materijale mozete naci na linku: enastava

ČAS 1: Doseg i životni vek promenljivih, organizacija programa

ČAS 2: Bitovski operatori, organizacija memorije

ČAS 3: Rekurzija

ČAS 4: Repna rekurzija, složenost algoritma

ČAS 5: Pretraživanje i sortiranje

ČAS 6: Pokazivači i dinamička alokacija memorije

ČAS 7: Generička funkcija za sortiranje nizova

ČAS 8: Dinamičke strukture podataka - Liste: implementacija funkcija; Primena: stek i red

ČAS 9: Dinamičke strukture podataka - Stabla; Osnovni pojmovi i primeri

  • [Sana Stojanović Đurđević] Snimak časa (šifra je data u imenu linka): 4uPuXWbw
  • Kratke beleške sa časa: beleske.txt
  • [Milena Vujošević Janičić, Jelena Graovac] Slajdovi: 11_12_stabla.pdf

ČAS 10: Dinamičke strukture podataka - Stabla; Pretraga, oslobađanje, ispisivanje stabla u širinu (po nivoima)

  • [Sana Stojanović Đurđević] Snimak časa (šifra je data u imenu linka): VeFBJ9pJ
  • Kratke beleške sa časa: beleske10.odt

ČAS 11: Dinamičke strukture podataka - vežbanje (izračunavanje vrednosti aritmetičkog stabla, obrtanje jednostruko povezane liste u linearnom vremenu)

  • [Sana Stojanović Đurđević] Snimak časa (šifra je data u imenu linka): nU7JbJG3
  • Kratke beleške sa časa (kratak opis domaćeg zadatka, duži je u snimku): beleske11.odt, primer sa časa: aritmeticko_stablo.c

Mole se svi studenti da sve uočene greške i/ili propuste iz zbirke prijave preko ove forme kako bi naredno izdanje bilo još bolje. Hvala!

Slackware virtuelna mašina

ČAS 2: Algoritmi za rad sa bitovima

ČAS 3: Rekurzija

ČAS 4: Pokazivači i aritmetika sa pokazivačima

ČAS 5: Dinamička alokacija memorije i višedimenzioni nizovi

ČAS 6: Algoritmi pretrage

ČAS 7: Algoritmi sortiranja

ČAS 9: Pokazivaci na funkcije, bibliotecke funkcije qsort i bsearch, liste (uvod)

ČAS 10: Liste (nastavak)

ČAS 11: Liste (vežbanje) i uvod u binarno pretraživačko stablo

  • Prvi zadatak iz zadataka za vežbanje sa časa 10
  • Zadaci iz zbirke: 4.14
  • Biblioteka funkcija za rad sa binarnim pretraživačim stablom celih brojeva: stabla.c, stabla.h

ČAS 12: Binarno pretraživačko stablo - nastavak

ČAS 13: Vežbanje za ispit

[Tok 1o2] -nadoknada

Nadoknada vežbi će se održati u petak 12.04. počev od 11h u učionici JAG2.

08.04.2024

[Tok 1o2] -vežbe 01.04.

Vežbe kod asistenta Marka Savić se neće održati u ponedeljak 01. aprila.

Termin nadoknade će biti naknadno objavljen.

29.03.2024.

[Tok 1o1] - konsultacije 27.03.

Konsultacije kod asistenta Dare Milojković će se održati u sredu 27. marta od 16h u učionici RLAB.

27.3.2024.

[Tok 1o1] - vežbe 29.02.

Vežbe kod asistenta Dare Milojković se neće održati u četvrtak 29. februara.

Nadoknada će se održati u sredu 06. marta sa početkom od 16h u učionici RLAB.

28.2.2024.

[Tok 1o4] - predavanja prve nedelje (utorak 20.2.)

Obaveštavam Vas da će predavanje kod profesorke Sane biti održano od 8h (u istoj sali) umesto od 9h.
Predavanje ce održati profesorka Ivana Tanasijević.

19. 2. 2024.

Početak novog semestra

Srećno!

17. 2. 2024.

REZULTATI ISPITA

U ovom odeljku se nalaze rezultati ispita. Na vrhu svake tabele označen je rok u kom je taj deo pregledan. Kada se u novom roku pregleda ispit, biće ažurirana i sama tabela.

9. 7. 2022.

Matematički fakultet, Univerzitet u Beogradu
školska 2023/24. godina