Web programming

Course description

Lectures:

Introduction

  1. World Wide Web, rise of internet, client-server architecture, communication protocols and HTTP.
  2. Basic web standards: HTML (DHTML, …), CSS, basics of web design

Client-side technologies

  1. JavaScript, event handling, DOM, contemporary web browser specifics, forms, input validation, JQuery
  2. HTML5 Canvas
  3. Asynchronous requests and Ajax.
  4. Single Page applications.

Server technologies

  1. An overview of server technologies, scripts, dynamic generation of pages, HTTP GET and POST requests, cookies, etc.
  2. Web applications in JavaScript technology

Other

  1. XML technologies, XML syntax and schemes. Viewing of XML documents. Models and languages: DOM, SAX, XSLT, XPath, XQuery, Open XML.
  2. Database access from application server
  3. REST Web services. Service oriented architecture. Programming distributed applications.
  4. Internet security. Identity management, user profiling.
  5. Web 2.0. Semantic web.

Tutorials:

Laboratory project: programming of distributed full stack web application, divided into individual phases (static pages, client-side code, server-side code, services). The students will develop the projects that will be introduced with the final presentation.

Objectives and competences

The main course objective is to introduce the students of computer and information science the technologies, connected with the full stack development of web applications (on the server and the client-side). The students shall be equipped with knowledge to independently develop such applications.

The competences that students gain are:

  • knowledge of static technologies HTML, CSS, XML,
  • knowledge of JavaScript programming language for client-side development
  • knowledge of Node.js technology (JavaScript proramming languae) for server-side development,
  • knowledge of MongoDB NoSQL database
  • web service development,
  • employment of the model-view-controller architecture,
  • consideration of security principles.

Learning and teaching methods

Lectures with practical examples/demonstrations, making of laboratory project (guided by the assistant).

Intended learning outcomes

After the completion of the course a student will be able to:

  • understand the most common technologies for web application development,
  • understand and employ MVC architectural style in web application development,
  • use REST to access database,
  • develop full stack application on the client and server side
  • use online sources and documentation in web application development,
  • transform server-based application to single-page-application by analytical approach,
  • use version control system and support tools for collaboration in teams,
  • use ICT, written reports and communication and organization skills in team collaboration.

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

Study materials

  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