Sie sind auf Seite 1von 11

Crna Gora

Vlada Crne Gore


MINISTARSTVO PROSVJETE I NAUKE ZAVOD ZA ŠKOLSTVO

ALGORITMI I PROGRAMIRANJE

OIP - dopuna maturskog standarda za predmet Informatika


u III i IV razredu gimnazije
Sadržaj

1. Naziv nastavnog predmeta................................................................................................................... 3


2. Određenje predmetnog programa ........................................................................................................ 3
3. Opšti ciljevi predmetnog programa ....................................................................................................... 3
4. Sadržaji i operativni ciljevi predmetnog programa ................................................................................ 4
5. Standardi znanja................................................................................................................................. 10
6. Načini provjeravanja znanja i stručne osposobljenosti ....................................................................... 10
7. Resursi za realizaciju nastave ............................................................................................................ 11
8. Profil i stručna sprema nastavnika/ca i stručnih saradnika/ca............................................................. 11

2
1. NAZIV NASTAVNOG PREDMETA

OBAVEZNI IZBORNI PREDMET

NAZIV PREDMETNOG PROGRAMA

ALGORITMI I PROGRAMIRANJE

2. ODREĐENJE PREDMETNOG PROGRAMA

Izborni predmet. Ukupan broj časova: 105 (3 časa sedmično).


ALGORITMI I PROGRAMIRANJE je izborni predmet koji učenici/e mogu birati u III ili IV razredu gimnazije i koji služi kao dopuna do
maturskog standarda za predmet Informatika.

3. OPŠTI CILJEVI PREDMETNOG PROGRAMA

Osnovni cilj ovog predmeta je da učenici/e ovladaju tehnikama algoritamskog pristupa rješavanju problema i osnovnim principima
programiranja kroz programski jezik JAVA. Algoritamski pristup rješavanju problema razvija analitičke sposobnosti učenika/ca i
upoznaje ih sa principom dekompozicije problema na podprobleme. Programski jezik JAVA je najpopularniji programski jezik za
učenje programiranja. Kroz učenje ovog jezika vrši se implementacija naučenih algoritama. Učenici/e se upoznaju i sa objektno
orijentisanom paradigmom kreiranja softvera i principima pravilnog kreiranja softvera (tzv. softverskog inženjerstva). Kroz
programiranje učenici/e mogu da se upoznaju sa osnovama razvoja grafičkog korisničkog interfejsa (GUI). Jezik Java može se
koristiti i za veb-programiranje. Poznavanje osnovnih principa programiranja omogućava učenicima/ama da primjenom računara
rješavaju probleme ze koje ne postoji adekvatan softver, kao i da razvijaju aplikacije koje odgovaraju konkretnim korisničkim
zahtjevima.
Ovaj predmet predstavlja osnovu za razvijanje naprednih programerskih vještina i uvod u projektovanje softvera.

3
4. SADRŽAJI I OPERATIVNI CILJEVI PREDMETNOG PROGRAMA
Operativni ciljevi Aktivnosti Pojmovi/sadržaji Korelacija
Učenik/ca treba da: Učenici/e:
- razumije pojam algoritma, - se upoznaju sa kreiranjem linijskih
- shvata osnovne elemente algoritamskih šema, Algoritamske šeme; pseudokod; Matematika: aritmetička i
algoritamske šeme, - upoznaju kreiranje razgranatih vremenska i prostorna složenost. geometrijska progresija, rekurentne
- prepoznaje osobine algoritama algoritamskih šema, formule.
(prostorna i vremenska složenost, - upoznaju predstavljanje algoritama
determinizam, diskretnost), pseudokodom, Informatika.
- zna da provjeri ispravnosti - izračunavaju i provjeravaju
algoritma. složenost algoritma,
- empirijski i teorijski provjeravaju
(okvirno 10 časova) ispravnost algoritma.
Učenik/ca treba da:
- razlikuje algoritam i program, Sa učenicima/ama se razgovara o Paradigme projektovanja softvera; Informatika.
- zna koje su programske tome za koje su programske jezike kompajler; interpreter; proces
paradigme, čuli/e. prevođenja i interpretacije programa. Maternji jezik i književnost i Strani
- raspoznaje programske jezike po Učenicima/ama se objašnjava 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.
Učenici/e:
- se upoznaju sa određivanjem
uloge prevodioca,
- saznaju primjere kompajlera i
interpretera,
- rade nstaliranje JAVA prevodioca i
editora,
- rade podešavanje radne okoline
(CLASSPATH …).

