Naziv predmeta | Uvod u programiranje |
Detalji | Kod VSITE121 Skr. UPROG ECTS 8 Godina 2 Semester Zimski semestar Vrsta obvezatni Razina HKO 6 Preddiplomski studij E-Learning 0% |
Aktivnosti | IT zg - Ljet 24/25 ECTS Jedinice Sati Svega P 1.5 15 3 45
A 0 0 0 0
L 2 14 3 60
S 0 0 0 0
KA 0 0 0 0
KP 0 2 1 0
PR 0 0 0 0
IP 0 0 0 0
IU 0 1 2 0
SU 4.5 1 135 135
|
Nastavnici | Nositelji: Dragana Čulina, pred. |
Preduvjeti | Nema |
Sadržaj | Računalni programi i programski jezici. Bitovi i bajtovi. Brojevni sustavi. Programske paradigme i programski jezik Python. Programsko okruženje za pisanje i izvođenje programa na računalu u programskom jeziku Python. Osnovni tipovi podataka. Aritmetički operatori i izrazi. Varijable, objekti i naredba pridruživanja. Identifikatori i smjernice imenovanja. Unos i ispis podataka. Relacijski i logički operatori i izrazi. Naredbe grananja i naredbe ponavljanja. Korištenje predefiniranih funkcija. Definiranje vlastitih funkcija u Pythonu. Stvaranje vlastitih modula. Dokumentiranje, testiranje i debagiranje. Složeni tipovi podataka. Niz znakova (string). Liste u Pythonu. Objektno orijentirano Programiranje. Oblikovanje klasa u jeziku Python. Python i umjetna inteligencija.
|
Ciljevi učenja | Opći: Stjecanje znanja o funkcioniranju, razvoju i održavanju programske podrške. Usvajanje osnovnih principa programiranja zajedničkih većini programskih jezika.
Posebni: Korištenje Python editora IDLE. Tipovi podataka. Izrazi. Varijable i naredbe pridruživanja. Naredbe grananja i naredbe ponavljanja. Definiranje funkcija. Moduli. Važnost dokumentiranja, testiranja i debagiranja. Znakovni nizovi. Liste. Definiranje klasa i instanciranje objekata. Upoznavanje sa osnovnim pojmovima umjetne inteligencije.
|
Ishodi učenja | 1. Objasniti i primijeniti osnovne principe kao i pristupe u izradi programskih rješenja. 2. Koristiti Python editor IDLE. 3. Savladati rad sa osnovnim elementima programa. 4. Koristiti operatore i izraze. 5. Primijeniti naredbe grananja i ponavljanja u programskim jezicima. 6. Izrađivati programske aplikacije koje se sastoje od više funkcija. 7. Kreirati vlastite liste. 8. Pravilno baratati sa znakovima i nizovima znakova unutar programa. 9. Primijeniti osnovne principe objektnog programiranja te izrađivati jednostavije objektno orijentirana programska rješenja.
|
Sposobnosti | Kolegij pruža temeljna znanja s područja programiranja kao osnovu jezgre računarstva, osposobljava polaznike za programiranje u programskom jeziku Python.
|
Preporučena literatura | 1. Dragana Čulina: Uvod u programiranje, interna skripta, VSITE, Zagreb, 2020.
2. Irv Kalb: Learn to Program with Python 3: A Step-by-Step Guide to Programming, 2nd ed., Apress, 2018
|
Dodatna literatura | Magnus Lie Hetland: Beginning Python: From Novice to Professional, 3rd ed., Apress, 2018.
|
predavanja (P) | - Računala i računalni programi. Sklopovlje. Binarni i decimalni sustavi. Izvorni kod, interpreter, kompajler. Algoritmi. Koraci izgradnje programa. Osnovni programski pristupi. Proceduralni, funkcionalni i logički usmjereni jezici. Objektno usmjereni jezici. Programski jezik Python. Izbor programskog okruženja. Interaktivni i uređivački dio sučelja IDLE.
- Pisanje i izvršavanje programa. Sintaksa programskog jezika Python. Otkrivanje grešaka. Aritmetički izrazi. Objekti i tipovi. Tipovi int, float i string. Varijable i naredbe pridruživanja. Model smještanja podataka u spremnik. Višestruko pridruživanje. Tip podatka n-torka. Zamjena vrijednosti varijabli. Funkcija divmod().
- Komentari u programu. Dokumentacijski string. Upis i ispis podataka (funkcije input i print). Formatirani ispis. Booleov tip podatka (bool), relacijski i logički operatori. Naredbe grananja if, i if…else. Uvlačenje bloka naredbi. Dijagram toka.
- Naredba grananja if..elif..else. Naredbe ponavljanja. Naredba for. Naredba while.
- Naredbe break i continue. Ugniježđene petlje. Napredniji programski primjeri.
- Funkcije u Pythonu. Built-in funkcije i definirane funkcije. Dokumentacijski string i naredba help. Definiranje vlastitih funkcija. Parametri i argumenti. Lokalne i globalne varijable. Naredba return. Funkcije koje ne vraćaju vrijednost. Vrijednost None. Funkcija main.
- Rješavanje problema pomoću funkcija. Dizajniranje funkcija. Testiranje funkcija. Poziv funkcije. Praćenje izvršenja poziva u memorijskom modelu.
Ponavljanje i priprema za prvi kolokvij.
- Prvi kolokvij.
Moduli. Naredbe import i from … import. Modul math.
- Modul sys i dodavanje u syspath puta do određene mape. Kako da naš program postane modul. Varijabla _name_ i njena vrijednost.
Dokumentiranje, testiranje i debagiranje.
- Složeni tipovi podataka. Znakovni nizovi (string). Operatori za rad sa znakovnim nizovima (+, *, in, not in). Ugrađene funkcije za rad sa znakovnim nizovima (len). Dohvat pojedinačnih znakova pomoću indeksa i pomoću petlje. Izdvajanje (isijecanje) dijela znakovnog niza. Ugrađene metode (upper, lower, find, replace).
- Liste. Kreiranje liste. Indeksi. Unos i ispis vrijednosti elemenata liste pomoću for petlje. Funkcija list i objekt range.
Liste i znakovni nizovi. Nepromjenljivi i promjenljivi tip podataka. Operatori za liste. Ugrađene funkcije za liste (len, min, max, sum).
- Ugrađene metode za liste (pop, sort, reverse). Pretvorba stringa u listu i liste stringova u jedan string.
Objektno orijentirano programiranje. Klase i objekti.
- Članovi klase: atributi i metode. Glavni potpornji OOP-a: enkapsulacija, polimorfizam, nasljeđivanje. Oblikovanje klasa u jeziku Python. Konstruktor (metoda _init_). Parametar self.
- Osnovni pojmovi umjetne inteligencije i strojnog učenja, te povijesni razvoj. Primjena Pythona u umjetnoj inteligenciji.
Ponavljanje i priprema za drugi kolokvij .
- Drugi kolokvij.
|
laboratorijske vježbe (L) | - Upoznavanje programskog okruženja IDLE. Interaktivni dio sučelja. Uređivački dio sučelja. Ključne riječi. Spremanje i pokretanje programa. Varijable, objekti i tipovi podataka. Naredba pridruživanja. Operatori i izrazi. Aritmetički operatori.
- Upis i ispis podataka (funkcije input i print). Formatirani ispis. Cjelobrojno dijeljenje i mod operator. Prioritet operatora.
Zamjena vrijednosti varijabli. Korištenje komentara.
- Relacijski operatori. Logički operatori not, and i or. Booleove vrijednosti True i False. Kombiniranje jednostavnih uvjeta u složene.
Naredbe grananja if, if…else i if..elif..else. Uvlačenje blokova naredbi.
- Programska petlja for. Mijenjanje vrijednost brojača. Funkcija range() sa jednim, dva i tri parametra. Korištenje vrijednosti varijable brojača unutar petlje.
- Uvjetno ponavljanje bloka naredbi - while petlja. Usporedba petlji for i while. Beskonačne petlje.
- Ponavljanje naredbi grananja i naredbi ponavljanja.
- Poštivanje preporuka za stil programiranja u Pythonu: uvlačenje bloka naredbi, duljina retka, prazni redovi.
Definiranje vlastitih funkcija. Ključna riječ def, imenovanje funkcije, parametri, naredba return. Dokumentacijski string.
Funkcija sa i bez parametara, funkcija koja vraća vrijednost, funkcija koja ne vraća vrijednost. Funkcija main().
- Funkcije – ponavljanje kroz složenije zadatke.
- Pokretanje programa naredbom Run=>Run Module (F5) i uvoženje programa naredbom import ili from import. Modul math. Modul sys i dodavanje u syspath puta do određene mape.
- Znakovni nizovi (string). Operatori +, *, in, not in. Ugrađena funkcija len(). Dohvat pojedinačnih znakova u uzlaznom i silaznom redoslijedu. Postupak isijecanja grupe znakova iz početnog znakovnog niza. Ugrađene metode (upper, lower, find, replace).
- Zadavanje liste nabrajanjem elemenata. For petlja i funkcije range(). Pojedinačni ispis svih članova liste uz pomoć for petlje. Ispis isječka liste. Stvaranje liste pomoću funkcije list.
- Mijenjanje vrijednosti pojedinih elemenata liste. Pridruživanje listi još jednog imena. Kopiranje liste. Operatori +, *, in i not in. Ugrađene funkcije za liste (len, min, max, sum). Ugrađene metode za liste (pop, sort, reverse).
- Oblikovanje klasa u jeziku Python. Imenovanje klase, atributi klase, definicija metoda. Kreiranje objekta klase. Pristup atributima i metodama.
- Ponavljanje znakovnih nizova i listi.
Primjer nadziranog učenja: Klasificiranje vrsta irisa.
|
kolokvij - teorija (KP) | - Cjeline U1-U8. Kolokvij se polaže pismeno. Prolaz na kolokviju: 50% minimalno, uvjetni prolaz je 40% (u ukupnom zbroju mora biti 50% oba kolokvija). U slučaju jednog nepoloženog kolokvija moguće su dvije nadoknade (ispravci) kolokvija na redovnim ispitnim rokovima (zimski rokovi za studente zimskog semestra, ljetni rokovi za studente ljetnog semestra).
- Cjeline U9-U14. Kolokvij se polaže pismeno. Prolaz na kolokviju: 50% minimalno, uvjetni prolaz je 40% (u ukupnom zbroju mora biti 50% oba kolokvija). U slučaju jednog nepoloženog kolokvija moguće su dvije nadoknade (ispravci) kolokvija na redovnim ispitnim rokovima (zimski rokovi za studente zimskog semestra, ljetni rokovi za studente ljetnog semestra).
- Nije definirano
|
ispit - teorija (IU) | - Ukupna ocjena oba kolokvija minimalno 50%. Konačnu ocjenu sačinjava kolokvij teorije (ili rezultat ispita) 80%, izlazni testovi laboratorijskih vježbi 13% te izlazni testovi predavanja 7%. U slučaju nepoloženog jednog kolokvija, student ima mogućnost popravka (ponavljanja) kolokvija dva puta. Ako u ta dva dodatna pokušaja ne uspije položiti kolokvij, ispada iz bolonjskog sustava kolokvija te polaže klasičan ispit cijelog gradiva.
Studenti koji nisu u sustavu kolokvija polažu kompletno gradivo kolegija odjednom.
Raspon ocjena: 0-50% nedovoljan 50-62,5% dovoljan 62,5-75% dobar 75-87,5% vrlodobar 87,5-100% izvrstan (odličan).
|
samostalno učenje (SU) | - testovi i kolokviji, konzultacije, samostalni rad u laboratoriju i samostalno učenje
|