- English
Sadržaj predmeta
Objektno programiranje
- Šifra:
- 15965
- Kratica:
- OBPROG
- Visoko učilište:
- Fakultet strojarstva i brodogradnje
- ECTS bodovi:
- 5.0
- Opterećenje:
- 15(V) + 30(P)
- Nositelji:
-
izv. prof. dr. sc. Vladimir Milić
- Izvođači:
-
izv. prof. dr. sc. Vladimir Milić (V, P)
dr. sc. Matija Krznar (V)
- Opis predmeta:
- Ciljevi predmeta: Naučiti osnove objektnog programiranja u interaktivnom i GUI okolišu. Nakon položenog kolegija, studenti će bit sposobni razvijate vlastite programe u Pythonu. Ovo iskustvo dat će studentima dobru priliku da računalom rješavaju mnoge vježbe i zadaće drugih kolegija. Studenti će također imati dostatno razumijevanje i pregled Python jezika i njegovih znanstvenih modula (numpy/scipy/opencv) da mogu osobno naći i drugu potrebnu informaciju. Oni će bit sposobni lako naučiti slične programske jezike (Ruby, Java) i svladati iduće kolegije koji primjenjuju programski okoliš, kao što su Matlab/Scilab i R. Uvjeti za upis predmeta i ulazne kompetencije koje su potrebne za predmet: Položen kolegij Mathematika II. Obaveze studenata: Redoviti dolazak na predavanja i vježbe u računalnim učionicama. Rješavanje nekoliko seminara preko Scriptrunner sustava. Konzultacije prema potrebi. Ocjenjivanje i vrednovanje rada studenata tijekom nastave i na završnom ispitu: 30 % ocjena seminara i vježbi 30 % pismeni ispit / kolokviji 40 % usmeni ispit Načini praćenja kvalitete koji osiguravaju stjecanje izlaznih znanja, vještina i kompetencija: Seminari i domaće zadaće prate se preko Scriptrunner sustava: https: //fsb.scriptrunner.carnet.hr/ Nakon uspješno savladanog kolegija student će moći (ishodi učenja): rješavati tehničke probleme programiranjem u objektnom jeziku Python pisati programski kod s GUI sučeljem Predavanja 1. Algoritam+struktura podataka=program; interaktivni i skriptni okoliš 2. Tipovi podataka; varijable, operatori, izrazi 3. Tijek programa: grananja i petlje; uvjetne naredbe 4. Složeni tipovi podataka: liste, nterci, rječnici 5. Funkcije ugrađene i korisničke 6. Argumenti i parametri funkcija; prostor imena 7. Klase: gniježdenje podataka, metode; tvorba objekata 8. Nasljeđivanje, višestruko nasljeđivanje 9. Posebnosti: iteratori i generatori; dekorators, regularni izrazi 10. Dohvaćanje iznimki. Rad s datotekama. Moduli. 11. Osnove GUIa: Python Tkinter 12. Numerički Python: numpy & scipy moduli 13. Matrična aritmetika u Pythonu 14. Python grafika: Matplotlib 15. Optimizacija: scipy.optimize i CVXOPT Vježbe 1. Pojam podatka, algoritma, programa. 2. Upoznavanje s Python interpreterom i alatima za pisanje programa. Primjena Pythona kao kalkulatora. Primjena Pythona za rješavanje osnovnih matematičkih izraza. 3. Kroz niz primjera pokazati temelje programiranja u Pythonu: for i while petlji, ifelse uvjeti. 4. Primjeri kreiranja i manipuliranja listama, ndimenzionalnim poljima ntercima i rječnicima. 5. Primjeri primjene osnovnih ugrađenih funkcija. Kreiranje vlastitih funkcija. 6. Kreiranje funkcija više ulaznih argumenata i više izlaznih veličina. Lokalne i globalne varijable. 7. Primjeri kreiranja klasa iz funkcija za rješavanje raznih matematičkih i inženjerskih problema. 8. Kroz niz primjera naučiti stvaranje familije klasa primjenom svojstva nasljeđivanja. 9. Primjeri kreiranja posebnih objekata: iretatori i generatori; dekoratori, regularni izrazi. 10. Kroz niz matematičkih i inženjerskih primjera pokazati tehnike dohvaćanja iznimki, te naučiti rad s datotekama i modulima. 11. Izrada osnovnog korisničkog grafičkog sučelja primjenom paketa Tkinter. 12. Rješavanje problema aproksimacije, interpolacije i numeričkog integriranja primjenom paketa interpolate i integrate iz modula numpy i scipy. 13. Rješavanje osnovnih problema iz linearne algebre primjenom paketa linalg. 14. Primjena Matplotlib za crtanje i uređivanje raznih vrsta grafova. 15. Primjena scipy.optimize za minimizaciju funkcije više varijabli, te primjena CVXOPT za rješavanje problema konveksne optimizacije.
- Jezici izvođenja nastave:
-
Hrvatski
- Obavezna literatura:
-
1. Essert, M.: Python programiranje, Zavodski digitalni udžbenik, Zagreb 2010.
2. https: //www.fsb.unizg.hr/usb_frontend/?action=category&site_id=12&category_id=83
- Preporučena literatura:
-
3. Mark Lutz, Learning Python, Fourth Edition, O"Reilly, 2009.
4. H.P. Langtangen, A Primer on Scientific Programming with Python, e-ISBN 978-3-642-02475-7, Springer-Verlag Berlin Heidelberg 2009
- Preduvjeti za upis predmeta:
Matematika II (položen)
- Predmet u nastavnom programu:
-
Šifra studija Naziv studija Razina studija Semestar izvođenja Obavezni/Izborni 23 Mehatronika i robotika prijediplomski 3 obavezni * predmet se ne predaje u tom semestru
Legenda
- P - Predavanja
- V - Vježbe