WEB APPLICATIONS AND TECHNOLOGIES

Academic year
2024/2025 Syllabus of previous years
Official course title
TECNOLOGIE E APPLICAZIONI WEB
Course code
CT0142 (AF:491729 AR:264960)
Modality
On campus classes
ECTS credits
6
Degree level
Bachelor's Degree Programme
Educational sector code
ING-INF/05
Period
2nd Semester
Course year
2
Where
VENEZIA
Moodle
Go to Moodle page
This course provides in-depth insights into the cutting-edge technologies that every modern web developer is supposed to master. After an initial high-level introduction to the protocols and patterns empowering the contemporary web, students will be guided to many of the technologies commonly involved in developing rich web applications. Based on JavaScript, a language that has become the de-facto standard for every web developer, the course provides the skills necessary to create a full-stack "MEAN" WEB application using Node.js, MongoDB, Express, and Angular.
Finally, we discuss how web technologies are now effectively used for the agile development of software previously confined to native applications, like mobile applications and classical GUI programs for desktop environments.
Knowledge:
- Basics of operation of the HTTP protocol
- Authentication and authorization management techniques in WEB applications
- Frameworks and technologies to develop web and mobile applications;

Skills:
- Know how to use cutting-edge frameworks and technologies to develop web and mobile applications;
- Define the functionality of an application and implement it by defining REST-style APIs
- Manage authentication in a web application
- Implement MEAN full-stack web solutions using JavaScript and TypeScript
Object-oriented programming and networking.
HTTP and beyond
----------------------------
- Evolution of the World Wide Web: SPA and full-stack frameworks
- The HTTP protocol
- Cookies and Sessions
- JSON Web Token (JWT)
- WebSocket
- REST-style APIs
- Docker containers

Languages for the WEB
----------------------------
- JavaScript
- TypeScript


Node.js server-side JavaScript runtime
----------------------------
- History and overview
- The NPM package manager
- Async non-blocking IO model and event-driven programming
- Interfacing with the operating system
- HTTP APIs


Middleware
----------------------------
- Express


Front-end
----------------------------
- Angular


Optional insights
----------------------------
- Apache Cordova
- Electron framework
Flanagan, David. JavaScript: The Definitive Guide: Master the World's Most-Used Programming Language. Taiwan, O'Reilly Media, 2020.
Simon Holmes, "Getting MEAN with Mongo, Express, Angular, and Node", Second edition, Manning Publications, 2019. ISBN 9781617294754
Eric Elliott, "Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Modern JS Libraries", O'Reilly Media, 2014. ISBN-10: 1491950293
Fernando Doglio, "Pro REST API Development with Node.js", Apress, 2015. ISBN-10: 1484209184
Steve Fenton, "Pro Typescript", Apress, 2014. ISBN 978-1-4302-6790-4
Adam Freeman, "Pro Angular", Apress 2017. ISBN 978-1-4842-2307-9
Development of a software project and a written essay that will be further discussed during an oral exam. The exam is designed to test the student ability to develop a modern web application and evaluate her/his understanding of the theoretical aspects related to web technologies.

The grading scale (how grades will be assigned) is defined as follows:

A. Scores in the range of 18-22 will be assigned when:
- sufficient knowledge and applied understanding of the programme;
- limited ability to implement software solutions the given problems.
- sufficient communication skills, especially regarding specific terminology used in computer vision.
B. Scores in the range of 23-26 will be assigned when:
- good knowledge and applied understanding of the programme;
- fair ability to implement software solutions to the given problems.
- adequate communication skills, especially regarding specific terminology used in computer vision.
C. Scores in the range of 27-30 will be assigned when:
- good knowledge and applied understanding of the programme;
- reasonable ability to implement software solutions to the given problems.
- fully appropriate communication skills, especially regarding specific terminology used in computer vision.
D. Honors will be awarded in the presence of an excellent understanding of web-related technologies and their implementation in a complex software project
oral
The course is composed of frontal lessons, typically comprising practical case studies to better understand all the presented concepts and technologies.
Together with the referral texts, additional material will be provided by means of PowerPoint slides and source code.
English
Definitive programme.
Last update of the programme: 27/01/2025