Preskočite na sadržaj

Programiranje za web

Opće informacije

Nositelj predmeta: doc. dr. sc. Vedran Miletić
Naziv predmeta: Programiranje za web
Studijski program: Preddiplomski sveučilišni studij Informatika
Status predmeta: obvezatan za modul RPP
Godina: 3.

Bodovna vrijednost i način izvođenja nastave:

  • ECTS koeficijent opterećenosti studenata: 5
  • Broj sati (P+V+S): 30+30+0

Opis predmeta

Ciljevi predmeta

Usvajanje znanja o naprednim konceptima razvoja interaktivnih web aplikacija (prednostima i nedostatcima pojedinih pristupa razvoju -- proceduralni, objektno orijentirani, model-view-controller, model-view-viewmodel, uzorci dizajna), korištenja JavaScript tehnologija za izradu web aplikacija te usvajanje tehnologija i vještina potrebnih za samostalan rad web programera -- sigurnosni koncepti u web programiranju, testiranje i dokumentiranje koda, timski rad u sustavima za čuvanje verzija.

Uvjeti za upis predmeta

Odslušan predmet Uvod u programiranje za web.

Očekivani ishodi učenja za predmet

Očekuje se da nakon izvršavanja svih programom predviđenih obveza studenti budu sposobni:

I1. Izraditi bazu podataka korištenjem relacijskog sustava za upravljanje bazom podataka i poznavati mogućnosti njegove uporabe u web aplikacijama.
I2. Identificirati i analizirati različite pristupe razvoju web aplikacija.
I3. Izraditi web aplikaciju prema zadanim funkcionalnim i nefunkcionalnim zahtjevima korištenjem različitih pristupa (proceduralno, objektno orijentirano, model-view-controller, model-view-viewmodel).
I4. Identificirati prednosti i nedostatke pojedinih pristupa razvoju web aplikacija u smislu kvalitete programskog rješenja.
I5. Prepoznati pojedine uzorke dizajna uz identifikaciju prednosti implementacije pojedinog uzorka.
I6. Razviti skup testova i provoditi testiranje radi kontrole kvalitete programskog rješenja.
I7. Generirati dokumentaciju programskog rješenja.
I8. Primijeniti tehnike timskog rada u sustavima za čuvanje verzija.

Sadržaj predmeta

  • Objektno modeliranje web aplikacija i objektno programiranje u skriptnim programskim jezicima za web: klase, objekti, metode; konstruktori, nasljeđivanje, nadjačavanje. Uzorci dizajna u web aplikacijama.
  • Relacijski model podataka i relacijske baze podataka: definiranje strukturnih osobina tablica i baze podataka; tvorba tablica i baze podataka. Jezik SQL, tvorba sastavljenih SQL izraza (naredbi).
  • Dvosmjerna komunikacija između klijenta, poslužitelja (web aplikacije), interpretera i sustava baze podataka.
  • Kreiranje komunikacijskog sučelja za pristup web aplikaciji; kreiranje veze skripta i sustava baze podataka, prihvat i oblikovanje odgovora iz baze podataka. Upiti i mijenjanje sadržaja baze pomoću skriptnog programskog jezika. Skriptiranje korištenjem JavaScript tehnologija.
  • Sigurnost web aplikacija.
  • Pisanje i provođenje automatiziranih testova koda. Pisanje i generiranje dokumentacije koda.
  • Timski rad u sustavima za čuvanje verzija.

Vrsta izvođenja nastave

  • predavanja
  • seminari i radionice
  • vježbe
  • obrazovanje na daljinu
  • terenska nastava
  • samostalni zadaci
  • multimedija i mreža
  • laboratorij
  • mentorski rad
  • ostalo _______

Komentari

Nastava se izvodi u mješovitom obliku, kombinirajući rad u učionici, računalnom laboratoriju, individualni rad izvan učionice i e-učenje, koristeći sustav za udaljeno učenje te će se u izvedbenom planu objaviti detaljan raspored nastave s online lekcijama i predavanjima u učionici. Studenti će kod upisa kolegija biti upućeni na korištenje alata iz sustava.

Obveze studenata

