Šifra modula PMAT 260 Fakultet PMF Sarajevo

 

Analiza i sinteza algoritama

 

NASTAVNI PROGRAM

 

A. OPŠTI PODACI

Fakultet Prirodno-matematički fakultet Univerziteta u Sarajevu
Odsjek Odsjek za matematiku
Smjer Teorijska kompjuterska nauka
Semestar Četvrti
Naziv modula Analiza i sinteza algoritama
Tip modula Obavezni
Broj kreditnih bodova 4
Kontakt sati Ukupno Predavanja Vježbe Seminari Konsultacije
60 30 30 0 po potrebi
Samostalni rad (sati) 40
Obavezni prethodno položeni moduli Uvod u programiranje
Modul relevantan za module Strukture podataka i algoritmi; Projektovanje računarskih aplikacija
Nastavno osoblje  
– Nastavnik nosilac modula Doc. dr. Željko Jurić
– Ostali nastavnici Doc. dr. Haris Gavranović
– Asistenti Mr. Esmir Pilav; Adis Alihodžić
 
B. CILJEVI MODULA

Modul predstavlja uvodni kurs u tehnike analize i sinteze algoritama, kao i upoznavanje sa osnovnim algoritamskim tehnikama.

C. SPECIFIČNI ZADACI MODULA

Kroz navedeni modul studenti će kroz samostalan rad na laboratorijskim vježbama biti  usmjereni na razvoj i implementaciju osnovnih algoritamskih rješenja u programskom jeziku C++.

D. OČEKIVANI REZULTATI NASTAVNOG PROCESA

Nakon završetka modula, studenti će biti u stanju da:
  • Razumiju osnovne tehnike analize i sinteze algoritama;
  • Razumiju osnovne pojmove vezane za teoriju kompleksnosti i izračunljivosti;
Koriste i primjenjuju standardne algoritamske tehnike;

E. SADRŽAJ NASTAVNOG PROCESA

Br. Nastavna jedinica Nastavni metod Sati rada
Kontakt Samostalno
1. Pojam algoritama. Iterativni i rekurzivni algoritmi Usmeno izlaganje 2

Vježbe i zadaci 2

4 2
2. Uvod u analizu algoritama. O i Q notacija. – II – 4 3
3. Diferentne jednačine koje se koriste za potrebe analize algoritama. – II – 4 2
4. Pojam izračunljivosti i algoritamske rješivosti. Algoritamski nerješivi problemi. – II – 4 2
5. Tehnike za sintezu algoritama. Konstrukcija indukcijom. – II – 4 3
6. Princip “podijeli i osvoji”. – II – 4 3
7. Elementarni algoritmi za sortiranje. Usmeno izlaganje 2

Rad na računaru 2

4 3
8. Brzi algoritmi za sortiranje. Shell sort. Merge Sort. Heap Sort. Quick Sort. Radix Sort – II – 4 3
9. Brzi algoritmi za pretraživanje. Heš tabele. Višestruko heširanje. – II – 4 3
10. Opća teorija rekurzivnih algoritama. – II – 4 2
11. Uklanjanje rekurzije. Ubrzavanje rekurzije. – II – 4 3
12. Dinamičko programiranje. Problem ranca i srodni problemi. – II – 4 3
13. Rekurzija sa pamćenjem (memoizacija) kao alternativa dinamičkom programiranju. – II – 4 2
14. Randomizacija i njena uloga u sintezi algoritama. – II – 4 3
15. Algoritmi Monte Carlo i Las Vegas tipa. – II – 4 3

F. PROVJERA ZNANJA I OCJENJIVANJE

Provjera znanja - kriteriji Ocjenjivanje
Kriterij Maksimalan broj bodova Bodovi za prolaz Osvojen broj bodova Ocjena

(BiH)

ECTS ocjena
Testovi tokom kursa (2 testa) 40 25 < 55,00 5 F
Projektni zadaci (3 projekta) 30 15 55,00 – 64,99 6 E
Usmeni završni ispit 30 15 65,00 – 74,99 7 D
      75,00 – 84,99 8 C
      85,00 – 94,99 9 B
      95,00 – 100,00 10 A
U k u p n o 100 55  

G. LITERATURA

Osnovna literatura: 

1.   R. Sedgewick, “Algorithms”, Addison Wesley Publishing Company, 1988.

2.   R. Sedgewick: “Algorithms in C++”, Princeton University, Addison Wesley Publishing Company, 1992.

3.   M. Živanović: “Algoritmi”, Matematički fakultet, Beograd, 2000.

4.   D. Urošević: “Algoritmi u programskom jeziku C”, Mikro Knjiga, Beograd, 2003.

 

Dopunska literatura:

1.    T. H. Cormen, C. E. Leiseron, R. L. Rivest & C. Stein, “Introduction to Algorithms”, MIT Press, 2001.

2.    M. R. Garey, D. S. Johnson, “Computers & Intractability – A Guide to the Theory of NP‑completeness”, W. H.   Freeman and Co, 1979.

3.    M. Vugdelija: “Dinamičko programiranje”, Društvo matematičara Srbije, Beograd, 1999.

4.    V. Aho, J. E. Hopcroft, J. D. Ulman: “Data Structures and Algorithms”, Addison-Wesley, 1983.

5.   D. E. Knuth: “The Art of Computer Programming, Volume 1: Fundamental Algorithms”, Addison-Wesley, 1968.