Insegnamento INTERNET AND WEB PROGRAMMING
| Nome del corso di laurea | Ingegneria informatica e robotica |
|---|---|
| Codice insegnamento | A005836 |
| Curriculum | Data science e data engineering |
| Docente responsabile | Walter Didimo |
| Docenti |
|
| Ore |
|
| CFU | 6 |
| Regolamento | Coorte 2026 |
| Erogato | Erogato nel 2026/27 |
| Erogato altro regolamento | |
| Attività | Caratterizzante |
| Ambito | Ingegneria informatica |
| Settore | IINF-05/A |
| Anno | 1 |
| Periodo | Primo Semestre |
| Tipo insegnamento | Obbligatorio (Required) |
| Tipo attività | Attività formativa monodisciplinare |
| Lingua insegnamento | Italiano |
| Contenuti | I servizi in Internet. Progetto di applicazioni client/server. Sviluppo di applicazioni e servizi per il Web |
| Testi di riferimento | La disciplina affronta un insieme di metodologie e tecnologie che non sono contenute in un singolo libro di testo. Gli argomenti trattati sono illustrati in una collezione di dispense a cura del docente. |
| Obiettivi formativi | L'insegnamento si prefigge di impartire agli studenti le nozioni teoriche e pratiche sulle applicazioni client/server e sullo sviluppo di servizi Web. In particolare, al termine del corso lo studente avrà acquisito: (a) conoscenza dei principi delle architetture client/server; (b) conoscenza di strumenti di programmazione avanzata in Java per la realizzazione di applicazioni distribuite. (c) conoscenza delle principali metodologie per il progetto e lo sviluppo di applicazioni per il Web. (d) capacità di realizzare servizi ad architettura client/server attraverso il linguaggio Java. (e) capacità di realizzare applicazioni Web, attraverso alcune tecnologie ampiamente diffuse, come HTML/CSS, Jascript, Node.Js e Java. |
| Prerequisiti | Sono richieste conoscenze di base relativamente alla progettazione e all'analisi di algoritmi, nonché conoscenze di programmazione imperativa e ad oggetti tramite il linguaggio Java. Queste nozioni sono tipicamente acquisite in un percorso triennale in ingegneria informatica o in informatica. |
| Metodi didattici | Il corso si articola in due principali tipologie di lezioni: (i) Lezioni frontali (per circa il 50% del tempo totale). Ogni lezione consiste nell'illustrazione da parte del docente di nuovi concetti teorici, attraverso la proiezione di appositi lucidi. (ii) Esercitazioni guidate in laboratorio (per circa il 50% del tempo totale): si svolgono nel laboratorio di ingegneria del software, e prevedono la progettazione e l'implementazione di programmi sotto la guida del docente. |
| Altre informazioni | |
| Modalità di verifica dell'apprendimento | [Obiettivi della valutazione]. I metodi di valutazione di questo insegnamento cercano di quantificare le conoscenze teoriche acquisite dallo studente, nonché le sue capacità di applicare tali conoscenze per la risoluzione di problemi teorici e applicativi. Il tipo di prova è dettagliato di seguito. Esame scritto di natura teorica e prova di programmazione pratica Durata: 2 ore Obiettivo: accertare le conoscenze sui concetti teorici impartiti nell'insegnamento e valutare abilità di programmazione per applicazioni in Internet e per il Web I risultati della prova sono presentati allo studente durante un breve colloquio, in cui lo studente può confutare i giudizi del docente. Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa |
| Programma esteso | [I servizi in Internet]. Richiami sull'architettura della rete Internet. Servizi in Internet: principi delle architetture client/server. Analisi di alcune applicazioni di largo uso: World Wide Web (HTTP), posta elettronica (SMTP), collegamento remoto (telnet), trasferimento file (ftp). [Progetto di applicazioni client/server in Java]. Strumenti avanzati di programmazione: gestione degli errori, multithreading, gestione dell'input/output. Progettazione di protocolli di comunicazione. Connessioni di rete tramite socket e secure socket TCP. Studi di caso: client Web, ChatLine. Connessioni di rete tramite socket UDP. [Applicazioni e servizi Web]. Formati di descrizione dei dati: XML, JSON. Applicazioni Web e Web Services: principi architetturali e tipologie di Web Services (SOAP-based e RESTful). Linguaggi, protocolli e tecnologie di sviluppo di applicazioni Web: HTML/CSS, Java Servlet e tecnologie correlate, Javascipt, AJAX, Node.js, Web socket e gRPC. |
| Obiettivi Agenda 2030 per lo sviluppo sostenibile |