Preskoči na sadržaj

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

  1. Kappel, G., Prýýll B., Reich, S., Retschitzegger, W. Web Engineering: The Discipline of Systematic Development of Web Applications. (Wiley, 2006).
  2. Fowler, M., Rice, D., Foemmel, M., Hieatt, E., Mee, R., Stafford, R. Patterns of Enterprise Application Architecture. (Addison-Wesley, 2002).
  3. Bendoraitis, A. Web Development with Django Cookbook, Second Edition. (Packt Publishing, 2016).
  4. Wiggins, A. The Twelve-Factor App. (Heroku, 2017). Dostupno na: 12factor.net
  5. Skripte, prezentacije i ostali materijali za učenje dostupni u e-kolegiju.

Popis literature koja se preporučuje kao dopunska

  1. Welling, L., Thompson, L. PHP and MySQL Web Development, Fifth Edition. (Addison-Wesley, 2017).
  2. Ullman, L. PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide, Fourth Edition. (Peachpit Press, 2011).
  3. Tailwind CSS Documentation. Dostupno na: tailwindcss.com
  4. 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

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.