- English
Sadržaj predmeta
Objektno programiranje
- Šifra:
- 224994
- Kratica:
- PD-1266
- Visoko učilište:
- Fakultet strojarstva i brodogradnje
- ECTS bodovi:
- 4.0
- Opterećenje:
- 30(P) + 15(V)
- Nositelji:
-
izv. prof. dr. sc. Vladimir Milić
- Izvođači:
-
izv. prof. dr. sc. Vladimir Milić (P, V)
doc. dr. sc. Juraj Benić (V)
- Opis predmeta:
- Ciljevi predmeta: Naučiti osnove objektnog programiranja u interaktivnom i GUI okolišu. Nakon položenog kolegija, studenti će bit sposobni razvijati 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: Uvjet za izlazak na ispit iz kolegija Objektno programiranje: odslušan i položen ispit iz kolegija Osnove programiranja. Obaveze studenata: Redoviti dolazak na predavanja i vježbe u računalnim učionicama. Konzultacije prema potrebi. Ocjenjivanje i vrednovanje rada studenata tijekom nastave i na završnom ispitu: 50 % pismeni ispit / kolokviji 50 % usmeni ispit Predavanja 1. Uvod: ciljevi kolegija i koncepti objektno orijentiranog programiranja; Algoritam+struktura podataka=program. 2. Pythonov interaktivni i skriptni okoliš: temeljni elementi programskog jezika Python, tipovi podataka (varijable, operatori, izrazi), kontrola tijek programa. Složeni tipovi podataka: liste, nterci, rječnici. 3. Funkcije: ugrađene i korisničke. 4. Argumenti i parametri funkcija; prostor imena. 5. Klase: gniježdenje podataka, metode; tvorba objekata. 6. Nasljeđivanje, višestruko nasljeđivanje. 7. Posebnosti: iteratori i generatori; dekoratori, regularni izrazi. 8. Prvi kolokvij. 9. Dohvaćanje iznimki. Rad s datotekama. Moduli. 10. Preopterećenje operatora. Apstraktne klase 11. Matrična algebra i Pythonov modul numpy za numeričku analizu. 12. Pythonova biblioteka scipy za znanstveno računanje: rješavanje problema interpolacije i aproksimacije, diferencijalne jednadžbe, optimizacija. Python grafika: Matplotlib. 13. Osnove GUIa: Python Tkinter. 14. Optimizacija koda programa. 15. Drugi kolokvij. Vježbe 1. Upoznavanje s Python interpreterom i alatima za pisanje programa. Primjena Pythona kao kalkulatora. Primjena Pythona za rješavanje osnovnih matematičkih izraza. 2. Kroz niz primjera pokazati temelje kontrole tijeka programa u Pythonu: for i while petlje, ifelse uvjeti. 3. Primjeri kreiranja i manipuliranja listama, ndimenzionalnim poljima ntercima i rječnicima. 4. Primjeri primjene osnovnih ugrađenih funkcija. Kreiranje vlastitih funkcija. 5. Kreiranje funkcija više ulaznih argumenata i više izlaznih veličina. Lokalne i globalne varijable. 6. Primjeri kreiranja klasa iz funkcija za rješavanje raznih matematičkih i mehatroničkih problema. 7. Kroz niz primjera naučiti stvaranje familije klasa primjenom svojstva nasljeđivanja. 8. Primjeri kreiranja posebnih objekata: iteratori i generatori; dekoratori, regularni izrazi. 9. Kroz niz primjera pokazati tehnike dohvaćanja iznimki, te naučiti rad s datotekama i modulima. 10. Primjeri preopterećenja operatora. 11. Rješavanje osnovnih problema iz linearne algebre primjenom paketa linalg. 12. Na primjerima iz mehatronike pokazati rješavanje problema aproksimacije, interpolacije i numeričkog integriranja primjenom paketa interpolate i integrate iz modula numpy i scipy. 13. Primjena scipy.optimize za minimizaciju funkcije više varijabli. 14. Primjena Matplotlib za crtanje i uređivanje raznih vrsta grafova. Izrada osnovnog korisničkog grafičkog sučelja primjenom paketa Tkinter 15. Primjeri analize koda u svrhu optimizacije programa.
- Jezici izvođenja nastave:
-
Hrvatski
- Obavezna literatura:
-
M. Essert (2007): Python osnove
M. Essert; T. Žilić; V. Milić (2017): Objektno programiranje
J. T. VanderPlas (2017): Python data science handbook: essential tools for working with data
- Preporučena literatura:
-
J. Guttag (2016): Introduction to Computation and Programming Using Python: With Application to Understanding Data, 2nd Edition
H. P. Langtangen (2016): A Primer on Scientific Programming with Python, 5th Edition
D. Phillips (2015): Python 3 Object-oriented Programming, 2nd Edition
M. Lutz (2010): Programming Python: Powerful Object-Oriented Programming, 4th Edition
L. F. Martins (2014): IPython Notebook Essentials Compute scientific data and execute code interactively with NumPy and SciPy
- Ishodi učenja:
1. Naučiti i razumjeti koncepte objektnog programiranja.
2. Koristiti objektno orijentirani programski jezik Python za razvoj vlastitih programa.
3. Rješavati niz osnovnih mehatroničkih problema primjenom odgovarajućih znanstvenih i inženjerskih modula i paketa programskog jezika Python.
4. Pisati programski kod s GUI sučeljem.
- Preduvjeti za polaganje predmeta:
Osnove programiranja (položen)
- Predmet u nastavnom programu:
-
Šifra studija Naziv studija Razina studija Semestar izvođenja Obavezni/Izborni 1140 Mehatronika i robotika prijediplomski 2 obavezni * predmet se ne predaje u tom semestru
Legenda
- P - Predavanja
- V - Vježbe