Razvoj web-aplikacija

Ovo su web stranice kolegija Razvoj web-aplikacija na diplomskom sveučilišnom studiju Računarstvo i matematika. Kolegij se održava u zimskom semestru, a nastava se sastoji od dva sata predavanja i jednog sata vježbi svakog tjedna.

Ovaj kolegij nosi 5 ECTS bodova, a očekuje se osnovno poznavanje tema obrađenih na kolegiju Mreže računala s preddiplomskog studija.

Elementi ocjenjivanja

  • domaće zadaće i aktivnost na nastavi - 50 bodova
  • projektni zadatak i usmeni ispit - 50 bodova

Domaće zadaće i aktivnost na nastavi
Tijekom semestra će biti zadane 4 zadaće u obliku programskih zadataka. Svaka od tih zadaća nosi po 10 bodova. Aktivnost na nastavi nosi ukupno 10 bodova. Za prolaznu ocjenu, student treba prikupiti minimalno 15 bodova iz ovog segmenta ocjenjivanja.

Projektni zadatak
Tijekom prve polovice semestra studenti će odabrati timski projektni zadatak (za grupe od 2 do 4 studenta). Zadatak se sastoji od izrade složenije web-aplikacije, prema temi dogovorenoj s predmetnim nastavnikom. Obrana projektnog zadatka odvija se u sklopu prvog ili drugog ispitnog roka, a u njoj trebaju sudjelovati svi članovi tima. Nužan uvjet za polaganje ispita je uspješno obranjen projektni zadatak.

Usmeni ispit
Za izlazak na usmeni ispit nužno je predati projektni zadatak. Usmeni ispit sastoji se od odgovaranja na pitanja o projektu i implementacije manjih promjena u projektu.

Zaključivanje ocjene
Kolegij su položili oni studenti koji su uspješno obranili projektni zadatak, te ukupno prikupili barem 50 bodova od čega barem 15 bodova iz domaćih zadaća i aktivnosti na nastavi.

Bodovi se u ocjenu pretvaraju na sljedeći način:

  • 50-64 bodova -- dovoljan (2)
  • 65-79 bodova -- dobar (3)
  • 80-89 bodova -- vrlo dobar (4)
  • 90-100 bodova -- izvrstan (5)

Sadržaj kolegija

  • Programiranje na strani web servera pomoću razvojnog okvira Flask u Pythonu. Dinamičko generiranje web stranica.
    • Rute i parametri ruta. HTML predlošci (Jinja).
    • HTML forme. Tipovi zahtjeva (request) i odgovora (response).
    • Cookie i session.
    • Rad s MySQL bazama. Objektno-relacijsko mapiranje (ORM).
    • Struktura moderne web-aplikacije (MVC).
  • Programiranje na strani web klijenta pomoću JavaScripta. Izrada aktivnih web stranica.
    • Osnove JavaScripta kao programskog jezika.
    • HTML Document Object Model (DOM).
    • Ugrađene JavaScript biblioteke: Geolocation/Canvas/Local Storage.
    • Asinkroni Javascript: Fetch API, Ajax. JSON.
    • Osnovne ideje izgradnje UI pomoću JavaScripta: Vue.