Skoči na glavni sadržaj

IT - Uvod u programiranje

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
NastavniciNositelji: Dragana Čulina, pred.
PreduvjetiNema
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)
  1. 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.
  2. 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().
  3. 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.
  4. Naredba grananja if..elif..else. Naredbe ponavljanja. Naredba for. Naredba while.
  5. Naredbe break i continue. Ugniježđene petlje. Napredniji programski primjeri.
  6. 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.
  7. 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.
  8. Prvi kolokvij. Moduli. Naredbe import i from … import. Modul math.
  9. 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.
  10. 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).
  11. 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).
  12. Ugrađene metode za liste (pop, sort, reverse). Pretvorba stringa u listu i liste stringova u jedan string. Objektno orijentirano programiranje. Klase i objekti.
  13. Članovi klase: atributi i metode. Glavni potpornji OOP-a: enkapsulacija, polimorfizam, nasljeđivanje. Oblikovanje klasa u jeziku Python. Konstruktor (metoda _init_). Parametar self.
  14. Osnovni pojmovi umjetne inteligencije i strojnog učenja, te povijesni razvoj. Primjena Pythona u umjetnoj inteligenciji. Ponavljanje i priprema za drugi kolokvij .
  15. Drugi kolokvij.
laboratorijske vježbe (L)
  1. 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.
  2. Upis i ispis podataka (funkcije input i print). Formatirani ispis. Cjelobrojno dijeljenje i mod operator. Prioritet operatora. Zamjena vrijednosti varijabli. Korištenje komentara.
  3. 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.
  4. Programska petlja for. Mijenjanje vrijednost brojača. Funkcija range() sa jednim, dva i tri parametra. Korištenje vrijednosti varijable brojača unutar petlje.
  5. Uvjetno ponavljanje bloka naredbi - while petlja. Usporedba petlji for i while. Beskonačne petlje.
  6. Ponavljanje naredbi grananja i naredbi ponavljanja.
  7. 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().
  8. Funkcije – ponavljanje kroz složenije zadatke.
  9. 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.
  10. 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).
  11. 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.
  12. 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).
  13. Oblikovanje klasa u jeziku Python. Imenovanje klase, atributi klase, definicija metoda. Kreiranje objekta klase. Pristup atributima i metodama.
  14. Ponavljanje znakovnih nizova i listi. Primjer nadziranog učenja: Klasificiranje vrsta irisa.
kolokvij - teorija (KP)
  1. 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).
  2. 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).
  3. Nije definirano
ispit - teorija (IU)
  1. 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)
  1. testovi i kolokviji, konzultacije, samostalni rad u laboratoriju i samostalno učenje

Ulica Vjekoslava Klaića 7, 10000 Zagreb, tel. 01/3764200 fax. 01/3764264