Vai al contenuto principale
Oggetto:
Oggetto:

Servizi Web

Oggetto:

Web Services

Oggetto:

Anno accademico 2022/2023

Codice dell'attività didattica
INF0002
Docente
Liliana Ardissono (Docente)
Corso di studi
[008707] Laurea in Informatica
Anno
3° anno
Periodo didattico
Primo semestre
Tipologia
A scelta dello studente
Crediti/Valenza
6 CFU - Numero di ore - Number of hours: 24 (in aula) + 30 (in laboratorio)
SSD dell'attività didattica
INF/01 - informatica
Modalità di erogazione
Tradizionale
Lingua di insegnamento
Italiano
Modalità di frequenza
Facoltativa
Tipologia d'esame
Scritto più orale obbligatorio
Prerequisiti

Si richiede una buona conoscenza delle basi di dati, dei sistemi operativi, dell'analisi e della progettazione object-oriented e dei fondamenti della programmazione distribuita. Gli studenti e le studentesse devono inoltre avere la capacità; di scrivere, compilare e verificare la correttezza di programmi in Java.
Insegnamenti propedeutici (forniscono le competenze in ingresso): Basi di Dati, Sistemi Operativi, Interazione Uomo-Macchina, Programmazione II, Algoritmi e Strutture Dati, Programmazione III.
The student is requested to have a good knowledge of data base systems, operating systems, object-oriented analysis and design, foundations of distributed programming. Moreover the student must be able to write, compile and verify the correctness of Java programs.
Preparatory courses (providing the expected entry skills): Basi di Dati, Sistemi Operativi, Interazione Uomo-Macchina, Programmazione II, Algoritmi e Strutture Dati, Programmazione III.

Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

Questo insegnamento concorre agli obiettivi formativi specifici dell'ambito delle conoscenze di approfondimento del Corso di Laurea in Informatica (L31) e fa parte dell’area Informatica caratterizzante. È mirato a fornire alle studentesse e agli studenti solide conoscenze di base sulle metodologie per la progettazione e lo sviluppo di applicazioni web a tre livelli. L'obiettivo è fornire la conoscenza di base necessaria per la progettazione e lo sviluppo di applicazioni Web interattive, accessibili da terminali desktop e mobili, e caratterizzate da una logica applicativa mediamente complessa.

Nell'insegnamento verranno acquisite competenze teoriche e pratiche su: (i) lo sviluppo di pagine web statiche e dinamiche responsive e di Single Page Application; (ii) la programmazione lato server. Inoltre, l'insegnamento fornirà conoscenza relativa alla rappresentazione di dati con XML, data l'importanza per l'interoperabilità tra applicazioni software.

In compliance with the training objectives of the Computer Science Bachelor Program (Corso di Laurea in Informatica (L31)) and being part of the area “Informatica caratterizzante”, this course aims at providing students with robust basic knowledge about the methodologies for the design and development of three-tier Web-based applications. The objective is to provide students with the basic knowledge they need to design and develop interactive, Web-based applications that can be accessed from desktop and mobile terminals and have medium-complexity business logic.

The course covers both theoretically and practically: (i) the development of static and dynamic responsive web pages, and of Single Page Applications; (ii) server-side programming. Moreover, the course presents data representation and interpretation with XML, given its importance for the interoperability of software applications.

Oggetto:

Risultati dell'apprendimento attesi

CONOSCENZA E CAPACITÀ DI COMPRENSIONE. Acquisizione di conoscenze teoriche e applicative relative a:

  • architetture di riferimento per lo sviluppo di applicazioni web
  • modelli software più usati per gestire applicazioni interattive di media complessità
  • tecnologie attualmente utilizzate per l’implementazione delle applicazioni (back-end e interfacce utente web)

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE. Acquisizione della capacità di applicare le conoscenze teoriche relative alle tematiche di cui sopra.

AUTONOMIA DI GIUDIZIO. Acquisizione di consapevole autonomia di giudizio con riferimento alla progettazione e realizzazione di applicazioni web.

ABILITÀ COMUNICATIVE. Acquisizione di competenze e strumenti per la comunicazione nella forma scritta e orale, in lingua italiana, unitamente all'utilizzo di linguaggi formali.

CAPACITÀ DI APPRENDIMENTO. Acquisizione di capacità autonome di apprendimento e di
autovalutazione della propria preparazione, atte ad intraprendere gli studi successivi con un alto
grado di autonomia.

KNOWLEDGE AND UNDERSTANDING. Acquisition of theoretical and applicative skills concerning:

  • reference architectures to develop web-based applications
  • largely applied software models to manage interactive applications having medium complexity
  • current technologies for the implementation of software applications (back-and and web-based user interfaces)

APPLYING KNOWLEDGE AND UNDERSTANDING. Acquisition of the ability to apply the above-listed theoretical and applicative skills.

MAKING JUDGMENTS. Acquisition of aware judgment autonomy concerning the design and implementation of web-based software applications.

