Programska potpora komunikacijskim sustavima
Opis predmeta
Programski jezici za web programiranja (npr. HTML5, Java Script, PHP, CSS). Asinhroni Web u stvarnom vremenu, razmjeran rast Weba i kvaliteta usluge, REST arhitekturalni stil, RESTful API oblikovanje, HTTP, AJAX i protokol websocket, Semantički web, Mikroservisi. Priključak i utičnica, programsko sučelje aplikacijske utičnice (API). Korisnički poslužitelj datagram protokola (UDP) i klijent. Poslužitelj i klijent protokola za kontrolu prijenosa (TCP). Protokol prijenosa hiperteksta (HTTP) i protokol za prijenos datoteka (FTP). Primjeri mrežnog programiranja u programskim jezicima Java i Python.
Oblikovanje osnovnih funkcija DBMS-a. Oblikovanje relacijske baze podataka. Sučelje aplikacijskog programiranja za relacijske baze podataka, objektno-relacijska preslikavanja. Programski jezik SQL (definicija podataka, formulacija upita, ograničenja, integritet), selekcije, projekcije, složeni upiti, agregiranje i grupiranje.
Ishodi učenja
- objasniti načela rada asinkronog Weba u stvarnom vremenu
- analizirati načela izgradnje RESTful API Web sustava
- analizirati primjenjivost UDP i TCP protokola za oblikovanje pojedinih vrsta aplikacija
- objasniti osnovne funkcije DMBS sustava i načela oblikovanja relacijske baze podataka
- analizirati aplikacijska programska sučelja za operacije nad relacijskim bazama podataka u različitim programskim jezicima
- analizirati računalnu složenost i vrijeme izvođenja različitih upita u programskom jeziku SQL
Oblici nastave
Predavanja
Nastava na predmetu organizirana je u dva nastavna ciklusa. Prvi nastavni ciklus sastoji se od 7 tjedana nastave i međuispita dok drugi ciklus sadrži 6 tjedana nastave i završni ispit. Nastava se provodi kroz 15 tjedana s tjednim opterećenjem od 2 školska sata.
LaboratorijStudenti samostalno rješavaju odabrane praktične zadatke za laboratorijske vježbe.
Tjedni plan nastave
- Programski jezici za izradu web-aplikacija (npr. HTML5. Javascript. PHP. CSS), Ograničenja web-platformi, Arhitekture i protokoli weba
- Web-standardi, Web-usluge za krajnjeg korisnika i za programski pristup, Programska potpora u obliku usluge
- Asinkroni web i web za usluge u stvarnom vremenu, Svojstvo razmjernog rasta i kvaliteta usluga na webu, Arhitekturni stil REST
- Oblikovanje programskog sučelja prema načelima arhitekturnog stila REST, Protokoli HTTP. AJAX i Websocket, Semantički web, Mikrousluge
- """Port"" i ""socket"". Aplikacijsko programsko sučelje: Socket (API). Naziv i adresa", """User Datagram Protocol"" (UDP): poslužitelj i klijent. Aplikacijski protokoli temeljeni na protokolu UDP"
- """Transmission Control Protocol ""(TCP): poslužitelj i klijent. Konkurentnost. Aplikacijski protokoli temeljeni na protokolu TCP. ""Hypertext Transfer Protocol"" (HTTP) i ""File Transfer Protocol"" (FTP). Jednostavni HTTP poslužitelj", "Opcije sučelja ""Socket"". Sučelje ""Raw""", "Demoni i super-server ""inetd""", "Multipleksiranje ulazno izlaznih operacija. Dretve", "Sve odredišno i više odredišno adresiranje i aplikacije"
- "Aplikacije temeljene na protokolu SCTP (""Stream Control Transmission Protocol"")", "Sigurnosna pitanja i smjernice za programiranje", "Primjeri mrežnog programiranja u Javi i Pythonu"
- Međuispit
- (en) Design of core DBMS functions (e.g., query mechanisms, transaction management, buffer management, access methods), Arhitektura baza i nezavisnost podataka, Sigurnost u bazama podataka
- Načela modeliranja podataka, Konceptualni modeli (ER modeli. UML dijagrami), Tablični modeli, Relacijski model podataka, Dimenzijski model, Modeli ključ-vrijednost. graf. zajednica stupaca. dokument, Objektno orijentirani model podataka, Polustrukturirani model (izražen kao XML. XML schema. JSON), Oblikovanje prostornih i vremenskih podataka, Oblikovanje podataka u semantičkom webu (RDF. OWL)
- Preslikavanje konceptualnog modela u relacijski model, Entitet i integritet stranog ključa, Relacijska algebra i relacijski predikatni račun, Oblikovanje relacijske baze podataka, Funkcijske ovisnosti
- Dekompozicija shema. pridruživanje bez gubitaka informacija. dekompozicija uz očuvanje ovisnosti, Mogući ključevi i nadključevi, Normalne forme, Pohrana i pretraživanje teksta u relacijskim bazama podataka, Izgradnja programskog sučelja s relacijskim bazama podataka, Objektno-relacijsko preslikavanje
- SQL (definicija podataka. stvaranje upita. izmjena podataka. integritetska ograničenja), Selekcija, Projekcija, Selekcija - projekcija - pridruživanje, Agregacija i grupiranje
- Podupiti, Okidači, Pohranjene funkcije i procedure, Funkcije prozora. rekurzija. pivotiranje
- Završni ispit
Studijski programi
Sveučilišni diplomski
Izborni predmeti (2. semestar)[FER3-HR] Automatika i robotika - profil
Izborni predmeti
(2. semestar)
[FER3-HR] Elektroenergetika - profil
Izborni predmeti
(2. semestar)
Izborni predmeti
(2. semestar)
[FER3-HR] Elektronika - profil
Izborni predmeti
(2. semestar)
Izborni predmeti
(2. semestar)
Izborni predmeti
(2. semestar)
Jezgreni predmeti profila
(2. semestar)
Izborni predmeti
(2. semestar)
[FER3-HR] Računalno inženjerstvo - profil
Izborni predmeti
(2. semestar)
Izborni predmeti
(2. semestar)
[FER3-HR] Računarska znanost - profil
Izborni predmeti
(2. semestar)
[FER3-HR] Znanost o mrežama - profil
Izborni predmeti
(2. semestar)
[FER3-HR] Znanost o podacima - profil
Izborni predmeti
(2. semestar)
Literatura
(.), L. Richardson, S. Ruby (2007.), RESTful Web Services, O'Reilly Media,
(.), M. Masse (2011.), REST API Design Rulebook, O'Reilly Media,
(.), Elliotte Rusty Harold (2013), Java Network Programming, O'Reilly Media; Fourth Edition edition,
(.), Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom (2008), Database Systems: The Complete Book, Pearson,
Predavanja
Laboratorijske vježbe
Za studente
Izvedba
ID 222729
Ljetni semestar
5 ECTS
R1 Engleski jezik
R1 E-učenje
30 Predavanja
0 Seminar
0 Auditorne vježbe
26 Laboratorijske vježbe
0 Konstrukcijske vježbe
Ocjenjivanje
izvrstan
vrlo dobar
dobar
dovoljan