Programiranje
ISVU: 266147•4 ECTS•Zimski semestar
Osnovne informacije
- Organizacijska jedinica
- Odsjek za informacijske i komunikacijske znanosti
- Satnica
- Predavanja: 30 sati
- Vježbe u praktikumu: 15 sati
Nastavnici
Cilj
Osposobiti studente za definiranje osnovnih koncepata i temeljnih pojmova u programiranju.
Osposobiti studente za analizu i rješavanje programerskih problema primjenom programerske metodologije i prakse.
Osposobiti studente za primjenu odabranog programskog jezika te radnog okruženja.
Osposobiti studente za strukturiranje programskoga koda i izradu programa primjenom odabranog programskog jezika i usvojene programerske metodologije i prakse.
Sadržaj
- Uvod u kolegij. Uvod u programiranje. Programski jezici i motivacija odabira. Razvojna okruženja i alati za pripremu i razvoj programa. Instalacija i rad sa sučeljem.
- Problemi i načini rješavanja programerskih problema. Uvod u algoritme, pseudokod i dijagram toka. Osnovni koncepti.
- Komentiranje programskog koda. Varijable i inicijalizacija. Izostanak vrijednosti. Operatori i numeričke operacije. Aritmetika. Skraćeni zapis operatora. Jednostavni i složeni izrazi. Prednost operatora. Napredni operatori.
- Tipovi podataka i uloga. Brojevni tipovi podataka. Logički tip podataka. Istinitosna tablica i usporedba. Logika i operacije. Znakovni nizovi. Ostali tipovi podataka. Prednosti i ograničenja tipova podataka. Konverzija i usporedba tipova. Brojevni sustavi i konverzija.
- Pravila za kodiranje. Ulazno-izlazne funkcije. Formatirani unos i ispis. Napredno formatiranje ispisa. Interakcija računala i čovjeka. Identifikacija, analiza i ispravljanje pogrešaka.
- Struktura programa i upravljanje tokom. Jednostavni program. Slijed. Grananje. Ispitivanje uvjeta i donošenje odluka. Jednostavno i složeno grananje. Pravila ugnježđivanja. Specijalne naredbe.
- Petlje i ponavljanje blokova. Vrste, uloga, sličnosti i razlike. Jednostavne i složene petlje. Pravila ugnježđivanja. Prekid i nastavak petlje.
- Rad s funkcijama. Pozivanje funkcije. Implementirane funkcije. Argumenti i parametri. Vraćanje vrijednosti. Rad s metodama. Rad s modulima.
- Znakovni nizovi. Osnovne operacije. Napredne operacije. Implementirane funkcije. Implementirane metode. Konverzija.
- Elementarne strukture podataka. Složeni tipovi podataka. Zbirke podataka. Sličnosti i razlike. Pravila. Konvencije.
- Liste. Osnovne operacije. Napredne operacije. Obuhvaćanje i izrezivanje. Sintaktički šećer. Funkcije i metode. Konverzija.
- N-torke. Osnovne operacije. Napredne operacije. Pakiranje i raspakiravanje. Funkcije i metode. Konverzija.
- Skupovi. Osnovne operacije. Napredne operacije. Funkcije i metode. Konverzija.
- Rječnici. Osnovne operacije. Napredne operacije. Obuhvaćanje. Sintaktički šećer. Funkcije i metode. Konverzija.
- Posebnosti programskoga jezika. Upute i stilovi pisanja programskoga koda. Savjeti. Standardne i proširene biblioteke. Upravljanje paketima. Izvoz programa. Korisni alati i paketi.
Ishodi učenja
- Definira temeljne pojmove i argumentirati osnovne koncepte u programiranju.
- Primjenjuje programersku metodologiju i prakse u postupku rješavanja programerskih problema.
- Planira potrebne resurse, alate i okruženja za rješavanje programerskih problema.
- Osmišljava strukturu programa.
- Izrađuje programe u odabranom programskom jeziku.
Metode podučavanja
Predavanja i vježbe na računalima koje kroz praktične primjere prate predavanja.
Metode ocjenjivanja
Pisani i usmeni ispit.
Obavezna literatura
- Programiranje: udžbenik. Ivan Dunđer. 2020.
- Bilješke s predavanja i radni materijali.
- Službena dokumentacija odabranog programskog jezika.
Dopunska literatura
- Python for Everybody: Exploring Data in Python 3. Charles Severance. CreateSpace Independent Publishing Platform, 2016.
- Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming. Eric Matthes. No Starch Press, 2023.
- Starting Out with Python. Tony Gaddis. Pearson, 2017.