Luigi Libero Lucio Starace, Ph.D.

Assistant Professor @ Università degli Studi di Napoli Federico II, Italy.

Web Technologies

Web Technologies is a 6 ECTS course in the B.Sc. in Computer Science program, introducing students to web application programming fundamentals.

The goal of the course is to provide a comprehensive introduction to fundamental concepts, technologies and tools involved in building modern web applications.

Course contents include:

  • Introduction to web-based distributed systems, overview of the HTTP protocol;
  • The three core web technologies:
    • HTML Living Standard;
    • CSS: introduction, selectors, the cascade algorithm, inheritance, modern layouts (flexbox, grid), media queries, introduction to responsive design;
    • JavaScript: EcmaScript6+, JavaScript in a Browser Environment (DOM, modifying the DOM, web storage API), asynchronism, promises, network requests (fetch API);
  • Static vs Dynamic Web: Introduction to Server-side programming, session tracking;
  • JavaScript in a server environment: Node.js;
  • Web Frameworks: general concepts, the Express framework, implementation of web applications and REST APIs using Express.
  • Content Management Systems (CMSs). Headless CMSs. Introduction to GraphQL.
  • Introduction to TypeScript
  • Front-end tooling. Sass, bundling, minification, examples with the Vite tool.
  • Single-page applications;
  • Frontend frameworks: Angular;
  • Web Security: Common attacks and how to mitigate them (XSS, CSRF, SQL Injections, Session Poisoning, Session highjacking, Session Fixation);
  • Software Engineering for the Web, End-to-End Testing with Playwright.