OSNOVE PROGRAMIRANJA
Cilj
Upoznati studente sa postupcima upravljanja tijekom izvođenja programa i tokom podataka u proceduralnim i objektno orijentiranim programskim jezicima kao što su Python, Java, C++. Prenijeti znanja primjene struktura podataka i algoritama u rješavanju programskih problema studentima koji nemaju prethodna znanja programiranja.
Uvjeti upisa
Nema.
Ishodi učenja
- Predložiti unutarnji način organizacije podataka u radnoj memoriji računala i uporabu operacija za pristupanje i izmjenu vrijednosti podataka
- Predložiti algoritam i rješavanje problema koristeći konstrukte programskog jezika
- Konstruirati programsko rješenje primjenom dobre prakse za prepoznavanje i suzbijanje grešaka, uključujući testiranje ispravnosti jednostavnijih programa
- Kreirati hijerarhijske kolekcije koje sadrže strukture podataka primjenjive za rješavanje zadanog problema
- Kreirati format zapisa rezultata i međurezultata programa u datoteku koja osigurava postojanost podataka nakon prekida rada programa
Nastavni plan
- Uvod u kolegij i detaljni izvedbeni plan nastave. Osnovni pojmovi: Algoritam, temeljna načela izvođenja programskog koda korištenjem arhitekture računala. Konstantne vrijednosti i varijable. Operacija pridruživanja. Upoznavanje okruženja za razvoj i izvođenje programa. Osnovne funkcije o tipovima podataka. Aritmetički izrazi, asocijativnost operatora, osnovni tipovi numeričkih podataka. (2h)
- Ključne riječi, osnovne funkcije: Ispis podataka i korisnički unos, matematičke funkcije. Prvi program.
- Relacijski operatori, logički operatori, prednost operatora, stablo izvođenja. Osnovni tipovi: tekstualni podaci. (2h)
- Naredbe za kontrolu tijeka izvođenja programa: naredne granjanja, jednostrana i dvostrana selekcija, kaskadna selekcija. Blok naredbi, stil pisanja strukturiranje programa. (2h)
- Naredbe za kontrolu tijeka izvođenja programa: programske petlje, iteriranje (2h)
- Rad sa složenim tipovima podataka : lista, mapa, skup. (2h)
- Hijerarhijsko strukturiranje složenih tipova podataka. (2h)
- Explicitna pretvorba tipova podataka. Testiranje i otklanjanje grešaka. Upravljanje iznimkama. (2h)
- Funkcije i prijenos parametara. Varijabilni broj parametara. Rekurzivni pozivi funkcije. (2h)
- Razredi i objekti. (2h)
- Korištenje gotovih programskih biblioteka: vlastitih programskih rješenja te rješenja od drugih proizvođača. Korištenje biblioteke regularni izrazi. (2h)
- Serijalizacija i deserijalizacija podataka na primjeru. Korištenje datoteka. (2h)
- Koristenje pokazivača. (2h)
- Mehanizam okolnog djelokruga fukcije. Principi čistog koda i dobre prakse programskog inženjerstva. (2h)
- Principi čistog koda i dobre prakse programskog inženjerstva. (2h)
- Verzioniranje programskog koda (2h)
Satnica
| Vrsta nastave | Broj sati |
|---|---|
| Predavanja | 30 |
| Seminari | 0 |
| Vježbe (V: 30) | 30 |
| Terenska nastava | 0 |
Tablice vrednovanja
Vrednovanje tijekom nastave
| Aktivnost | Vrijednost 1 | Bodovi |
|---|---|---|
| Kolokvij | 50 | 70 |
| Domaće zadaće | 50 | 10 |
| Zaključni ispit | 50 | 20 |
Vrednovanje na ispitu
| Aktivnost | Vrijednost 1 | Bodovi |
|---|---|---|
| Pismeni dio | 50 | 50 |
| Usmeni/Praktični | 50 | 50 |
Kriteriji ocjenjivanja
| Bodovi / raspon | Opis uspjeha | Ocjena |
|---|---|---|
| 0-49 | ne zadovoljava minimalne kriterije | nedovoljan (1) |
| 50-59 | zadovoljava minimalne kriterije | dovoljan (2) |
| 60-74 | prosječan uspjeh | dobar (3) |
| 75-89 | iznadprosječan uspjeh | vrlo dobar (4) |
| 90-100 | izniman uspjeh | izvrstan (5) |
Obvezna literatura
- Kalafatić, Z. et al. (2016) Python za znatiželjne: sasvim drukčiji pogled na programiranje. Zagreb: Element.Broj primjeraka: 2
- Romano, F. (2021) Learn Python Programming : An in-depth introduction to the fundamentals of Python. Birmingham: Packt PublishingBroj primjeraka: 1 Otvori izvor

