Vai al contenuto principale
Oggetto:
Oggetto:

TECNOLOGIE WEB: APPROCCI AVANZATI

Oggetto:

WEB TECHNOLOGIES: ADVANCED APPROACHES

Oggetto:

Anno accademico 2019/2020

Codice dell'attività didattica
CPS0547
Docente
Annamaria Goy (Titolare dell'insegnamento)
Corso di studi
Corso di laurea magistrale in Comunicazione pubblica e politica (Classe LM-59)
Corso di laurea magistrale in Comunicazione, ICT e media (Classe LM-59)
Anno
1° anno
Tipologia
Caratterizzante
Crediti/Valenza
9
SSD dell'attività didattica
INF/01 - informatica
Modalità di erogazione
Tradizionale
Lingua di insegnamento
Italiano
Modalità di frequenza
Facoltativa
Tipologia d'esame
Scritto ed orale
Prerequisiti

Nozioni di base di: architettura dei calcolatori; software e sistemi operativi; reti e internet; linguaggi di programmazione; HTML e CSS, programmazione Web (si veda anche la sez. Testi consigliati e bibliografia/Testi di riferimento).

Basic notions about: computer architectures; software and operating systems; networks and internet; programming languages; HTML and CSS, Web programming (see also section Testi consigliati e bibliografia/Testi di riferimento).
Propedeutico a

Propedeutico per i corsi di
Intelligenza artificiale,
Programmazione mobile: Android,
Programmazione avanzata: Python e Arduino,
Web of open and secure data.

Preparatory for
Artificial Intelligence,
Mobile programming: Android,
Advanced Programming: Python and Arduino,
Web of open and secure data.
Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

Oggigiorno, la maggioranza soluzioni informatiche per la gestione dell'informazione, della comunicazione e della conoscenza - tanto in azienda quanto sul territorio e nella Pubblica Amministrazione - sono applicazioni o servizi che si basano sulle tecnologie Web.

L'obiettivo dell'insegnamento è quello di mettere gli studenti in grado di sviluppare un'applicazione o servizio Web, utilizzando i corretti paradigmi architetturali e le corrette metodologie di sviluppo.

L'insegnamento si propone di rendere lo studente autonomo nella scelta e nell'utilizzo degli strumenti necessari per lo sviluppo di applicazioni e servizi sul Web.

Nowadays, the majority of ICT solutions for the management of information, communication, and knowledge - both for business and for the territory and the Public Administration - are based on Web technologies.

The goal of the course is to enable students to develop a Web-based application or service, using the correct architectural paradigms and the correct development methodologies.

The course aims at making students autonomous in the choice and usage of tools needed to develop applications and services on the Web.

Oggetto:

Risultati dell'apprendimento attesi

Al termine dell'insegnamento lo studente dovrà dimostrare di avere le seguenti conoscenze, competenze ed abilità:

- Conoscenze: conoscenza delle architetture, dei paradigmi, delle metodologie di programmazione, delle soluzioni tecnologiche per lo sviluppo di applicazioni e servizi Web.

- Competenze: competenze necessarie per progettare e implementare applicazioni e servizi Web.

- Abilità: capacità di progettare e implementare applicazioni e servizi Web efficaci.

At the end of the course, students will have to demonstrate that they acquired the following knowledge, know-how, and skills:

- Knowledge: knowledge of the architectures, paradigms, programming methodologies, technological solutions for building Web-based applications and services.

- Know-how: ability to design and develop Web-based applications and services.

- Skills: ability to design and develop effective Web-based applications and services.

Oggetto:

Modalità di insegnamento

L'insegnamento è organizzato in lezioni frontali, affiancate da esercitazioni pratiche, nelle quali gli studenti potranno applicare i paradigmi architetturali nonché le metodologie e le tecniche di programmazione descritte nelle lezioni frontali.

The course is organized in frontal lessons, coupled with practice exercises, in which students will be able to apply the architectural paradigms as well as the programming methodologies and techniques described during frontal lessons.

Oggetto:

Modalità di verifica dell'apprendimento

Per la sessione estiva aa 2019/2020 l'esame si svolgerà in modalità telematica, secondo le norme previste dall'Ateneo nell'ambito dell'Emergenza Covid-19.

La struttura dell'esame e le date degli appelli sono confermate:

(a) Lo scritto viene sostituito da un orale, che si svolgerà online, sulla piattaforma Webex (+ GoogleDocs)

-- alla chiusura delle iscrizioni (48 ore circa prima dell'appello), riceverete una mail (sull'indirizzo istituzionale) con

  1. il link all'aula virtuale dell'appello;
  2. il calendario dei colloqui;

-- per accedere all'aula virtuale Webex indicate chiaramente nome e cognome; controllate che microfono + videocamera siano funzionanti;

-- le competenze che verranno verificate sono le stesse che sono state verificare negli scritti della sessione invernale passata;

-- è possibile che, durante l'esame, vi venga chiesto di utilizzare un documento GoogleDocs per condividere informazione scritta: vi verrà fornito il link (abilitato in scrittura) durante l'esame.

(b) L'orale si svolgerà online, sulla piattaforma Webex

-- alla chiusura delle iscrizioni (48 ore circa prima dell'appello), riceverete una mail (sull'indirizzo istituzionale) con

  1. il link all'aula virtuale dell'appello;
  2. il calendario dei colloqui;

-- per accedere all'aula virtuale Webex indicate chiaramente nome e cognome; controllate che microfono + videocamera siano funzionanti;

-- per Tecnologie Web: approcci avanzati [CPS0547] l'orale consiste nella discussione del progetto: il candidato deve avere il progetto funzionante sul proprio PC e dovrà condividere lo schermo durante la discussione;

-- per Tecnologie Web [SCP0484] l'orale consiste in una breve discussione sulla relazione e sulla seconda parte del corso;

NB per Tecnologie Web [SCP0484] si ricorda di rispettare le scadenze per la consegna delle relazioni!

==========

L'esame finale rappresenta una valutazione sommativa e consiste in una prova scritta e una prova orale (colloquio), entrambe nella forma dell'interrogazione strutturata, che concorrono in modo integrato a verificare:

- le conoscenze acquisite circa le architetture, i paradigmi, le soluzioni tecnologiche disponibili, le metodologie di programmazione per lo sviluppo di applicazioni e servizi Web;

- le competenze necessarie per progettare e implementare, concretamente, applicazioni e servizi Web;

- le abilità, cioè la capacità di progettare e implementare applicazioni e servizi Web efficaci.

Scritto e orale possono essere sostenuti in lingua inglese.

La valutazione sia dello scritto che dell'orale avverrà sulla base dell'appropriatezza, della completezza e dell'articolazione delle risposte elaborate dallo studente.

Per la prova orale, verrà chiesto allo studente di realizzare un piccolo progetto, un'applicazione/servizio Web, che rispetti i requisiti che verranno comunicati durante il corso e pubblicati online (sulla pagina dell'insegnamento). Tale progetto verrà discusso con il docente durante il colloquio orale. La valutazione della discussione del progetto terrà conto delle scelte implementative e della capacità di spiegarle correttamente.

