Opće informacije
Naziv predmeta Web programiranje na strani poslužitelja
Studijski program Preddiplomski stručni studij Računarstva
Status predmeta Obvezatan
Godina 2. (4. semestar)
Bodovna vrijednost i način izvođenja nastave ECTS 9
Sati (P+V+S) 15+45+0
Opis predmeta

Ciljevi predmeta

Student nakon završetka ovog predmeta mora imati jasnu sliku razlika između najzastupljenijih programskih
jezika današnjice (PHP, C#, Python, javascript, Ruby, …), uz naglasak na koncepte static i dynamic typinga, te
funkcionalnog i proceduralnog pristupa. Student mora imati “hands-on” poznavanje barem jednog modernog
serverskog MVC frameworka. Očekuje se da student detaljno poznaje koncepte testiranja (unit, functional,
acceptance, …) Neophodno je poznavanje koncepata dependency injectiona koje se može demonstrirati kako kod
samog dizajna aplikacije, tako i kroz korištenje odabranog DI container alata na praktičnom primjeru.
Student mora poznavati osnove barem jedne agilne razvojne metodologije (npr. Scrum) i moći je primjeniti u
praksi na razvoju aplikacije u smislu requirements analize, izrade funkcionalne specifikacije, planiranja sprintova
i rađenje procjena, evaluacije urađenog i upravljanja dinamikom izrade projekta, rada u timovima, itd.

Očekivani ishodi učenja

  • Izraditi jednostavnije serverske aplikacije od početka do kraja, uključujući scaffolding, tj. stvaranje
    osnovne strukture projekta, komunikaciju putem odgovarajućeg object-relational mappera, apliciranje
    naprednijih dizajn patterna za razdvajanje aplikacije na slojeve zadužene za prezentaciju,
    implementaciju poslovne logike, pristup bazi podataka, i ostalo po potrebi.
  • Kreirati dizajn baze podataka i implementirati bazu podataka koja odgovara potrebama serverske
    aplikacije
  • Dizajnirati i razviti barem jednu netrivijalnu web aplikaciju kojom dokazuje poznavanje gore navedenih
    koncepata, bilo samostalno ili kao dio tima, i biti u stanju jasno obrazložiti i prezentirati globalnu
    arhitekturu, kao i pristup na kojemu se temelji implementacija svih dijelova aplikacije.
  • Napisati i izvoditi unit testove uz postizanje odgovarajuće pokrivenosti koda testovima, uporabu
    koncepata poput spies, mocks, fakes, stubs, te korištenje alata za kontinuiranu integraciju.
  • Izraditi analizu zahtjeva.

Sadržaj

Programski jezici današnjice: PHP, C#, Python, javascript, Ruby. MVC framework. koncept dependency injectiona. Izrada analize zahtjeva, testiranje aplikacija.