Obaveze studenata u predmetu su:

  • Redovito pratiti aktivnosti predmeta u okviru sustava za udaljeno učenje i pohađati nastavu kada se odvija obliku predavanja, auditornih i/ili laboratorijskih vježbi.
  • Pristupiti kontinuiranim provjerama znanja (teorijskim i praktičnim kolokvijima).
  • Osmisliti, izraditi i prezentirati rješenje praktičnog projektnog zadatka.
  • Pristupiti završnom ispitu i na njemu postići barem 50% bodova.

Detaljan način razrade bodovanja na predmetu te pragovi prolaza za pojedine aktivnosti koje se boduju biti će navedeni u izvedbenom planu predmeta.

Praćenje[^1] rada studenata

  • Pohađanje nastave: 2
  • Aktivnost u nastavi:
  • Seminarski rad:
  • Eksperimentalni rad:
  • Pismeni ispit:
  • Usmeni ispit:
  • Esej:
  • Istraživanje:
  • Projekt:
  • Kontinuirana provjera znanja: 1
  • Referat:
  • Praktični rad: 2
  • Portfolio:

Postupak i primjeri vrednovanja pojedinog ishoda učenja tijekom nastave i na završnom ispitu

  • Pisana ili online provjera znanja (teorijski kolokviji) u kojoj student pokazuje razumijevanje teorijskih koncepata (I1-I8).
  • Praktična provjera znanja (praktični kolokviji) u kojoj student u zadanom programskom jeziku na računalu radi implementaciju dane web aplikacije (I1-I7).
  • Praktični projektni zadatak u kojem student u timu primjenjuje stečene vještine i znanja s ciljem rješavanja problemskih zadataka kao što je razvoj cjelovite web aplikacije na timsko odabranoj temi prema unaprijed zadanim uputama i kriterijima za vrednovanje (I1-I8).

Obvezna literatura (u trenutku prijave prijedloga studijskog programa)

  1. Wiggins, A. The Twelve-Factor App. (Heroku, 2017). Dostupno online: 12factor.net
  2. Kamran, A. Backend Developer Roadmap. (roadmap.sh, 2022). Dostupno online: roadmap.sh/backend
  3. Server-side website programming. (MDN Web Docs, 2022). Dostupno online: developer.mozilla.org/en-US/docs/Learn/Server-side
  4. Skripte, prezentacije i ostali materijali za učenje dostupni u e-kolegiju.

Dopunska literatura (u trenutku prijave prijedloga studijskog programa)

  1. Fowler, M., Rice, D., Foemmel, M., Hieatt, E., Mee, R., Stafford, R. Patterns of Enterprise Application Architecture. (Addison-Wesley, 2002).
  2. Fowler, M. Refactoring. (Addison-Wesley, 2018).
  3. Humble, J. & Farley, D. Continuous Delivery. (Addison-Wesley, 2010).
  4. McConnel, S. Rapid Development. (Microsoft Press, 1996).
  5. McConnel, S. Code Complete. (Microsoft Press, 2004).
  6. Brooks, F. J. The Mythical Man-Month. (Addison-Wesley, 1995).
  7. Hoffman, K. Beyond the 12 Factor App. (O’Reilly, 2016).
  8. Chacon, S. Pro Git. (Apress, 2014). Dostupno online: git-scm.com/book/en/v2

Broj primjeraka obavezne literature u odnosu na broj studenata koji trenutno pohađaju nastavu na predmetu

Naslov Broj primjeraka Broj studenata
The Twelve-Factor App Dostupno online 30
Backend Developer Roadmap Dostupno online 30
Server-side website programming Dostupno online 30

Načini praćenja kvalitete koji osiguravaju stjecanje izlaznih znanja, vještina i kompetencija

Predviđa se periodičko provođenje evaluacije s ciljem osiguranja i kontinuiranog unapređenja kvalitete nastave i studijskog programa (u okviru aktivnosti Odbora za upravljanje i unapređenje kvalitete Odjela za informatiku). U zadnjem tjednu nastave provodit će se anonimna evaluacija kvalitete održane nastave od strane studenata. Provest će se i analiza uspješnosti studenata na predmetu (postotak studenata koji su položili predmet i prosjek njihovih ocjena).

[^1]: Važno: Uz svaki od načina praćenja rada studenata unijeti odgovarajući udio u ECTS bodovima pojedinih aktivnosti tako da ukupni broj ECTS bodova odgovara bodovnoj vrijednosti predmeta. Prazna polja upotrijebiti za dodatne aktivnosti.