COMMUNICATION SKILLS. Acquisition of oral and written communication skills and expertise, in the Italian language, as well as the ability to use formal languages.

LEARNING SKILLS. Acquisition of independent learning skills and the ability to self-evaluation of one's own preparation, apt to undertake further studies with a high degree of autonomy.

Oggetto:

Modalità di insegnamento

L’insegnamento è diviso in una parte di teoria e una sperimentale.

  • Per la parte di teoria sono previste lezioni integrate da casi di studio e da esercitazioni volte ad illustrare l’applicazione pratica dei concetti appena studiati. Le esercitazioni, strutturate come sequenze di esercizi specifici, permettono di mettere in pratica i concetti e le metodologie illustrate nelle lezioni teoriche su esempi concreti. I temi introdotti durante le esercitazioni corredano e integrano le conoscenze derivanti dalla parte teorica (knowledge and understanding) e permettono alle studentesse e agli studenti di familiarizzare con le metodologie e tecnologie introdotte, anche investigando soluzioni alternative (applying knowledge and understanding). 
  • Per la parte sperimentale, lo sviluppo del progetto SW, che si effettua in piccoli gruppi (composti da al più 3 persone), permette di consolidare le conoscenze teoriche e il lavoro in team in un caso realistico di media complessità. Il progetto SW consiste di un’applicazione SW a tre livelli con interfaccia web, che va oltre la complessità del tipico esercizio proposto nelle esercitazioni. La progettazione e lo sviluppo del progetto SW permettono di allenare l'autonomia di giudizio (making judgments) nella scelta delle implentazioni da realizzare, analizzando in forma critica le informazioni acquisite nella parte teorica dell'insegnamento. La preparazione del progetto SW è anche volta a stimolare la capacità comunicativa degli studenti e delle studentesse che sono invitati/e a illustrare verbalmente le soluzioni adottate (communication skills).

Le attività pratiche sono svolte a calcolatore, utilizzando ambienti di sviluppo professionali. Si consiglia caldamente la frequenza costante alle lezioni teoriche e alle esercitazioni. È inoltre fondamentale iscriversi alla pagina dell'insegnamento su I-Learn (Interazione Uomo Macchina e Tecnologie Web - parte tecnologica), in cui sono messi a disposizione il materiale didattico di supporto e i riferimenti a materiale pubblico utilizzabile per approfondire le proprie conoscenze in modo autonomo (learning skills).

La comunicazione con le studentesse e gli studenti avviene attraverso il forum dell'insegnamento su I-Learn e via email l'account istituzionale del docente.

The course is divided into a theory part and an experimental part.

  • The theory part includes lectures supplemented by case studies and experimental lessons designed to illustrate the practical application of the concepts just studied. The experimental lessons, structured as sequences of specific tasks, allow the concepts and methodologies presented in the theory lecture to be put into practice on concrete examples. The topics introduced during the experimental lessons accompany and complement the knowledge derived from the theoretical part (knowledge and understanding) and allow students to familiarize themselves with the methodologies and technologies introduced, including the investigation of alternative solutions (applying knowledge and understanding).
  • For the experimental part, the development of the SW project in small groups (consisting of at most 3 people) allows the consolidation of theoretical knowledge and teamwork in a realistic case of medium complexity. The SW project consists of a three-tier SW application having a web user interface, which goes beyond the complexity of the typical exercise proposed in the experimental lessons. The design and development of the SW project allow training in the autonomy of judgment (making judgments) in choosing the solutions to be implemented, and critically analyzing the information acquired in the theoretical part of the course. The preparation of the SW project is also aimed at stimulating the communication skills of the students, who are invited to verbally illustrate the solutions adopted (communication skills).

The experimental activities are carried out computer-based, using professional development environments. We recommend attending all the lessons in this course. It is also important to enroll in the online course on I-Learn (Interazione Uomo Macchina e Tecnologie Web - parte tecnologica), which provides teaching materials and references to public materials that can be used to deepen one's knowledge independently (learning skills).

Communication with students takes place through the course forum on I-Learn and via email to the lecturer's institutional account.

Oggetto:

Modalità di verifica dell'apprendimento

L'esame è composto da una PROVA TEORICA e dalla DISCUSSIONE DEL PROGETTO SW. Le due prove possono essere sostenute in qualsiasi ordine durante le sessioni d'esame dell'Anno Accademico.

  • PROVA TEORICA: esame scritto che include esercizi e domande teoriche sul programma dell'insegnamento. Viene valutata da un minimo di 0 ad un massimo di 30 (31 vale per la lode) e si considerano sufficienti i voti ≥18. Il voto ottenuto durante la prova teorica decade se si partecipa ad un'altra prova teorica. Questa prova è volta a verificare l’acquisizione della conoscenza fornita dall'insegnamento in termini di sapere (knowledge and understanding), nonché le abilità comunicative (communication skills) e l'autonomia di giudizio (making judgments).
  • DISCUSSIONE DEL PROGETTO SW: questa prova è volta a verificare le competenze acquisite (applying knowledge and understanding), nonché le abilità comunicative,  l'autonomia di giudizio e la capacità di apprendimento (learning skills). La discussione deve essere effettuata preferibilmente con tutti i membri del gruppo presenti. NB: non si richiede di consegnare il progetto SW prima dell'esame. Il voto è un numero intero compreso tra 0 e 30 (31 vale per la lode), si considerano sufficienti i voti ≥18.

