Produkcijski razvoj u Pythonu
Prikazani su podaci za akademsku godinu: 2024./2025.
Nositelji
Opis predmeta
Vještina uvodi upoznavanje s korištenjem interpretera u produkciji i velikim projektima. Prvi dio kolegija će pokriti arhitekturne izazove koji podrazumijevaju dugoročno održivu organizaciju koda, i specijalne izazove poput reaktivnog programiranja i podrške za praćenje evolucije modela. Drugi dio kolegija će pokriti arhitekturu interpretera, i pragmatično korištenje prednosti i izazove nametnute njegovim ograničenjima. Treći dio razmatra opcije i tehnike za efikasno proširenje interpretera modulima niže razine. Sve teme su na kraju zaokružene projektnim zadatkom koji će na praktični i zorni način demonstrirati teorijska izlaganja.
Studijski programi
Sveučilišni diplomski
Vještine - dipl.studij_FER3 - 1. semestar (1. semestar) Vještine - dipl.studij_FER3 - 3. semestar (3. semestar) Vještine - dipl.studij_FER3 - 1. semestar (1. semestar) Vještine - dipl.studij_FER3 - 3. semestar (3. semestar)[FER3-HR] Računarstvo - studij
Vještine - dipl.studij_FER3 - 1. semestar
(1. semestar)
Vještine - dipl.studij_FER3 - 3. semestar
(3. semestar)
Ishodi učenja
- opisati separaciju odgovornosti komponenti
- opisati organizaciju velikih projekata
- primijeniti asinhrono programiranje
- opisati paralelno izvršavanje u interpreter okolini
- demonstrirati nadogradnju intepretera sučeljima niže razine
- opisati model nasljeđivanja i metaprogramiranje
- primijeniti programiranje vođeno događajima i reaktivno programiranje
Oblici nastave
Predavanja
Predavanja i pozvana predavanja.
Način ocjenjivanja
Kontinuirana nastava | Ispitni rok | |||||
---|---|---|---|---|---|---|
Vrsta provjere | Prag | Udio u ocjeni | Prag | Udio u ocjeni | ||
Seminar/Projekt | 50 % | 100 % | 0 % | 0 % |
Tjedni plan nastave
- Arhitektura: razvoj vođen događajima, stohastične “UI” akcije
- Arhitektura: MVC, “undo”/”redo”
- Arhitektura: održavanje velikih količina izvornih kodova, pytest, predlaganje tipova, statički provjere
- Napredni Python: AST, prevođenje, glavna petlja interpretera, GC
- Napredni Python: MRO, metaprogramiranje
- Napredni Python: GIL, višedretvenost, višeprocesnost, asinkronost
- Proširivanje Pythona - C, ctypes, ref count, C++
- Međuispit
- Međuispit
- Proširivanje Pythona - numpy, scipy, efikasni računalni cjevovodi
- Proširivanje Pythona - Rust, PyO3
- Praktični Projekt- faza 1
- Praktični Projekt- faza 1
- Praktični Projekt- faza 1
- Završni ispit
Literatura
Izvedba
ID 252446
Zimski semestar
3 ECTS
R0 Engleski jezik
R1 E-učenje
24 Predavanja
0 Seminar
0 Auditorne vježbe
2 Laboratorijske vježbe
0 Konstrukcijske vježbe
0 Vježbe tjelesnog odgoja
Ocjenjivanje
izvrstan
vrlo dobar
dobar
dovoljan