Per la versione da 6 cfu, sia la prova scritta sia i requisiti del progetto da discutere alla prova orale saranno ridotti a 2/3 rispetto alla versione da 9 cfu.

La valutazione complessiva sarà in trentesimi (30 punti), che verranno calcolati nel seguente modo:

(a) La valutazione della prova scritta apporterà 18 punti e avrà peso 60%.

(b) La valutazione della prova orale apporterà 12 punti e avrà peso del 40%.

For summer examinations aa 2019/2020 the exams will be online, following the rules decided by Unito within the Covid-19 Emergency.

The structure of the eaxm and the dates are confirmed:

(a) The written exam is substituted by an oral examination, on the Webex platform (+ GoogleDocs)

-- when registration closes (around 48 hours before the exam), you will receive an email (intitutional address) with

  1. the virtual room link for the exam;
  2. the interview calendar;

-- to enter the virtual room, clearly write your first and family name; cheeck also that microphone + videocamera are correctly working;

-- the knowledge that will be verified is the same as that verified during winter examinations;

-- it is possible that, during the exam, you will be asked to use GoogleDocs to share written information: I will provide you with the link during the exam.

(b) The oral examination will be online, on the Webex platform

-- when registration closes (around 48 hours before the exam), you will receive an email (intitutional address) with

  1. the virtual room link for the exam;
  2. the interview calendar;

-- to enter the virtual room, clearly write your first and family name; cheeck also that microphone + videocamera are correctly working;

-- for Tecnologie Web: approcci avanzati [CPS0547] the oral examination is the project discussion: your project must be running on your PC and yoy will have to share your screen during discussion;

-- for Tecnologie Web [SCP0484] the oral examination is a short discussion about the essay and about the second part of the course.

==========

The final examination is a summative evaluation and consists in a written test and an oral test, both in the form of a structured interview, which contribute in an integrated way to verify:

- the acquired knowledge concerning architectures, paradigms, available technological solutions, programming methodologies for developing Web-based applications and services;

- the know-how needed to design and concretely develop Web-based applications and services;

- the skills required to design and develop effective Web-based applications and services.

Both written and the oral tests can be taken in English.

The evaluation of both the written and the oral tests will be based on the pertinence, completeness, and structure of students' answers.

