Servizi per la didattica
PORTALE DELLA DIDATTICA

Introduzione alle Applicazioni Web

01DXUOA, 01DXUJM, 01DXULH, 01DXULI, 01DXULM, 01DXULN, 01DXULP, 01DXULS, 01DXULU, 01DXULX, 01DXULZ, 01DXUMA, 01DXUMC, 01DXUMH, 01DXUMK, 01DXUMN, 01DXUMO, 01DXUMQ, 01DXUNX, 01DXUOD, 01DXUPC, 01DXUPI, 01DXUPL, 01DXUPM, 01DXUPW

A.A. 2022/23

Lingua dell'insegnamento

Italiano

Corsi di studio

Corso di Laurea in Ingegneria Informatica - Torino
Corso di Laurea in Ingegneria Meccanica (Mechanical Engineering) - Torino
Corso di Laurea in Design E Comunicazione - Torino
Corso di Laurea in Ingegneria Dell'Autoveicolo (Automotive Engineering) - Torino
Corso di Laurea in Ingegneria Informatica (Computer Engineering) - Torino
Corso di Laurea in Ingegneria Dell'Autoveicolo - Torino
Corso di Laurea in Electronic And Communications Engineering (Ingegneria Elettronica E Delle Comunicazioni) - Torino
Corso di Laurea in Ingegneria Dei Materiali - Torino
Corso di Laurea in Architettura (Architecture) - Torino
Corso di Laurea in Ingegneria Elettrica - Torino
Corso di Laurea in Ingegneria Aerospaziale - Torino
Corso di Laurea in Ingegneria Biomedica - Torino
Corso di Laurea in Ingegneria Civile - Torino
Corso di Laurea in Ingegneria Edile - Torino
Corso di Laurea in Ingegneria Energetica - Torino
Corso di Laurea in Ingegneria Meccanica - Torino
Corso di Laurea in Ingegneria Per L'Ambiente E Il Territorio - Torino
Corso di Laurea in Matematica Per L'Ingegneria - Torino
Corso di Laurea in Ingegneria Elettronica - Torino
Corso di Laurea in Ingegneria Fisica - Torino
Corso di Laurea in Ingegneria Del Cinema E Dei Mezzi Di Comunicazione - Torino
Corso di Laurea in Ingegneria Gestionale - Torino
Corso di Laurea in Ingegneria Gestionale - Torino
Corso di Laurea in Architettura - Torino
Corso di Laurea in Pianificazione Territoriale, Urbanistica E Paesaggistico-Ambientale - Torino

Organizzazione dell'insegnamento
Didattica Ore
Lezioni 20
Esercitazioni in aula 20
Esercitazioni in laboratorio 20
Docenti
Docente Qualifica Settore h.Lez h.Es h.Lab h.Tut Anni incarico
De Russis Luigi   Professore Associato ING-INF/05 20 20 0 0 1
Collaboratori
Espandi

