Hrvatski
Hrvatski
English

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 (Razina 6)
Nastavni plan
1. 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)
2. 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)
3. Naredbe za kontrolu tijeka izvođenja programa: naredne granjanja, jednostrana i dvostrana selekcija, kaskadna selekcija. Blok naredbi, stil pisanja strukturiranje programa. (2h)
4. Naredbe za kontrolu tijeka izvođenja programa: programske petlje, iteriranje (2h)
5. Rad sa složenim tipovima podataka : lista, mapa, skup. (2h)
6. Hijerarhijsko strukturiranje složenih tipova podataka. (2h)
7. Explicitna pretvorba tipova podataka. Testiranje i otklanjanje grešaka. Upravljanje iznimkama. (2h)
8. Funkcije i prijenos parametara. Varijabilni broj parametara. Rekurzivni pozivi funkcije. (2h)
9. Razredi i objekti. (2h)
10. Korištenje gotovih programskih biblioteka: vlastitih programskih rješenja te rješenja od drugih proizvođača. Korištenje biblioteke regularni izrazi. (2h)
11. Serijalizacija i deserijalizacija podataka na primjeru. Korištenje datoteka. (2h)
12. Koristenje pokazivača. (2h)
13. Mehanizam okolnog djelokruga fukcije. Principi čistog koda i dobre prakse programskog inženjerstva. (2h)
14. Principi čistog koda i dobre prakse programskog inženjerstva. (2h)
15. Verzioniranje programskog koda (2h)
Način ocjenjivanja
Ocjenjivanje i vrednovanje rada studenata tijekom nastave
Bodovi
Kolokvij 70
Domaće zadaće 10
Zaključni ispit 20
Ocjenjivanje i vrednovanje rada studenata na ispitu
Pismeni dio 50
Usmeni/Praktični 50
Literatura
  • Kalafatić, Z. et al. (2016) Python za znatiželjne: sasvim drukčiji pogled na programiranje. Zagreb: Element.
  • Romano, F. (2021) Learn Python Programming : An in-depth introduction to the fundamentals of Python. Birmingham: Packt Publishing
Program: Elektroničko poslovanje i programsko inženjerstvo
ID: 5537
Vanjski ID: 243790
Ects: 5
Online postotak: 20
Ocjenjivanje:
90-100 izvrstan (5)
75-89 vrlo dobar (4)
60-74 dobar (3)
50-59 dovoljan (2)
0-49 nedovoljan (1)
Sati:
30 Predavanja
0 Seminari
30 Vježbe
0 Terenska nastava
Predavač/i: