Web programming

Subject 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.

The subject is taught in programs

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.

Teaching and learning methods

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

Expected study results

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.

Basic sources and literature

  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.

Stay up to date

University of Ljubljana, Faculty of Electrical Engineering Tržaška cesta 25, 1000 Ljubljana

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