Course details

This course is divided into two major parts.

  • Part A: Client side
  • Part B: Server side

The first part is about developing applications for the web browser, client side.

The second part is about developing applications with the web server, server side.

Each part consists of work representing 7.5 credit.

The course material is divid into these parts and further divided and grouped with each assignment. Each part has three assignments.

Part A: Client side

Main focus is to develop applications for the web browser.

  • Web technologies, an orientation in the technologies that underlie programming with web-based techniques.
  • HTTP protocol and web servers.
  • The browser (structure, security models, developer tools).
  • Programming with JavaScript in the browser via classes and modules.
  • The JavaScript engine's concurrency model.
  • The relationship between HTML, CSS and JavaScript.
  • Optimization of web applications on the client.
  • Orientation on accessibility in web applications.
  • DOM (navigation, selection and change).
  • Handling of browser events.
  • Browser history management.
  • Overview of browser APIs and practical use of selected APIs.
  • Asynchronous communication.
  • Data transfer format with emphasis on JSON.
  • Progressive Web Applications (PWAs).

This part has the following assignments.

  • HTML & CSS
  • JavaScript in the browser
  • JavaScript SPA

Part B: Server side

Main focus is to develop applications for the web server.

  • The Node.js platform and its asynchronous programming model.
  • The Express framework with routing, models and views. Persistent storage in document database using an ODM (Object Document Mapper).
  • CRUD functionality.
  • RESTful API.
  • Common attack vectors according to OWASP.
  • Management of session variables on the web server.
  • Secure handling of credentials.
  • Authorization with JSON Web Token.
  • Implementation according to the HTTP protocol
  • Real-time communication with Web Socket and "Serversent events".
  • Deployment of web server applications in production environment for the Node.js platform.

This part has the following assignments.

  • Node client
  • Node Express CRUD Server
  • Virtual host with node server