Spletno programiranje

Opis predmeta

Predavanja:

Uvod

  1. Delovanje spleta; razvoj interneta, arhitektura klient-strežnik; komunikacijski protokol HTTP
  2. Osnovni spletni standardi: HTML (DHTML…), CSS; osnove oblikovanja

Tehnologije na strani odjemalcev

  1. JavaScript, rokovanje z dogodki, DOM, specifike posameznih brskalnikov, obrazci, validacija vnosov, JQuery
  2. HTML5 Canvas
  3. asinhnroni zahtevki z Ajax
  4. aplikacije na eni strani

Strežniške tehnologije

  1. Pregled osnov strežniških tehnologij; delovanje skript, dinamično generiranje strani, HTTP GET in POST zahtevki, piškotki (cookies)
  2. Spletne aplikacije v tehnologiji JavaScript.

Ostalo

  1. XML tehnologije. Sintaksa XML. Sheme. Pregledovanje dokumentov XML. Modeli in jeziki: DOM, SAX, XSLT, XPath, XQuery, Open XML.
  2. Dostop aplikacijskega strežnika do podatkovne baze
  3. REST spletne storitve. Storitveno usmerjena arhitektura. Pisanje porazdeljenih aplikacij.
  4. Varnost na spletu. Upravljanje z identitetami. Profiliranje uporabnikov.
  5. Web 2.0. Semantični splet.

Vaje:

Laboratorijski projekt izdelave celostne rešitve porazdeljene spletne aplikacije, razdeljen v posamezne faze (statične strani, kode na strani odjemalca, strežniška koda, storitve) in samostojno delo na projektih z zaključno predstavitvijo študentov.

Cilji in kompetence

Cilj predmeta je študentom računalništva in informatike predstaviti tehnologije povezane z razvojem spletnih aplikacij z vidika celostne rešitve, tako na strani odjemalca, kot strežnika in usposabljanje študentov za samostojen razvoj tovrstnih aplikacij.

Predvidene kompetence:

  • poznavanje statičnih tehnologij HTML, CSS, XML,
  • poznavanje programskega jezika JavaScript za razvoj na strani odjemalca,
  • poznavanje tehnologije Node.js (programski jezik JavaScript) za razvoj na strani strežnika,
  • poznavanje NoSQL podatkovne baze MongoDB,
  • razvoj z uporabo spletnih storitev,
  • snovanje aplikacij v arhitekturi model-pogled-kontrola,
  • razvoj z upoštevanjem principov varnosti.

Metode poučevanja in učenja

Predavanja s praktičnimi demonstracijami, izvajanje laboratorijskega projekta pod mentorstvom asistenta.

Predvideni študijski rezultati

Po uspešnem zaključku tega predmeta bo študent:

  • poznal in razumel osnovne tehnologije za razvoj spletnih aplikacij,
  • razumel in znal uporabiti MVC arhitekturni slog pri razvoju spletnih aplikacij,
  • uporabil REST dostop do podatkovne baze,
  • razvil celovito spletno rešitev, tako na strani odjemalca, kot strežnika,
  • uporabil spletne vire in dokumentacijo za pomoč pri razvoju spletnih aplikacij,
  • z analitičnim pristopom pretvoril strežniško aplikacijo v aplikacijo na eni strani, ki se izvaja na odjemalcu,
  • uporabljal sistem za obvladovanje verzij in podporna orodja za delo v skupini,
  • uporabljal IKT, pisno sporočanje in komunikacijske in organizacijske spretnosti pri sodelovanju v skupini.

Reference nosilca

  1. ZRNEC, Aljaž, LAVBIČ, Dejan. Social network aided plagiarism detection. British journal of educational technology, ISSN 0007-1013, Jan. 2017, vol. 48, no. 1, str. 113-128.
  2. MATEK, Tadej, ZRNEC, Aljaž, LAVBIČ, Dejan. Learning SQL with artificial intelligent aided approach. International journal of information and education technology : IJIET, ISSN 2010-3689, Nov. 2017, vol. 7, no. 11, str. 803-808.
  3. FIDLER, Miloš, LAVBIČ, Dejan. Research about measurability of information quality. Knowledge management in organizations : proceedings, (Lecture notes in business information processing, ISSN 1865-1348, 224), Springer, 2015, str. 272-281.
  4. LAVBIČ, Dejan, BAJEC, Marko. Employing semantic web technologies in financial instruments trading : Dejan Lavbič and Marko Bajec. International journal of new computer architectures and their applications, ISSN 2220-9085. 2012, vol. 2, no. 1, str. 167-182.
  5. LAVBIČ, Dejan, LAJOVIC, Iztok, KRISPER, Marjan. Facilitating information system development with panoramic view on data. Computer science and information systems, ISSN 1820-0214, 2010, vol. 7, no. 4, str. 737-767.

Celotna bibliografija je dostopna na SICRISu: http://sicris.izum.si/search/rsr.aspx?lang=slv&id=18907

Temeljni viri in literatura

  1. Robert W. Sebesta: Programming the World Wide Web, Pearson Education, 2014.
  2. Paul J. Deitel, Harvey M. Deitel, Abbey Deitel et al.: Internet & World Wide Web: How to program, Pearson, 201
  3. Marijn Haverbeke: Eloquent JavaScript: A Modern Introduction to Programming, No Starch Press, 2014.
  4. Simon Holmes: Getting MEAN with Mongo, Express, Angular, and Node, Manning Publications, 2015.

Bodi na tekočem

Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana

E:  dekanat@fe.uni-lj.si T:  01 4768 411