CALCOLO DEL VOTO FINALE DI ESAME. Il voto finale dell’esame viene determinato come segue:

  • voto finale = (voto prova teorica + voto discussione del progetto SW)/2.

NB: i voti acquisiti durante ciascuna delle prove rimangono validi fino al termine della sessione d’esame che precede l'inizio del nuovo insegnamento.

The examination consists of a THEORETICAL TEST and the SW PROJECT DISCUSSION. The two tests can be taken in any order during the exam sessions of the Academic Year.

  • THEORETICAL TEST: written examination that includes exercises and theoretical questions on the syllabus of the course. It is graded from a minimum of 0 to a maximum of 30 (31 counts for honors) and grades ≥18 are considered sufficient. The grade obtained during the theory test is forfeited if another theory test is taken. This test is designed to test the acquisition of knowledge provided by the course in terms of knowing (knowledge and understanding), as well as communication skills and autonomy of judgment (making judgments).
  • SW PROJECT DISCUSSION: this test is designed to check the acquired knowledge (applying knowledge and understanding), as well as communication skills, the autonomy of judgment, and learning skills. The discussion should preferably be done with all group members present. Note that the lab project is not required to be handed in before the exam. The grade is an integer number between 0 and 30 (31 applies to honors), grades ≥18 are considered sufficient.

CALCULATION OF FINAL EXAMINATION VOTE. The final exam grade is determined as follows:

  • final grade = (grade of the theoretical test + grade of the SW project discussion)/2.

Note: the grades acquired during each of the tests remain valid until the end of the exam session preceding the start of the new course.

Oggetto:

Attività di supporto

Durante il periodo dell'insegnamento, e dopo, saranno svolte attività di tutorato su richiesta. Le studentesse e gli studenti potranno chiedere via email appuntamento al docente e/o ai tutor per la revisione di argomenti presentati in aula e per il supporto allo svolgimento degli esercizi e del progetto SW. Le attività potranno essere svolte in presenza oppure in modalità online su una piattaforma di videoconferenza come WebEx. Gli indirizzi di posta elettronica istituzionale dei tutor sono pubblicati nella pagina dell'insegnamento su I-Learn.
During the teaching period, and afterward, tutoring activities will be carried on demand: the students can request by email appointments with lecturer and/or tutors for reviewing topics presented in the classroom and for support in carrying out exercises and the SW project. The activities may be conducted in person or online on a videoconferencing platform such as WebEx. The institutional e-mail addresses of the tutors are posted on the course page on I-Learn.

Oggetto:

Programma

Architetture delle applicazioni Web: Web browser e Web server. Il Pattern Model View Controller per le applicazioni Web - Progettazione e sviluppo di applicazioni Web a 3 livelli basate su MVC:

  • Il primo livello (client dell'applicazione): HTML5, CSS, scripting lato client (JavaScript e AJAX). Raccolta dati con HTML form.
  • Il secondo livello (logica applicativa): Servlet Java.
  • Il terzo livello (livello dei dati): accesso a database relazionali con Java Database Connectivity (JDBC), rappresentazione e gestione di informazioni con XML (XML Schema, XPath, XML Parsers).
  • Framework le applicazioni web MVC (Vue.js).
  • Introduzione al linguaggio PHP per lo sviluppo di pagine web dinamiche.

Architectures of Web applications: Web browser and Web server. The Model View Controller pattern for web applications - design and development of 3-tier Web applications based on MVC:

  • The first level (application client): HTML5, CSS, client-side scripting (JavaScript and AJAX). Data collection via HTML forms.
  • The second level (business logic): Java Servlets.
  • The third level (business data): accessing relational databases via Java Database Connectivity (JDBC), information representation and management via XML (XML Schema, XPath, XML Parsers).
  • Framework for web-based MVC applications (Vue.js).
  • Introduction to PHP for the development of dynamic web pages.

Testi consigliati e bibliografia



Oggetto:
Libro
Titolo:  
Programmare in Java 11/Ed. - MyLab
Anno pubblicazione:  
2020
Editore:  
Pearson
Autore:  
Paul J. Deitel - Harvey M. Deitel
ISBN  
Permalink:  
Note testo:  
Libro di testo.
Obbligatorio:  
No


Oggetto:
Libro
Titolo:  
Principi di Web design
Anno pubblicazione:  
2014
Editore:  
Apogeo
Autore:  
Joel Sklar
ISBN  
Obbligatorio:  
No


Oggetto:
Ultimo aggiornamento: 18/04/2023 13:31
Location: https://laurea.informatica.unito.it/robots.html
Non cliccare qui!