4
Operativni ciljevi Aktivnosti Pojmovi/sadržaji Korelacija
Učenik/ca treba da: Učenici/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 izvršavanje jednostavnog
(System.out.println), programa,
- unosi komentare, - komentarisanje koda i pravilno
- koristi metode objekta PrintStream. uvlačenje linija koda – čitljivost koda.

(okvirno 4 časa)
Učenik/ca treba da: Učenici/e:
- razumije pojam identifikatora i - rade kreiranje različitih identifikatora, Editor; identifikator; literal; konstanta; Matematika: razlika između
prepoznaje ih u jeziku JAVA, - na primjeru upoznaju razlikovanje promjenljiva; tip promjenljive. promjenljive u matematici i
- shvata pojam tipa identifikatora i rezervisane riječi od drugih programiranju.
prepoznaje primitivne tipove u JAVI, identifikatora,
- prepoznaje rezervisane riječi, - rade kreiranje JAVA Bajt Koda i
- razlikuje Ime.java fajl i Ime.class fajl, pregled tog koda,
- zna šta je Java Byte Code, - rade pronalaženje Ime.java fajla i
- umije da deklariše promjenljivu, Ime.class fajla poslije prevođenja
- zna da dodijeli vrijednost programa,
promjenljivoj. - rade upotrebu literala, konstanti i
(okvirno 4 časa) promjenljivih u jednostavnim
programima,
- rade dodjeljivanje vrijednosti
promjenljivim.
Učenik/ca treba da: Učenici/e:
- prepoznaje i koristi metode klase - upoznaju pisanje programa koji String; podstring; overloading
String, koriste stringove (jednakost (prepoterećenje); poruke.
- shvata pojam signature, stringova, podstringovi, izvlačenje
- 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/sadržaji Korelacija
Učenik/ca treba da: Učenici/e:
- kreira objekat putem konstruktora, - rade kreiranje više 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)
Učenik/ca treba da: Učenici/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 između različitih BufferedReader.
klasa za pristup datotekama
(fajlovima).
(okvirno 4 časa)
Učenik/ca treba da: Učenici/e:
- umije da definiše klasu, - rade kreiranje korisničke klase, Objektno-orijentisano projektovanje;
- zna da napiše konstruktore za - na primjerima upoznaju this; Get i Set metodi; Main; static
klasu, prepoznavanje kontrole pristupa, metodi; nasljeđivanje (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 nasljeđivanju.
- razumije ulogu metoda Main,
- shvata šta su static metodi,
- prepoznaje na primjeru
nasljeđivanje,
- projektuje i implementira
naslijeđenu klasu.
(okvirno 8 časova)

6
Operativni ciljevi Aktivnosti Pojmovi/sadržaji Korelacija
Neobavezna tema Učenici/e:
Učenik/ca treba da: - rade kreiranje appleta, Applet; veb-stranica.
- kreira jednostavne applet-e. - rade uključivanje appleta u veb-
(okvirno 4 časa) stranicu.
Učenik/ca treba da: Učenici/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 odgovarajuće formatiranje; klasa Math; klasa Time. matematičkim objektima i konstantama.
i objekte odgovarajućih 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.

Učenik/ca treba da: Učenici/e:


- razumije uslovno izvršavanje naredbi, - rade pisanje programa sa IF i Switch If; switch; while; for.
- razumije i koristi If naredbu i Switch naredbom,
naredbu, - rade pisanje programa sa while
- shvata princip rada petlje, naredbom,
- koristi While i For petlju. - rade pisanje programa sa for
(okvirno 4 časa) naredbom.

Učenik/ca treba da: Učenici/e:


- prepoznaje i koristi metode Vector - upoznaju projektovanje programa koji Klasa Vector; klasa Set. Matematika: skupovi, nizovi.
klase, koriste Vector klasu,
- prepoznaje i koristi metode Set klase, - upoznaju kreiranje programa koji
- razlikuje semantičke sintaksne greške, koriste klasu Set,
- zna da ukloni greške u programu - diskutuju o prednostima i manama
(debugging). klasa Vector i Set,
(okvirno 4 časa) - rade uklanjanje grešaka u programu.
Učenik/ca treba da: Učenici/e:
- razumije pojam niza, - rade kreiranje programa sa Niz; matrica; petlje. Matematika: matrični račun.
- kreira nizove primitivnih tipova, jednodimenzionalnim nizovima
- kreira nizove objekata, (unošenje elemenata, štampanje
- shvata pojam višedimenzionalnog elemenata, maksimum i minimum,
niza, traženje u nizu),
- kreira višedimenzionalni niz. - rade kreiranje programa sa
(okvirno 8 časova) višedimenzionalnim nizovima
(matrice).

7
Operativni ciljevi Aktivnosti Pojmovi/sadržaji Korelacija
Učenik/ca treba da: Učenici/e:
- razumije principe grafičkog interfejsa - diskutuju o principima kreiranja GUI - Graphical User Interface; Likovna umjetnost: principi slaganja
(GUI), grafičkog interfejsa, events; thread. boja …
- poznaje osnovne elemente za - rade kreiranje programa sa Komunikologija: komunikacija sa
kreiranje interfejsa (panel, dugme, elementima grafičkog interfejsa, korisnikom programa.
check-box, option, text-box ...), - rade kreiranje događaja za pojedine
- shvata princip događaja u JAVI komponente interfejsa,
(event), - rade pisanje programa sa thread-
- implementira događaje za ovima.
komponente,
- prepoznaje mogućnost upotrebe
Thread-ova,
- implementira jednostavnije programe
sa thread-ovima.
(okvirno 8 časova)
Neobavezna tema Učenici/e:
Učenik/ca treba da: - rade kreiranje programa koji koriste Rekurzija; string; kombinatorika.
- razumije rekurziju kao princip tzv. tail-rekurziju,
rješavanja 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.
Učenik/ca treba da: Učenici/e:
- razumije razloge sortiranja podataka - rade kreiranje porgrama za različite Insertion sort; selection sort; bubble sort; Matematika: aritmetički i geometrijski niz,
po raznim kriterijumima, metode sortiranja niza. quicksort; mergesort; counting sort. kombinatorika, rekurentne formule.
- implementira različite metode
sortiranja niza (direktno višestruko
razvrstavanje, sortiranje umetanjem
(insertion sort), sortiranje izborom,
sortiranje objedinjavanjem već
sortiranih (mergesort), razdvajanje
pomoću pivota (quicksort), counting
sort,
- prepoznaje složenost različitih
algoritama sortiranja niza.
(okvirno 8 časova)

8
Operativni ciljevi Aktivnosti Pojmovi/sadržaji Korelacija
Neobavezna tema Učenici/e:
Učenik/ca treba da: - kreiranje programa koji koriste Backtracking; dekompozicija Matematika.
- razumije backtracking kao princip backtracking (razmještaj dama na problema. Šah.
rješavanja problema, šahovskoj tabli tako da se ne
- prepoznaje probleme koji mogu biti napadaju, obilazak šahovske table
riješeni primjenom backtracking-a, skakačem, permutacije, obilazak
- implementira programe sa lavirinta, igre ...).
backtracking-om.
(okvirno 6 časova)
Neobavezna tema Učenici/e:
Učenik/ca treba da: - rade kreiranje programa koji Dinamičko programiranje. Matematika: matrice, kombinatorika.
- razumije dinamičko programiranje koriste dinamičko programiranje
kao princip rješavanja problema, (obilazak tabele po nekim
- prepoznaje probleme koji mogu biti pravilima, najduži zajednički
riješeni primjenom dinamičkog podniz, množenje matrica ...).
programiranja,
- implementira programe sa
dinamičkim programiranjem.
(okvirno 6 časova)
Neobavezna tema Učenici/e:
Učenik/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; najkraći put.
grafova,
- prepoznaje probleme koji se mogu
svesti na graf,
- zna različite metode obilaska
grafa,
- implementira programe sa
grafovima.
(okvirno 8 časova)
Učenik/ca treba da: Učenici/e:
- razumije pojam paketa (package) i - rade kreiranje paketa, Package; JAR.
kreira svoje pakete, - rade kreiranje JAR fajla i
- shvata pojam JAR fajla kao načina distribucija.
distribucije JAVA aplikacija.
(okvirno 4 časova)

9
5. STANDARDI ZNANJA

Učenik/ca treba da:


- kreira algoritamsku šemu za zadati problem,
- kreira program koji implementira zadati algoritam,
- zna da prevede program i otkloni eventualne greške,
- umije da kreira klasu i podklasu,
- primjenjuje JAR fajl kao način distribucije aplikacije,
- koristi nizove u svojim programima,
- zna da učita podatke iz datoteke i upiše podatke u datoteku,
- razumije princip paketa i umije da pronađe tražene klase u paketu,
- prepoznaje situacije u kojima može koristiti nizove, klasu Vector i klasu Set,
- koristi petlje i usovne naredbe.

6. NAČINI PROVJERAVANJA ZNANJA I STRUČNE OSPOSOBLJENOSTI

Učenici/e se ocjenjuju kroz izradu određenih vrsta algoritama i programa na zadatu temu. Za naprednije učenike/ce može se
zadati složeniji algoritam i program. Moguće je i na početku godine zadati jedan veći projekat koji treba postupno u toku godine
rješavati (npr. školska biblioteka). Pored ovog, moguće je zadati kvizove sa pitanjima koja provjeravaju da li su učenici/e ovladali/e
pojedinim dijelovima predviđenog materijala. Predloženi operativni ciljevi mogu se realizovati za 118 časova. Neke od tema su
predložene kao neobavezne (ukupno 36 časova). Neobavezne teme su uglavnom one koje se najčešće pojavljuju na
takmičenjima iz programiranja i one treba da budu obrađene posebno sa učenicima/ama koji/e se takmiče. Nastavnik/ca može
izabrati samo neke od tih tema ili čak dijelove tih tema.

10
7. RESURSI ZA REALIZACIJU NASTAVE

7.1. Materijalni uslovi, standardi i normativi

Za realizaciju ovog programa neophodno je postojanje jedne učionice opremljene odgovarajućim brojem računara (najviše 2
učenika/ce po jednom računaru), projektorom i mrežnim štampačem. Na svakom od računara mora biti instalirana J2SE (JAVA
Standard Edition) i odgovarajući tekst-editor (npr. Notepad++). Moguće je i korišćenje ECLIPSE frejmvorka.

7.2. Okvirni spisak literature i drugih izvora

1. Eckel, B.: Misliti na JAVI, 4. izdanje (Thinking in JAVA), Mikro knjiga, 2007.
2. Schildt, H.: Java J2SE 5 - kompletan priručnik, Mikro knjiga, 2006.

8. PROFIL I STRUČNA SPREMA NASTAVNIKA/CA I STRUČNIH SARADNIKA/CA

Profesor/ica matematike ili informatike (PMF, FON), profesori/ce ostalih predmeta koji/e su tokom redovnih studija slušali/e
dvosemestralni kurs iz programiranja ili imaju odgovarajući sertifikat.

Predmetni program ALGORITMI I PROGRAMIRANJE za III ili IV razred gimnazije uradila je Komisija u sljedećem sastavu:

Goran Šuković, predsjednik


Biljana Stamatović, član

11

Das könnte Ihnen auch gefallen