Corso di Sistemi per l'elaborazione delle informazioni (IN530)

Diario delle lezioni

Il corso si svolge nel secondo semestre (febbraio-maggio 2020) dell'anno accademico 2019/2020. Si tengono tre lezioni a settimana, il lunedì in laboratorio informatico e il martedì e il giovedì in aula.

Le attività didattiche del corso di Sistemi per l'Elaborazione delle Informazioni (IN530) per l'anno accademico 2019/2020 sono terminate. Rimane attivo il ricevimento degli studenti via Skype, su appuntamento per e-mail (liverani@mat.uniroma3.it).

Sintesi degli argomenti trattati durante le lezioni

Lezione n. 1 - lunedì 2 marzo 2020
Presentazione del corso e delle sue finalità, bibliografia, orario di riferimento, orario delle lezioni, modalità d'esame (Presentazione del corsoDocumento in formato PDF).
Dal computer al sistema informativo: introduzione al concetto di sistema informativo, anche attraverso un escursus sull'evoluzione della tecnologia informatica dagli anni '50 ad oggi.
Lezione n. 2 - martedì 3 marzo 2020
Presentazione delle diverse architetture applicative: applicazioni centralizzate sul server, applicazioni client/server, applicazioni web based “three-tier”, infrastrutture SOA (service oriented architectures); cenni sulla virtualizzazione dei sistemi e sulle infrastrutture cloud.
Virtualizzazione e cloud computing: esempi di virtualizzazione di sistemi, i diversi modelli di cloud computing: IAAS (infrastructure as a service), PAAS (platform as a service) e SAAS (software as a service) (Dal computer al sistema informativoDocumento in formato PDF).
Componenti di un sistema informativo aziendale: Presentazione di un'ipotetica struttura organizzativa aziendale e delle diverse esigenze di carattere informativo e di condivisione di dati tra le diverse unità organizzative.
Lezione n. 3 - lunedì 16 marzo 2020
Componenti di un sistema informativo aziendale: componenti informatiche hardware e software presenti su un sistema informativo aziendale.; tipologie di componenti software di un sistema informativo aziendale (ERP, CRM, DWH/BI, IAM, CMS, GRC, groupware, intranet, document management), ambienti di deploy delle componenti del sistema informativo (sviluppo, test, collaudo, produzione), ambienti per la business continuity e il disaster recovery (Componenti di un sistema informativo aziendaleDocumento in formato PDF).
Lezione n. 4 - martedì 17 marzo 2020
Sistemi operativi: introduzione ai sistemi operativi, scopi del sistema operativo, tipologie di sistema operativo (batch, time sharing, real time, embedded, hypervisor). Descrizione della struttura e dei compiti di un sistema operativo, la struttura a strati, il livello kernel. La gestione e il ciclo di vita dei processi, esempi sulle system call per l'esecuzione di processi (fork e system); gestione della memoria primaria, area heap, stack e code segment.
Lezione n. 5 - lunedì 23 marzo 2020
Sistemi operativi: gestione del filesystem, esempi sul filesystem di sistemi UNIX; gestione delle periferiche e dell'input/output, gestione della memoria secondaria; gestione della protezione e della sicurezza, autenticazione e autorizzazione degli utenti, alcuni sottosistemi per la gestione delle procedure di autenticazione e di autorizzazione; interfaccia verso le applicazioni e gli utenti, interfacce alfanumeriche e grafiche (GUI); il sistema client/server X Window, esempi (Sistemi operativiDocumento in formato PDF).
Lezione n. 6 - martedì 24 marzo 2020
Reti di computer: scopo di una rete di computer, caratteristiche generali di una rete, problematiche che vengono indirizzate nell'ambito delle reti, modalità di comunicazione packet switching; modalità di comunicazione broadcast e punto-punto, reti locali, metropolitane e geografiche; il software per le reti, struttura del modello OSI a sette livelli, struttura del modello OSI semplificato, struttura dell'architettura TCP/IP. Il modello OSI semplificato: il livello 1 “Fisico”, il livello 2 “Data Link”.
Lezione n. 7 - lunedì 30 marzo 2020
Reti di computer: il livello 3 (network) del modello OSI semplificato: indirizzamento IP, classi di indirizzi, enti per l'assegnazione di classi di indirizzi IP pubblici (verifica attraverso esempi di uso dei comandi ifconfig e whois), classi private di indirizzi IP, NAT (network address translation), default gateway, maschera di sottorete, modalità di identificazione della sottorete del destinatario mediante la subnet mask, esempi di comunicazione e interconnesione tra reti IP differenti.
Lezione n. 8 - martedì 31 marzo 2020
Reti di computer: il livello 4 “Transport”, il protocollo TCP (transmission control protocol), socket, esempi in linguaggio C; il livello 5 “Application”, porte TCP e servizi offerti via rete da una macchina server. Alcuni esempi di protocolli applicativi: il DNS (Domain Name System), organizzazione del sistema, tool software per l'interrogazione del database DNS e Whois, esempi con nslookup e whois.
Lezione n. 9 - lunedì 6 aprile 2020
Reti di computer: protocolli applicativi, il protocollo FTP (File Transfer Protocol) per lo scambio di file; il protocollo Telnet, per l'emulazione di terminale da remoto, ma anche per l'accesso a servizi e protocolli differenti su specifiche porte TCP; il protocollo SMTP (Simple Mail Transfer Protocol) e POP3 (Post Office Protocol) per l'invio e la ricezione di messaggi di posta elettronica; esempio di demone che implementa un semplice protocollo applicativo e del funzionamento del “super demone” inetd per l'attivazione del servizio. Panoramica su alcuni dei principali tipi di dispositivo di rete (hub, bridge, switch, modem, router, firewall) e della loro collocazione sui livelli dello stack OSI e TCP/IP; dominio di collisione e dominio di broadcast (Reti di computerDocumento in formato PDF).
Lezione n. 10 - martedì 7 aprile 2020
Basi dati relazionali: introduzione sul tema dell'archiviazione elettronica dei dati e sulle caratteristiche di un sistema DBMS (data base management system). Introduzione al modello relazionale dei dati, schemi entità/relazioni, modello fisico, tabelle, chiavi primarie, chiavi esterne. Normalizzazione della base dati, prima, seconda e terza forma normale, forma normale di Boyce e Codd.
Lezione n. 11 - martedì 14 aprile 2020
Basi dati relazionali: Esempi ed esercizi sul modello Entità/Relazioni (Esempi di modelli di database relazionaleDocumento in formato PDF). Lo schema fisico di una base dati. Introduzione al linguaggio SQL, set di istruzioni DDL (data definition language).
Lezione n. 12 - venerdì 17 aprile 2020
Basi dati relazionali: utilizzo degli strumenti per l'accesso ad una base dati, la creazione di tabelle e la generazione di un diagramma con lo schema fisico della base dati.
Lezione n. 13 - lunedì 20 aprile 2020
Basi dati relazionali: Introduzione al linguaggio SQL, set di istruzioni DDL (data definition language), DCL (data control language), DML (data manipulation language); esempi con il DBMS MySQL, avvio del sistema, accesso dal server locale e da remoto, creazione di un database, creazione di tabelle e indici.
Basi dati relazionali: istruzioni SQL di tipo DML (data manipulation language): insert, select, update, delete, esempiDocumento in formato PDF con l'uso del DBMS MySQL.
Lezione n. 14 - martedì 21 aprile 2020
Basi dati relazionali: Istruzione select per operazioni di gruppo (sum, count, avg, max, min), operazioni di join tra due o più tabelle; esercizi ed esempiDocumento in formato PDF. Programmazione con altri linguaggi e operazioni sulle basi dati in SQL, librerie e cenni sui framework ORM (object relational mapping), cenni su modelli “NOSQL”, not only SQL (Database relazionaliDocumento in formato PDF).
Lezione n. 15 - venerdì 24 aprile 2020
Database relazionali: Esempi sull'uso dei vincoli nelle relazioni tra tabelle in fase di cancellazione o aggiornamento di record, con le clausole restrict e cascade nella definizione delle chiavi esterne.
Data warehouse: sistemi operazionali e informazionali, scopi e caratteristiche di un data warehouse; struttura logica di un data warehouse, fatti, misure, dimensioni, il Dimensional Fact Model; operazioni comuni di analisi su un data warehouse.
Lezione n. 16 - lunedì 27 aprile 2020
Data warehouse: ipercubi, modello MOLAP e ROLAP. Architettura di un sistema data warehouse, componenti ETL e BI (Data warehouseDocumento in formato PDF).
Applicazioni web based: architettura macroscopica del contesto web, utilizzo della tecnologia web per la realizzazione di applicazioni, vantaggi delle applicazioni web based rispetto alle applicazioni centralizzate o di tipo client/server; cenni su “Web 2.0”, Web Services SOAP/REST e XML.
Lezione n. 17 - martedì 28 aprile 2020
Applicazioni web based: componenti dell'architettura di un'applicazione web based: protocollo HTTP, riferimenti mediante URL, codifica HTML, modalità di scambio tra web server e web application (es.: CGI, common gateway interface); panoramica sul linguaggio di mark-up HTML.
Lezione n. 18 - lunedì 4 maggio 2020
Applicazioni web based: ancora sui tag di base del linguaggio HTML; fogli di stile CSS e caratterizzazione grafica di una pagina HTML, esempi ed esercizi.
Lezione n. 19 - martedì 5 maggio 2020
Applicazioni web based: protocollo HTTP e funzioni svolte dall'applicazione HTTP Server, esempi di sessione; interfaccia CGI, modalità di comunicazione tra server HTTP e applicazione CGI in caso di metodo HTTP POST e HTTP GET, esempi in linguaggio Perl.
Lezione n. 20 - venerdì 8 maggio 2020
Applicazioni web based: esempi in linguaggio Perl; un esempio completo di applicazione web based (rubrica telefonica) con le seguenti componenti: server HTTP Apache, applicazioni CGI in linguaggio Perl, DBMS MySQL (Appunti sulla progettazione di un'applicazione web CGIFormato PDF).
Lezione n. 21 - lunedì 11 maggio 2020
Applicazioni web based: web application Java JEE, caratteristiche e componenti della specifica JEE, applicazioni di tipo servlet, applicazioni di tipo JSP, esempi.
Lezione n. 22 - martedì 12 maggio 2020
Applicazioni web based: pagine JSP (Java Server Pages) e Servlet, esempi. Programmazione client-side per aumentare il livello di interattività dell'applicazione web, il linguaggio Javascript ed uso di Javascript per modificare dinamicamente il contenuto della pagina e attuare elaborazioni lato client, esempi; cenni su AJAX e JQuery (Applicazioni Web BasedFormato PDF).
Sicurezza dei Sistemi Informativi: sicurezza delle informazioni come garanzia di riservatezza (confidenzialità), integrità e disponibilità.
Lezione n. 23 - venerdì 15 maggio 2020
Sicurezza dei Sistemi Informativi: domini tematici della sicurezza IT secondo (ISC)2, tipi di minacce a cui è sottoposto un sistema informativo, cenni su alcune tipologie di attacco informatico; sicurezza fisica, sicurezza logica.
Lezione n. 24 - lunedì 18 maggio 2020
Sicurezza dei Sistemi Informativi: strumenti per la sicurezza perimetrale, firewall, IPS, IDS, VPN; strumenti per la sicurezza degli end-point, hardening dei sistemi, antivirus, personal firewall, DLP.
Lezione n. 25 - martedì 19 maggio 2020
Sicurezza dei Sistemi Informativi: metodologie di sviluppo di software sicuro, cenni su OWASP/CLASP, Microsoft SDL (Security Development Lifecycle), CMMI. Crittografia simmetrica e asimmetrica, hash, firma digitale. Infrastrutture AAA (authentication, authorization, accounting), autenticazione degli utenti, autenticazione forte.
Lezione n. 26 - venerdì 22 maggio 2020
Sicurezza dei Sistemi Informativi: autorizzazione, ruoli e profili autorizzativi, RBAC (role based access control), sistemi di raccolta, analisi e correlazione dei log; governance della sicurezza del sistema informativo, obiettivi e adempimenti. Sistemi di Identity Management (IDM), caratteristiche, obiettivi, benifici e cenni sull'architettura.
Lezione n. 27 - lunedì 25 maggio 2020
Sicurezza dei Sistemi Informativi: sistemi di Access Management per il servizio di autenticazione e autorizzazione per applicazioni web based; sistemi di Identity Federation e il protocollo SAML; cenni sul Sistema Pubblico di Identificazione Digitale (SPID). Sistemi SIEM (security information and event management) per la raccolta, la correlazione e l'analisi di log e UEBA (user and entity behavior analysis) per l'analisi comportamentale degli utenti e dei sistemi; threat intelligence e IOC (indicator of compromise), distinzione tra web, deep web e dark web; cenni su vulnerability assessment, penetration test, attività di un servizio SOC (security operation center).
Lezione n. 28 - martedì 26 maggio 2020
Sicurezza dei Sistemi Informativi: cenni sulla normativa nell'ambito della sicurezza delle informazioni, cenni sullo standard ISO 27001 e sui sistemi e i processi GRC di governance, risk and compliance (Sicurezza dei Sistemi InformativiFormato PDF).
Principi di Ingegneria del Software: obiettivi dell'ingegneria del software, il ciclo di vita di un prodotto software, la fase di analisi e di definizione dei requisiti, la fase della progettazione; principali deliverable e figure professionali coinvolte. Attività, deliverable e figure professionali coinvolte nelle varie fasi del ciclo di vita di un prodotto software; requisiti e altri aspetti rilevanti della progettazione del software e nella definizione di un progetto per la realizzazione di un prodotto software.
Lezione n. 29 - venerdì 29 maggio 2020
Principi di Ingegneria del Software: cenni su UML (Unified Modeling Language), class diagram, use case diagram, sequence diagram, activity diagram, esempi; cenni sui sistemi di gestione per la Qualità (Principi di Ingegneria del SoftwareFormato PDF).
Alcuni cenni sul mercato del lavoro in ambito IT in Italia: il mercato del lavoro, classificazioni, alcune statistiche sul mercato del lavoro in Italia, il mercato del lavoro in ambito IT e le diverse tipologie di azienda, figure professionali in ambito IT e percorsi di crescita professionale, cenni sugli aspetti relativi ai contratti di lavoro (Cenni sul mercato del lavoro in ambito informatico in ItaliaFormato PDF).
Lezione n. 30 - venerdì 5 giugno 2020
Seminario della Dott.ssa Natascia Piroso (Amazon Software Development Center - Edimburgo): la dott.ssa Natascia Piroso, laureata in Matematica nel 2007 presso il nostro Corso di Laurea Magistrale con una tesi di ottimizzazione combinatoria sugli algoritmi di partizionamento di grafi, ha presentato una panoramica delle sue esperienze accademiche (PhD in Informatica presso l'Università La Sapienza) e professionali che l'hanno condotta a ricoprire il ruolo di UX Designer presso i laboratori di progettazione e sviluppo software di Amazon (slide del seminario Formato PDF)..

Università degli Studi Roma Tre - Dipartimento di Matematica e Fisica - Corso di laurea in Matematica - Corso di Sistemi per l'elaborazione delle informazioni (IN530)

Author: Marco Liverani - Last modified: Monday June 15, 2020 - Document URI: https://www.mat.uniroma3.it/users/liverani/IN530/lezioni.shtml