Professional Documents
Culture Documents
Algoritmi I Programiranje PDF
Algoritmi I Programiranje PDF
ALGORITMI I PROGRAMIRANJE
2
1. NAZIV NASTAVNOG PREDMETA
ALGORITMI I PROGRAMIRANJE
Osnovni cilj ovog predmeta je da uenici/e ovladaju tehnikama algoritamskog pristupa rjeavanju problema i osnovnim principima
programiranja kroz programski jezik JAVA. Algoritamski pristup rjeavanju problema razvija analitike sposobnosti uenika/ca i
upoznaje ih sa principom dekompozicije problema na podprobleme. Programski jezik JAVA je najpopularniji programski jezik za
uenje programiranja. Kroz uenje ovog jezika vri se implementacija nauenih algoritama. Uenici/e se upoznaju i sa objektno
orijentisanom paradigmom kreiranja softvera i principima pravilnog kreiranja softvera (tzv. softverskog inenjerstva). Kroz
programiranje uenici/e mogu da se upoznaju sa osnovama razvoja grafikog korisnikog interfejsa (GUI). Jezik Java moe se
koristiti i za veb-programiranje. Poznavanje osnovnih principa programiranja omoguava uenicima/ama da primjenom raunara
rjeavaju probleme ze koje ne postoji adekvatan softver, kao i da razvijaju aplikacije koje odgovaraju konkretnim korisnikim
zahtjevima.
Ovaj predmet predstavlja osnovu za razvijanje naprednih programerskih vjetina i uvod u projektovanje softvera.
3
4. SADRAJI I OPERATIVNI CILJEVI PREDMETNOG PROGRAMA
Operativni ciljevi Aktivnosti Pojmovi/sadraji Korelacija
Uenik/ca treba da: Uenici/e:
- razumije pojam algoritma, - se upoznaju sa kreiranjem linijskih
- shvata osnovne elemente algoritamskih ema, Algoritamske eme; pseudokod; Matematika: aritmetika i
algoritamske eme, - upoznaju kreiranje razgranatih vremenska i prostorna sloenost. geometrijska progresija, rekurentne
- prepoznaje osobine algoritama algoritamskih ema, formule.
(prostorna i vremenska sloenost, - upoznaju predstavljanje algoritama
determinizam, diskretnost), pseudokodom, Informatika.
- zna da provjeri ispravnosti - izraunavaju i provjeravaju
algoritma. sloenost algoritma,
- empirijski i teorijski provjeravaju
(okvirno 10 asova) ispravnost algoritma.
Uenik/ca treba da:
- razlikuje algoritam i program, Sa uenicima/ama se razgovara o Paradigme projektovanja softvera; Informatika.
- zna koje su programske tome za koje su programske jezike kompajler; interpreter; proces
paradigme, uli/e. prevoenja i interpretacije programa. Maternji jezik i knjievnost i Strani
- raspoznaje programske jezike po Uenicima/ama se objanjava koje jezik: veza programskog jezika i
paradigmama, paradigme postoje i koje su im prirodnog jezika.
- zna ulogu prevodioca, karakteristike: imperativna - jezici C,
- razlikuje kompajler i interpreter. Pascal, Basic; objektno-orijentisana
C++, JAVA; funkcionalna LISP, ML;
(okvirno 4 asa) deklarativna Prolog.
Uenici/e:
- se upoznaju sa odreivanjem
uloge prevodioca,
- saznaju primjere kompajlera i
interpretera,
- rade nstaliranje JAVA prevodioca i
editora,
- rade podeavanje radne okoline
(CLASSPATH ).
4
Operativni ciljevi Aktivnosti Pojmovi/sadraji Korelacija
Uenik/ca treba da: Uenici/e rade:
- prepoznaje pojam objekta, reference - kreiranje objekta u jeziku JAVA, Editor; J2SE; pravilan format Informatika.
na objekat, klase i poruke, - otvaranje editora, kreiranje programa; itljivost koda.
- zna da koristi editor, programa i snimanje izmjena,
- shvata format JAVA programa, - zadavanje formata programa,
- kreira prvi JAVA program - kreiranje i izvravanje jednostavnog
(System.out.println), programa,
- unosi komentare, - komentarisanje koda i pravilno
- koristi metode objekta PrintStream. uvlaenje linija koda itljivost koda.
(okvirno 4 asa)
Uenik/ca treba da: Uenici/e:
- razumije pojam identifikatora i - rade kreiranje razliitih identifikatora, Editor; identifikator; literal; konstanta; Matematika: razlika izmeu
prepoznaje ih u jeziku JAVA, - na primjeru upoznaju razlikovanje promjenljiva; tip promjenljive. promjenljive u matematici i
- shvata pojam tipa identifikatora i rezervisane rijei od drugih programiranju.
prepoznaje primitivne tipove u JAVI, identifikatora,
- prepoznaje rezervisane rijei, - rade kreiranje JAVA Bajt Koda i
- razlikuje Ime.java fajl i Ime.class fajl, pregled tog koda,
- zna ta je Java Byte Code, - rade pronalaenje Ime.java fajla i
- umije da deklarie promjenljivu, Ime.class fajla poslije prevoenja
- zna da dodijeli vrijednost programa,
promjenljivoj. - rade upotrebu literala, konstanti i
(okvirno 4 asa) promjenljivih u jednostavnim
programima,
- rade dodjeljivanje vrijednosti
promjenljivim.
Uenik/ca treba da: Uenici/e:
- prepoznaje i koristi metode klase - upoznaju pisanje programa koji String; podstring; overloading
String, koriste stringove (jednakost (prepotereenje); poruke.
- shvata pojam signature, stringova, podstringovi, izvlaenje
- na primjeru podstringa koristi karaktera, transformacije ),
overloading, - upoznaju pisanje programa koji
- shvata princip kaskadnog slanja koriste overloading,
poruka. - upoznaju pisanje programa koji
(okvirno 3 asa) koriste kaskadno slanje poruka.
5
Operativni ciljevi Aktivnosti Pojmovi/sadraji Korelacija
Uenik/ca treba da: Uenici/e:
- kreira objekat putem konstruktora, - rade kreiranje vie kontsruktora za Konstruktor; datoteke.
- kreira objekat na primjeru klase klasu,
String, - rade otvaranje i zatvaranje
- upotrebljava metode datoteke (fajla),
FileOutputStream klase, - rade upisivanje podataka u fajl.
- zna svojstva i metode PrintStream
objekta.
(okvirno 4 asa)
Uenik/ca treba da: Uenici/e:
- razumije i koristi metode klasa - upoznaju pisanje programa koje Klasa FileInputStream; klasa
FileInputStream, koriste klase FileInputStream, BufferedInputStream; klasa
BufferedInputStream, BufferedInputStream, InputStreamReader; klasa
InputStreamReader i - rade kreiranje programa koje BufferedReader.
BufferedReader, koriste klase InputStreamReader i
- shvata razliku izmeu razliitih BufferedReader.
klasa za pristup datotekama
(fajlovima).
(okvirno 4 asa)
Uenik/ca treba da: Uenici/e:
- umije da definie klasu, - rade kreiranje korisnike klase, Objektno-orijentisano projektovanje;
- zna da napie konstruktore za - na primjerima upoznaju this; Get i Set metodi; Main; static
klasu, prepoznavanje kontrole pristupa, metodi; nasljeivanje (inheritance).
- kreira metode klase, - rade kreiranje Set i Get metode,
- razumije kontrolu pristupa (public, - rade kreiranje podklase (izvedene
private), klase),
- zna ta je this, - rade prepoznavanje problema koje
- kreira Get i Set metode, mogu nastati pri nasljeivanju.
- razumije ulogu metoda Main,
- shvata ta su static metodi,
- prepoznaje na primjeru
nasljeivanje,
- projektuje i implementira
naslijeenu klasu.
(okvirno 8 asova)
6
Operativni ciljevi Aktivnosti Pojmovi/sadraji Korelacija
Neobavezna tema Uenici/e:
Uenik/ca treba da: - rade kreiranje appleta, Applet; veb-stranica.
- kreira jednostavne applet-e. - rade ukljuivanje appleta u veb-
(okvirno 4 asa) stranicu.
Uenik/ca treba da: Uenici/e:
- razlikuje primitivne tipove podataka - upoznaju konvertovanje vrijednosti Konverzija; objekti i primitivne vrijednosti Matematika: veza klase Math sa
(int, long, short, float, double, boolean) primitivnih tipova u odgovarajue formatiranje; klasa Math; klasa Time. matematikim objektima i konstantama.
i objekte odgovarajuih klasa (Integer objekte i obratno,
...), - rade pisanje programa koji koriste
- koristi Math klasu, klasu Math,
- koristi Time klasu. - rade pisanje programa koji koriste
(okvirno 3 asa) klasu Time.
7
Operativni ciljevi Aktivnosti Pojmovi/sadraji Korelacija
Uenik/ca treba da: Uenici/e:
- razumije principe grafikog interfejsa - diskutuju o principima kreiranja GUI - Graphical User Interface; Likovna umjetnost: principi slaganja
(GUI), grafikog interfejsa, events; thread. boja
- poznaje osnovne elemente za - rade kreiranje programa sa Komunikologija: komunikacija sa
kreiranje interfejsa (panel, dugme, elementima grafikog interfejsa, korisnikom programa.
check-box, option, text-box ...), - rade kreiranje dogaaja za pojedine
- shvata princip dogaaja u JAVI komponente interfejsa,
(event), - rade pisanje programa sa thread-
- implementira dogaaje za ovima.
komponente,
- prepoznaje mogunost upotrebe
Thread-ova,
- implementira jednostavnije programe
sa thread-ovima.
(okvirno 8 asova)
Neobavezna tema Uenici/e:
Uenik/ca treba da: - rade kreiranje programa koji koriste Rekurzija; string; kombinatorika.
- razumije rekurziju kao princip tzv. tail-rekurziju,
rjeavanja problema, - saznaju o primjerima programa za
- implementira rekurzivne programe. tampanje stringa, tampanje stringa u
(okvirno 6 asova) obrnutom redosljedu, provjeru
palindroma, pretvaranje broja u binarni
zapis
- upoznaju primjere programa: Hanojske
kule, permutacije, kombinatorika.
Uenik/ca treba da: Uenici/e:
- razumije razloge sortiranja podataka - rade kreiranje porgrama za razliite Insertion sort; selection sort; bubble sort; Matematika: aritmetiki i geometrijski niz,
po raznim kriterijumima, metode sortiranja niza. quicksort; mergesort; counting sort. kombinatorika, rekurentne formule.
- implementira razliite metode
sortiranja niza (direktno viestruko
razvrstavanje, sortiranje umetanjem
(insertion sort), sortiranje izborom,
sortiranje objedinjavanjem ve
sortiranih (mergesort), razdvajanje
pomou pivota (quicksort), counting
sort,
- prepoznaje sloenost razliitih
algoritama sortiranja niza.
(okvirno 8 asova)
8
Operativni ciljevi Aktivnosti Pojmovi/sadraji Korelacija
Neobavezna tema Uenici/e:
Uenik/ca treba da: - kreiranje programa koji koriste Backtracking; dekompozicija Matematika.
- razumije backtracking kao princip backtracking (razmjetaj dama na problema. ah.
rjeavanja problema, ahovskoj tabli tako da se ne
- prepoznaje probleme koji mogu biti napadaju, obilazak ahovske table
rijeeni primjenom backtracking-a, skakaem, permutacije, obilazak
- implementira programe sa lavirinta, igre ...).
backtracking-om.
(okvirno 6 asova)
Neobavezna tema Uenici/e:
Uenik/ca treba da: - rade kreiranje programa koji Dinamiko programiranje. Matematika: matrice, kombinatorika.
- razumije dinamiko programiranje koriste dinamiko programiranje
kao princip rjeavanja problema, (obilazak tabele po nekim
- prepoznaje probleme koji mogu biti pravilima, najdui zajedniki
rijeeni primjenom dinamikog podniz, mnoenje matrica ...).
programiranja,
- implementira programe sa
dinamikim programiranjem.
(okvirno 6 asova)
Neobavezna tema Uenici/e:
Uenik/ca treba da: - rade kreiranje programa koji Graf; stepen vora; putanje u grafu; Matematika: kombinatorika, grafovi.
- razumije pojam grafa i osobine koriste grafove. obilazak grafa; najkrai put.
grafova,
- prepoznaje probleme koji se mogu
svesti na graf,
- zna razliite metode obilaska
grafa,
- implementira programe sa
grafovima.
(okvirno 8 asova)
Uenik/ca treba da: Uenici/e:
- razumije pojam paketa (package) i - rade kreiranje paketa, Package; JAR.
kreira svoje pakete, - rade kreiranje JAR fajla i
- shvata pojam JAR fajla kao naina distribucija.
distribucije JAVA aplikacija.
(okvirno 4 asova)
9
5. STANDARDI ZNANJA
Uenici/e se ocjenjuju kroz izradu odreenih vrsta algoritama i programa na zadatu temu. Za naprednije uenike/ce moe se
zadati sloeniji algoritam i program. Mogue je i na poetku godine zadati jedan vei projekat koji treba postupno u toku godine
rjeavati (npr. kolska biblioteka). Pored ovog, mogue je zadati kvizove sa pitanjima koja provjeravaju da li su uenici/e ovladali/e
pojedinim dijelovima predvienog materijala. Predloeni operativni ciljevi mogu se realizovati za 118 asova. Neke od tema su
predloene kao neobavezne (ukupno 36 asova). Neobavezne teme su uglavnom one koje se najee pojavljuju na
takmienjima iz programiranja i one treba da budu obraene posebno sa uenicima/ama koji/e se takmie. Nastavnik/ca moe
izabrati samo neke od tih tema ili ak dijelove tih tema.
10
7. RESURSI ZA REALIZACIJU NASTAVE
Za realizaciju ovog programa neophodno je postojanje jedne uionice opremljene odgovarajuim brojem raunara (najvie 2
uenika/ce po jednom raunaru), projektorom i mrenim tampaem. Na svakom od raunara mora biti instalirana J2SE (JAVA
Standard Edition) i odgovarajui tekst-editor (npr. Notepad++). Mogue je i korienje ECLIPSE frejmvorka.
1. Eckel, B.: Misliti na JAVI, 4. izdanje (Thinking in JAVA), Mikro knjiga, 2007.
2. Schildt, H.: Java J2SE 5 - kompletan prirunik, Mikro knjiga, 2006.
Profesor/ica matematike ili informatike (PMF, FON), profesori/ce ostalih predmeta koji/e su tokom redovnih studija sluali/e
dvosemestralni kurs iz programiranja ili imaju odgovarajui sertifikat.
Predmetni program ALGORITMI I PROGRAMIRANJE za III ili IV razred gimnazije uradila je Komisija u sljedeem sastavu:
11