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
  • Walter Didimo
Ore
  • 48 Ore - Walter Didimo
CFU 6
Regolamento Coorte 2025
Erogato Erogato nel 2025/26
Erogato altro regolamento
Attività Caratterizzante
Ambito Ingegneria informatica
Settore ING-INF/05
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 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): vengono svolte lezioni frontali in aula. 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
Condividi su