For the oral test, students will be asked to develop a small project, a Web-based application/service, satisfying the requirements that will be provided during the course and published online (on the course Web page). Such a project will be discussed with the teacher during the oral examination. The evaluation of the project discussion will take into account implementation choices and the ability to correctly explain them.

For the 6 cfu version of the exam, both the written test and the project requirements to be discussed during the oral examination, will be reduced to 2/3 with respect to the 9 cfu version.

The overall evaluation will be expressed in a standard 1-30 scale and will be calculated in the following way:

(a) The evaluation of the written test will contribute with 18 points, and will represent the 60% of the final score.

(b) The evaluation of the oral test will contribute with 12 points, and will represent the 40% of the final score.

Oggetto:

Programma

Il programma dell'insegnamento si articola nei seguenti contenuti:

- Cos'è una applicazione Web: architetture, componenti, tecnologie

- Gestire la componente server-side: Object-oriented PHP:

-- introduzione: classi, oggetti, costruttori, metodi, ereditarietà, classi anonime, ecc.

-- l'interazione con il client: gestire HTTPrequest e HTTPresponse con OO-PHP

-- l'interazione con il Database: la libreria PDO

- Gestire la componente client-side: Javascript/jQuery

- L'interazione asincrona tra client e server: chiamate Ajax

- Trasformare un'app in un Web Service: costruire e invocare API REST con PHP

- Costruire applicazioni Web strutturate: il modello MVC e i Framework PHP

Per ogni argomento sarà dedicato ampio spazio ad esercitazioni pratiche in aula.

Ulteriori dettagli saranno disponibili all'indirizzo: www.di.unito.it/~goy/dida.html

The program of the course will develop the following topics:

- Web applications: architectures, components, technologies;

- Server-side management: Object-oriented PHP:

-- introduction: classes, objects, constructors, methods, inheritance, anonymous classes, etc.

-- interaction with the client: managing HTTPrequest and HTTPresponse with OO-PHP

-- interaction with the Database: the PDO library

- Client-side management: Javascript/jQuery

- Asynchronous interaction between client ande server: Ajax calls

- Transforming apps into Web Services: building and invoking API REST with PHP

- Building structured Web applications: MVC model and PHP Frameworks

For each topic, enough time will be devoted to practical exercises.

Further information will be available at: www.di.unito.it/~goy/dida.html

Testi consigliati e bibliografia

Oggetto:

Accanto alle dispense (slide) del corso, che saranno pubblicate online (www.di.unito.it/~goy/dida.html), si consiglia l'approfondimento delle tematiche trattate attraverso la lettura di:

- E. Zimuel, Sviluppare in PHP 7. Realizzare applicazioni Web e API professionali, Tecniche Nuove, 2017;

- M. Stepp, J. Miller, V. Kirst. Web Programming - Step by Step (second edition), 2012 (www.Webstepbook.com);

- D. Cameron. A Software Engineer Learns HTML5, JavaScript & jQuery. Cisdal Publishing, 2014.

Ulteriori indicazioni bibliografiche verranno fornite durante il corso, a lezione o a ricevimento.

Per i pre-requisiti si consigliano i seguenti riferimenti:

- L. Console, M. Ribaudo, U. Avalle, F. Carmagnola, F. Cena. Introduzione all’informatica - quarta edizione, Utet, 2010

- P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Database Systems - Concepts, Languages and Architectures. McGraw-Hill, 1999

- www.w3schools.com/html

- www.w3schools.com/css

- V. Della Mea, L. Di Gaspero, I. Scagnetto, Programmazione Web Lato Server (seconda edizione aggiornata), Apogeo, 2011

Besides the slides, which will be published online (www.di.unito.it/~goy/dida.html), the following books are suggested in order to gain further insight of the course topics:

- E. Zimuel, Sviluppare in PHP 7. Realizzare applicazioni Web e API professionali, Tecniche Nuove, 2017;

- M. Stepp, J. Miller, V. Kirst. Web Programming - Step by Step (second edition), 2012 (www.Webstepbook.com);

- D. Cameron. A Software Engineer Learns HTML5, JavaScript & jQuery. Cisdal Publishing, 2014.

Further suggestions will be provided during the classes, or on demand.

For pre-requirements the following references are suggested:

- L. Console, M. Ribaudo, U. Avalle, F. Carmagnola, F. Cena. Introduzione all’informatica - quarta edizione, Utet, 2010

- P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone. Database Systems - Concepts, Languages and Architectures. McGraw-Hill, 1999

- www.w3schools.com/html

- www.w3schools.com/css

- V. Della Mea, L. Di Gaspero, I. Scagnetto, Programmazione Web Lato Server (seconda edizione aggiornata), Apogeo, 2011



Oggetto:

Note

Oggetto:
Ultimo aggiornamento: 28/05/2020 18:40
Non cliccare qui!