Didattica
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 6 D - A scelta dello studente A scelta dello studente
2022/23
Il corso si pone l'obiettivo di introdurre i concetti, le metodologie e le tecnologie necessarie per progettare e realizzare applicazioni web costituite da elementi testuali, multimediali e interattivi. Verranno illustrati i concetti di base di linguaggi come HTML5 e CSS3, gli aspetti fondamentali relativi alla programmazione di applicazioni web, comprensiva delle tecnologie lato client (JavaScript) e lato server (con Python), nonché le modalità di interazione con database relazionali. Particolare attenzione verrà posta agli aspetti di accessibilità e progettazione dell'architettura dell'informazione. La presentazione degli argomenti permetterà agli studenti di ottenere le competenze base per gestire le principali tecnologie per il web ed effettuare scelte di progettazione ragionate per costruire applicazioni web efficaci.
The course aims at introducing the concepts, the methodologies, and the technologies needed to design and implement web applications made of textual, multimedia, and interactive elements. Students will study the basic concepts of languages like HTML5 and CCS3, the fundamental aspects of the web programming with client-side (JavaScript) and server-side (with Python) technologies, and the modalities of interacting with a relational database. Particular focus will be on the accessibility aspects and the information architecture design. The topic presentation will enable students to gain the essential skills to manage the main web technologies and make reasoned design choices to create useful web applications.
Al termine del corso, gli studenti e le studentesse saranno in grado di: - Conoscere i concetti fondamentali relativi alle architetture web, ai suoi protocolli e linguaggi principali. - Possedere e utilizzare le conoscenze base di un framework in Python per creare applicazioni web. - Conoscere e usare le principali tecnologie per il web (HTML, CSS, JavaScript) e saperle applicare a scenari reali. - Creare un'applicazione web completa, di media complessità, usabile e accessibile.
Al termine del corso, gli studenti e le studentesse saranno in grado di: - Conoscere i concetti fondamentali relativi alle architetture web, ai suoi protocolli e linguaggi. - Possedere e utilizzare le conoscenze base di un framework in Python per creare applicazioni web. - Conoscere e usare le principali tecnologie per il web (HTML, CSS, JavaScript) e saperle applicare a scenari reali. - Creare un'applicazione web completa, di media complessità, usabile e accessibile.
- Programmazione Python (al livello fornito dall'insegnamento di Informatica del primo anno comune di Ingegneria). - Linguaggio SQL per l'interrogazione di una base di dati (attraverso l'insegnamento di Basi di Dati o formazione personale).
- Programmazione Python (al livello fornito dall'insegnamento di Informatica del primo anno comune di Ingegneria). - Linguaggio SQL per l'interrogazione di una base di dati (attraverso l'insegnamento di Basi di Dati o formazione personale).
Il corso tratterà i seguenti argomenti: a) Progettare per il web: architetture e concetti fondamentali (1 credito) - Architettura delle applicazioni web e cenni sul protocollo HTTP - Concetti base di progettazione per il web - Strumenti di sviluppo e debug, dentro e fuori dal browser - Accessibilità e architettura dell'informazione di applicazioni web b) Programmazione front-end (3 crediti) - Il linguaggio HTML5: aspetti base e avanzati - Cascading Style Sheets (CSS3) e design responsive - JavaScript e DOM c) Programmazione back-end (2 crediti) - Server web e sviluppo in ambiente Python - Accesso a basi dati relazionali con Python - Interazione col front-end
Concetti base di progettazione per il web. Architettura delle applicazioni web e cenni sul protocollo HTTP. Il linguaggio HTML5. Cascading Style Sheets (CSS3) e design responsive. Accessibilità e architettura dell'informazione di applicazioni web. Programmazione client-side: JavaScript e DOM. Programmazione server-side: server web e sviluppo in ambiente Python. Accesso a basi dati relazionali con Python. Strumenti di sviluppo, dentro e fuori dal browser.
In aggiunta alle ore in aula, che includeranno sia lezioni interattive che esercizi (4 crediti), il corso prevede delle ore di laboratorio (2 crediti). I laboratori consisteranno nell'applicazione delle tecniche e dei concetti presentati in aula per costruire incrementalmente un'applicazione web di complessità crescente. Durante i laboratori, gli studenti potranno discutere con i docenti le proprie soluzioni agli esercizi a loro assegnati. Il corso adotterà soluzioni e strumenti moderni per la comunicazione e lo sviluppo di applicazioni web (per esempio, Git e GitHub, Telegram/Slack, ecc.). Le lezioni e gli esercizi in aula saranno video-registrati e messi a disposizione dopo ogni classe.
In aggiunta alle ore in aula, che includeranno sia lezioni interattive che esercizi (4 crediti), il corso prevede delle ore di laboratorio (2 crediti). I laboratori consisteranno nell'applicazione delle tecniche e dei concetti presentati in aula per costruire incrementalmente un'applicazione web di complessità crescente. Durante i laboratori, gli studenti potranno discutere con i docenti delle proprie soluzioni agli esercizi a loro assegnati. Il corso adotterà soluzioni e strumenti contemporanei per la comunicazione e lo sviluppo di applicazioni web (per esempio, Git e GitHub, Slack/Discord, ecc.).
Slide e materiale relativo (link, letture, ecc.) saranno forniti dai docenti durante il corso. Ulteriori risorse consigliate: * Flavio Copes, Handbook su HTML, CSS, e JavaScript, disponibili online: https://thevalleyofcode.com * MDN Web Docs, disponibile online: https://developer.mozilla.org * Miguel Grinberg, "Flask Web Development", seconda edizione, O'Reilly Media Inc., 2018, ISBN 9781491991732
Slide e materiale relativo (link, letture, ecc.) saranno forniti dai docenti durante il corso.
Modalità di esame: Prova orale obbligatoria; Elaborato progettuale individuale;
Exam: Compulsory oral exam; Individual project;
L'esame consisterà nella verifica delle competenze teoriche e pratiche descritte in precedenza attraverso un progetto pratico, da implementare individualmente, seguito da una discussione orale sul progetto stesso. La consegna del progetto avverrà tramite strumenti online, mentre la prova orale sarà svolta in laboratorio o in aula. Il progetto prevederà la creazione e la consegna di un'applicazione web che utilizzi le competenze e le conoscenze acquisite durante il corso, secondo delle specifiche che saranno pubblicate alcune settimane in anticipo rispetto alla data dell'appello. Solo gli studenti che consegneranno il loro progetto prima della scadenza fissata per ogni appello potranno accedere all'orale. L'applicazione web sarà valutata dai docenti durante la prova orale, verificando le funzionalità implementate e le tecniche di programmazione adottate rispetto alle specifiche progettuali ricevute. Tale prova orale servirà anche a valutare la conoscenza approfondita del codice consegnato dagli studenti e alla loro capacità di discutere le scelte progettuali effettuate alla luce degli argomenti del corso. Tale discussione avrà una durata prevista di 20-30 minuti per progetto.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Compulsory oral exam; Individual project;
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.