SVEUČILIŠTE U RIJECI
FAKULTET INFORMATIKE I DIGITALNIH TEHNOLOGIJA
Ulica Radmile Matejčić 2, Rijeka
Akademska godina 2021./2022.
DINAMIČKE WEB APLIKACIJE 2
Studij: Preddiplomski studij informatike
Godina i semestar: 3. godina, 6. semestar
Studij: Preddiplomski dvopredmetni studij informatike
Godina i semestar: 3. godina, 6. semestar
Web stranice predmeta: group.miletic.net/hr/nastava/kolegiji/DWA2/ moodle.srce.hr/2021-2022/
ECTS bodovi: 4 (3)
Nastavno opterećenje: 2 + 2 (2 + 1)
Nositelj predmeta:
doc. dr. sc. Vedran Miletić
E-mail: vmiletic@inf.uniri.hr
Web stranica: vedran.miletic.net
Ured: Ulica Radmile Matejčić 2, O-520
Vrijeme konzultacija: utorkom od 14 do 16 sati ili po dogovoru e-mailom
Asistent:
Milan Petrović
E-mail: milan.petrovic@inf.uniri.hr
Web stranica: portal.uniri.hr/Portfelj/4166
Ured: Ulica Radmile Matejčić 2, O-522
Vrijeme konzultacija: utorkom od 14 do 16 sati ili po dogovoru e-mailom
Razvijanje općih i specifičnih kompetencija (znanja i vještina)
- usvajanje naprednijih znanja o metodama programiranja dinamičkih web aplikacija i servisa u programskim jezicima i okvirima za web
- usvajanje tehnika korištenja sustava za upravljanje relacijskim bazama podataka (kao što su MySQL, PostgreSQL i druge koje koriste upitni jezik SQL) u procesu izrade dinamičkih web aplikacija i servisa
Korespodentnost i korelativnost programa
Sadržaj ovog kolegija izravno se nadovezuje na sadržaj kolegija Dinamičke web aplikacije 1, a intenzivno koristi znanja iz kolegija Objektno orijentirano programiranje, Uvod u baze podataka, Operacijski sustavi 1, Operacijski sustavi 2 i Računalne mreže 2.
Okvirni sadržaj predmeta
Relacijski model podataka i jezik SQL: definiranje tipova podataka; primarni, sekundarni i vanjski ključ; indeksiranje. Temeljna načela oblikovanja podataka. Tvorba baze podataka i tvorba tablica.
Konfiguracija baze podataka u dinamičkoj web aplikaciji ili servisu. Tvorba sastavljenih izraza. Metode rada sa bazom podataka. Transakcije. Količina podataka i učinkovitost mrežnih aplikacija i servisa. Rukovanje sa vremenom za izvršenje operacija. Zaštita integriteta baze podataka.
Objektno orijentirano programiranje u programskim jezicima za web: klase, objekti, metode; konstruktori, nasljeđivanje, nadjačavanje. Izrada dinamičkog web sjedišta uz uporabu klasa i ponovno iskorištavanje koda; korištenje okosnice. Objektno-relacijsko preslikavanje.
Sigurnost i zaštita podataka: identifikacija korisnika, ograničavanje pristupa i operacija; specifične ovlasti korisnika u dinamičkoj web aplikaciji ili servisu.
Strukturiranje i oblikovanje koda. Rukovanje greškama; strukturne greške, sintaktičke greške, logičke greške, greške pri izođenju aplikacija i servisa. Testiranje, metode traženja i ispravljanja grešaka (debugging). Uporaba prototipa i dokumentiranje.
Dominantni sustavi za izradu dinamičkih web aplikacija i servisa: ASP.NET Core (C#), Ruby on Rails (Ruby), Django (Python), Laravel (PHP), Spring (Java), Express (Node.js), Flask (Python), Lumen (PHP), Play (Java, Scala), Phoenix (Elixir), Sinatra (Ruby), Vapor (Swift), beego (go), Actix (Rust), Drogon (C++), Oat++ (C++); React, Angular, Vue, Svelte; usporedni prikaz specifičnosti, prednosti i ograničenja pojedinih tehnologija.
Oblici provođenja nastave i način provjere znanja
Predavanja, vježbe, samostalni zadaci, konzultacije.
Popis literature potrebne za studij i polaganje ispita
- Kappel, G., Prýýll B., Reich, S., Retschitzegger, W. Web Engineering: The Discipline of Systematic Development of Web Applications. (Wiley, 2006).
- Fowler, M., Rice, D., Foemmel, M., Hieatt, E., Mee, R., Stafford, R. Patterns of Enterprise Application Architecture. (Addison-Wesley, 2002).
- Bendoraitis, A. Web Development with Django Cookbook, Second Edition. (Packt Publishing, 2016).
- Wiggins, A. The Twelve-Factor App. (Heroku, 2017). Dostupno na: 12factor.net
- Skripte, prezentacije i ostali materijali za učenje dostupni u e-kolegiju.
Popis literature koja se preporučuje kao dopunska
- Welling, L., Thompson, L. PHP and MySQL Web Development, Fifth Edition. (Addison-Wesley, 2017).
- Ullman, L. PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide, Fourth Edition. (Peachpit Press, 2011).
- Tailwind CSS Documentation. Dostupno na: tailwindcss.com
- Vue.js Documentation. Dostupno na: vuejs.org
Način praćenja kvalitete i uspješnosti izvedbe predmeta
Kroz ustrojeni sustav osiguranja kvalitete Fakulteta informatike i digitalnih tehnologija.
Mogućnost izvođenja na stranom jeziku
Nema.
R. BR. | OČEKIVANI ISHODI |
---|---|
1. | integrirati elemente strukture sustava dinamičke web aplikacije i definirati dvosmjerne komunikacije između elemenata toga sustava (korisnički agent, dio web aplikacije koji se izvodi na strani klijenta (front-end), dio web aplikacije koji se izvodi na strani poslužitelja (back-end), PHP interpreter, sustav za upravljanje bazom podataka) |
2. | složiti relacijsku bazu podataka korištenjem danog sustava za upravljanje i povezati je dinamičkom web aplikacijom ili servisom |
3. | odabrati odgovarajuće dijelove okosnice za razvoj pojedinih značajki web aplikacije ili servisa |
4. | stvoriti web aplikaciju ili servis prema zadanim funkcionalnim i nefunkcionalnim zahtjevima |
5. | klasificirati i analizirati različite pristupe razvoju web aplikacija i servisa |
6. | odabrati i primijeniti tehnike za dokumentiranje i testiranje koda web aplikacija ili servisa |
7. | odabrati i primijeniti tehnike za traženje i ispravljanje grešaka web aplikacije ili servisa |
8. | odabrati i primijeniti odgovarajući pristup analizi performansi web aplikacije ili servisa |
AKTIVNOSTI I OCJENJIVANJE STUDENATA
VRSTA AKTIVNOSTI | ECTS | ISHODI UČENJA | SPECIFIČNA AKTIVNOST | METODA PROCJENJIVANJA | BODOVI MAX. |
---|---|---|---|---|---|
Pohađanje nastave | 1 | 1--8 | Prisutnost studenata | Popisivanje (evidencija) | 0 |
Pisani ispit | 0,5 | 1, 5 | Online test na Merlinu | 0--20 bodova, ovisno o stupnju točnosti i potpunosti | 20 |
Kontinuirana provjera znanja | 2 | 2, 3, 4, 7 | Dvije kontrolne zadaće | 0--25 bodova za svaki kontrolnu zadaću, ovisno o stupnju točnosti i potpunosti | 50 |
Završni ispit | 0,5 | 1--8 | Implementacija web aplikacije ili servisa i prezentacija projekta | 0--30 bodova, ovisno o stupnju točnosti i potpunosti | 30 |
UKUPNO | 4 | 100 |
Obveze i vrednovanje studenata
Pohađanje nastave
Nastava se odvija prema mješovitom modelu u kombinaciji klasične nastave u učionici i online nastave uz pomoć sustava za e-učenje Merlin (moodle.srce.hr/2021-2022/).
Pisani ispit
Tijekom semestra pisat će se online test na Merlinu koji će uključivati pitanja iz dijela gradiva predavanja i njemu će student moći skupiti maksimalno 20 bodova.
Kontinuirana provjera znanja
Tijekom semestra pisat će se dvije kontrolne zadaće koje će uključivati praktične zadatke iz gradiva vježbi. Na svakoj kontrolnoj zadaći student će moći skupiti najviše 25 bodova. Da bi ostvario ocjenske bodove na pojedinoj kontrolnoj zadaći, student mora ostvariti barem 50% bodova od ukupnog broja bodova na toj kontrolnoj zadaći.
U unaprijed danom terminu krajem semestra moguće je ispravljati najviše jednu kontrolnu zadaću; bodovi ostvareni na ispravku zamjenjuju bodove ostvarene na odgovarajućoj kontrolnoj zadaći. Ispravku kontrolne zadaće mogu, ako žele, pristupiti i studenti koji su ostvarili 50% i više bodova na kontrolnoj zadaći.
Završni ispit
Tijekom semestra studenti će u grupama po dvoje ili troje odabrati projekt koji će izraditi i predati neposredno prije ispitnog roka, a zatim na završnom ispitu obraniti usmenim putem. Projekt se sastoji se od izrade web aplikacije ili servisa prema zadanim funkcionalnim i nefunkcionalnim zahtjevima, testova i pripadne dokumentacije. Vrednovat će se točnost i potpunost predanog programskog koda i pripadne dokumentacije te opis načina rješavanja danog problema. Da bi student mogao pristupiti usmenoj obrani projekta, mora barem jednom doći na konzultacije s djelomično izrađenim projektom.
Ocjena iz kolegija
Kontinuirani rad i završni ispit
Kontinuiranim radom tijekom semestra na prethodno opisani način studenti mogu ostvariti najviše 70 ocjenskih bodova, a da bi mogli pristupiti završnom ispitu moraju ostvarili 50% i više bodova (minimalno 35).
Studenti koji su skupili najmanje 35 ocjenskih bodova, mogu pristupiti završnom ispitu.
Završni ispit nosi udio od maksimalno 30 ocjenskih bodova, a smatra se položenim samo ako na njemu student postigne minimalno 50%-ni uspjeh (ispitni prag je 50% uspješno riješenih zadataka).
Ukoliko je završni ispit prolazan, skupljeni bodovi će se pribrojati prethodnima i prema ukupnom rezultatu formirati će se pripadajuća ocjena. U suprotnom, student ima pravo pristupa završnom ispitu još 2 puta (ukupno do 3 puta).
Konačna ocjena
Donosi se na osnovu zbroja svih bodova prikupljenih tijekom izvođenja nastave prema sljedećoj skali:
- A -- 90%--100% (ekvivalent: izvrstan 5)
- B -- 75%--89,9% (ekvivalent: vrlo dobar 4)
- C -- 60%--74,9% (ekvivalent: dobar 3)
- D -- 50%--59,9% (ekvivalent: dovoljan 2)
- F -- 0%--49,9% (ekvivalent: nedovoljan 1)
Ispitni rokovi
Redoviti:
- 28. lipnja 2022.
- 12. srpnja 2022.
Izvanredni:
- 30. kolovoza 2022.
- 13. rujna 2022.
RASPORED NASTAVE -- ljetni (VI) semestar ak. god. 2021./2022.
Nastava će se na predmetu odvijati u ljetnom semestru prema sljedećem rasporedu:
- predavanja: konzultativno
- vježbe: konzultativno
Tj. | Datum | Vrijeme | Prostor | Tema | Nastava | Izvođač |
---|---|---|---|---|---|---|
8. | 19. 04. 2022. | 16:00--19:15 | O-365 | 1. kontrolna zadaća | I | Milan Petrović |
13. | 24. 05. 2022. | 16:00--19:15 | O-365 | Online test na Merlinu | I | doc. dr. sc. Vedran Miletić |
14. | 31. 05. 2022. | 16:00--19:15 | O-365 | 2. kontrolna zadaća | I | Milan Petrović |
15. | 7. 06. 2022. | 16:00--19:15 | O-365 | Ispravak kontrolne zadaće. | I | Milan Petrović |
P -- predavanja
V -- vježbe
I -- pisani ili usmeni ispit, kontinuirana provjera znanja
Napomena: Moguće su izmjene rasporeda nastave. Za nove verzije rasporeda potrebno je pratiti obavijesti u e‑kolegiju.