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.