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ćenje1 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)
- Wiggins, A. The Twelve-Factor App. (Heroku, 2017). Dostupno online: 12factor.net
- Kamran, A. Backend Developer Roadmap. (roadmap.sh, 2022). Dostupno online: roadmap.sh/backend
- Server-side website programming. (MDN Web Docs, 2022). Dostupno online: developer.mozilla.org/en-US/docs/Learn/Server-side
- Skripte, prezentacije i ostali materijali za učenje dostupni u e-kolegiju.
Dopunska literatura (u trenutku prijave prijedloga studijskog programa)
- Fowler, M., Rice, D., Foemmel, M., Hieatt, E., Mee, R., Stafford, R. Patterns of Enterprise Application Architecture. (Addison-Wesley, 2002).
- Fowler, M. Refactoring. (Addison-Wesley, 2018).
- Humble, J. & Farley, D. Continuous Delivery. (Addison-Wesley, 2010).
- McConnel, S. Rapid Development. (Microsoft Press, 1996).
- McConnel, S. Code Complete. (Microsoft Press, 2004).
- Brooks, F. J. The Mythical Man-Month. (Addison-Wesley, 1995).
- Hoffman, K. Beyond the 12 Factor App. (O'Reilly, 2016).
- 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).
-
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. ↩