Stručni nastavni predmeti

Programiranje i programski jezici

CILJ nastave predmeta Programiranje i programski jezici je upoznavanje sa algoritamskim načinom rešavanja problema, ovladavanje tehnikama programiranja i sticanja znanja o savremenim programskim jezicima.

ZADACI nastave predmeta Programiranje i programski jezici su:

  • upoznavanje sa pojmom algoritma i vezom algoritama i savremenih računara;
  • upoznavanje sa procesom rešavanja zadataka na savremenim računarima;
  • sticanje osnovnih znanja o proceduralnim programskim jezicima, načinu zapisa podataka i zapisu programa u proceduralnom programskom jeziku;
  • ovladavanje osnovnim tehnikama programiranja u proceduralnom programskom jeziku;
  • upoznavanje pojma potprogram (modul, funkcija, …) i složenih struktura podataka;
  • sticanje znanja o raznim algoritmima pretraživanja i sortiranja, kao i upoznavanje rekurzivnih postupaka;
  • osposobljavanje za izradu programa vezanih za primenu u praksi;
  • upoznavanje sa objektno-orijentisanim stilom programiranja;
  • upoznavanje osnovnih pojmova objektno-orijentisane paradigme (objekta, klasa, nasleđivanje)
  • savladavanje konkretnog objektno-orijentisanog programskog jezika;
  • sticanje znanja o elementima objektno-orijentisane analize i objekto-orijentisanom projektovanju programa.

SADRŽAJI PROGRAMA ZA I RAZRED (2 časa nedeljno, 72 časa godišnje):

  • pojam algoritma, veza između algoritama i računara, način zapisa algoritama, korišćenje algoritama u rešavanju problema (3+0);
  • opis nekih jednostavnih algoritama (2+0);
  • svojstva algoritama (2+0);
  • intuitivne i formalne definicije algoritama, algoritamski nerešivi problemi, efikasnost algoritama s obzirom na vreme i korišćeni memorijski prostor (3+0);
  • veza algoritama i računarskih programa (2+0);
  • programski jezici, proceduralni programski jezici, zapis podataka u izabranom programskom jeziku (4+4);
  • opis funkcija i naredbe dodeljivanja (4+2);
  • unošenje i izdavanje podataka (4+4);
  • izrada programa sa linijskom algoritamskom strukturom (2+4);
  • opis razgranatih upravljačkih struktura. Izrada programa sa upravljačkim razgranatim strukturama (4+4);
  • opis cikličkih upravljačkih struktura. Izrada programa sa cikličkim upravljačkim strukturama (4+8);
  • testiranje programa i otklanjanje grešaka u programu (2+4).

SADRŽAJI PROGRAMA ZA II RAZRED (2 časa nedeljno, 72 časa godišnje):

  • potprogrami (zapis, poziv, prenos parametara) (4+4);
  • korišćenje potprograma-modularni pristup u rešavanju problema (2+4);
  • opis složenih struktura podataka u programskom jeziku. Korišćenje nizova (jednodimenzionih i višedimenzionih) (2+4);
  • Algoritmi pretraživanja i sortiranja nizova. Analiza složenosti algoritama preko izvršenog broja premeštanja i poređenja (2+4);
  • rad sa niskama (stringovima) (2+4);
  • opis rekurzije i rekurzivnog načina rešavanja problema. Rekurzivni algoritmi pretraživanja i sortiranja. (2+4)
  • rad sa složenim strukturama podataka (4+2);
  • rešavanje nekih praktičnih problema (0+4);
  • rad sa datotekama (2+4);
  • algoritmi zasnovani na gruboj sili. Gramzivi algoritmi. Algoritmi nekih heuristika. Opis nekih numeričkih, algebarskih i geometrijskih algoritama (0+4).

SADRŽAJI PROGRAMA ZA III RAZRED (4 časa nedeljno, 144 časa godišnje):

  • uvod u objektno orjentisano programiranje: nastanak i razvoj, osnovna ideja i osnovni pojmovi (4+0);
  • sintaksa objektivno orijentisanog jezika (OOP): promenljive i izrazi, kontrola toka programa, grananje i petlje, moduli (10+6);
  • pojam klase: svojstva, metode, događaji, elementi instance i elementi klase (10+10);
  • kreiranje klasa, konstruktori kao specijalne metode, preopterećenost metoda i nadjačavanje metoda (10+10);
  • objekti kao instance klase (10+10);
  • nasleđivanje, polimorfizmi (4+6);
  • agregacija i učaurivanje (4+6);
  • elementi UML-a, demonstriranje svojstava objektno orjentisanog dizajna preko UML-a. (10+10).

Predmet Programiranje i programski jezici predstavlja jedan od najvažnijih predmeta u obrazovanju stručnjaka iz oblasti računarstva. To je razlog što je predviđeno da se ovaj predmet izučava tri godine. Reč je o predmetu orijentisanom ka praksi. Dakle, pored sticanja teorijskih znanja (koja su neophodna u ovom predmetu), neophodan je i praktičan rad na računaru. Stoga je u svim razredima za ovaj predmet predviđena teorijska nastava kao i vežbanje na računaru. Pojedine nastavne jedinice su više teorijski orijentisane i za te nastavne jedinice nije predviđeno vežbanje na računaru. S druge strane, za pojedine nastavne jedinice potrebno je više praktičnog rada i tu je predviđen veći fond časova za vežbanje na računarima.
Za ovaj predmet u I i II razredu predviđena je izrada po dva pismena zadatka (po jedan u svakom polugodištu) u trajanju od po dva časa, dok je u III razredu predviđeno po dva pismena zadatka za svako polugodište. Po jedan čas je predviđen za ispravak pismenih zadataka i ovi časovi nisu ušli u fond za realizaciju gradiva.