CODICE 56703 ANNO ACCADEMICO 2021/2022 CFU 6 cfu anno 1 INGEGNERIA CHIMICA E DI PROCESSO 10375 (L-9) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05 LINGUA Italiano SEDE GENOVA PERIODO 2° Semestre MATERIALE DIDATTICO AULAWEB OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Obiettivo dell’insegnamento è fare acquisire allo studente le conoscenze di base dell’informatica e della programmazione. Queste conoscenze riguardano sia le architetture, cioè la rappresentazione delle informazioni ed una panoramica dei calcolatori e delle reti dati, sia la programmazione di base che ha come scopo quello di permettere allo studente la capacità di scrivere semplici programmi. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO La rapida evoluzione delle metodologie e delle tecniche che trattano l’informazione e la comunicazione richiede oggi l’impiego del calcolatore in ogni ambito lavorativo. E’ pertanto necessario comprendere la sua architettura ed il suo funzionamento in modo da poterne conoscere i possibili impieghi, le potenzialità nonché i limiti. Uno degli strumenti più utili nel campo dell’ingegneria è la programmazione: mediante essa è possibile far svolgere al calcolatore qualsiasi compito, in particolare nell'ambito tecnico e scientifico dell’ingegneria. Considerata la specializzazione del corso di laurea che non riguarda l’ambiente informatico, e quindi il numero limitato di ore delle quali si dispone per il corso, viene presentato agli studenti il linguaggio C mediante un ambiente di programmazione (CodeBlock) facilmente comprensibile ed utilizzabile. La efficacia della didattica dipende fortemente dalla presentazione agli studenti di un buon numero di esercitazioni che illustrino i principali algoritmi e la loro formalizzazione. Parallelamente alla parte di programmazione, è necessario far comprendere sia il modo con cui il calcolatore traduce i programmi in servizi illustrandone l'architettura ed il funzionamento, sia come il contenuto di conoscenza dell'informazione possa essere considerato e trattato, In particolare viene quindi definito il concetto di informazione e viene illustrato come l'informazione stessa possa essere gestita e trasmessa mediante le moderne tecnologie con l'impiego delle reti di calcolatori e di Internet. L'obiettivo del corso è quindi quello di accrescere la dimestichezza dello studente con il mondo dell'Informatica mediante la comprensione dei principi di base e dei meccanismi di funzionamento dei sistemi che la riguardano. MODALITA' DIDATTICHE La parte di architetture (28 ore) si basa su lezioni frontali in aula mentre quella di programmazione (32 ore) si basa in parte su presentazioni sempre in aula seguite dallo svolgimento assistito di esercizi proposti dal docente. Gli studenti sono consigliati di disporre di un proprio PC portatile da utilizzare in un’aula attrezzata. Il materiale didattico e l’ambiente di programmazione sono disponibili su Aulaweb. PROGRAMMA/CONTENUTO Cenno agli impieghi ed alla storia del calcolatore. Rappresentazione delle informazioni all’interno del calcolatore, bit byte e codici. Architettura e funzionamento di un calcolatore (modello di Von Neumann). CPU (microprocessore), registri ed ALU, memoria, rom, ram, I/O. Istruzioni, codice eseguibile, assembler, linguaggi e compilatori, esecuzione di un programma, esempi. Sistemi operativi. Dati e codifiche, rappresentazione dei dati all’interno del calcolatore, stringhe, numeri interi, numeri reali; suoni, immagini e video. Operazioni matematiche, operazioni logiche e loro significato, porte logiche, esempio di sintesi di un sommatore ad un bit. L’hardware, il software e la loro evoluzione: dai personal computer agli smartphone. Trasmissione dati tra calcolatori, relazioni tra velocità e larghezza di banda, supporti fisici per la trasmissione dei dati. Protocolli. Input/Output dei personal computer, interfacce utente ed interfacce per la trasmissione dati. Modem, linee telefoniche e linee dati, connettività analogica e digitale. Reti di calcolatori, modello client - server, servizi, reti locali e geografiche. Standard ethernet, TCP/IP, il modello a layer: link, network, transport ed application. Esempi di protocolli ai diversi livelli, campi header e data di un protocollo. Internet e la sua rete, indirizzi MAC ed IP, assegnazione degli indirizzi, accesso ad internet. Dominii ed indirizzi IP, DNS, DNS dinamici, netmask; IPV4/6 Web Server e Web Client: programmazione server-side e client-side. Apparati di rete, hub, switch e router. Wireless LAN, Bluetooth, GPRS, UMTS. La crittografia e la protezione dei dati, l’algoritmo RSA, chiave pubblica e privata. Cenni al rapporto tra privacy, sicurezza e servizi offerti. La rivelazione e la correzione degli errori. TESTI/BIBLIOGRAFIA Nello spazio di Aulaweb riservato al corso, sono reperibili dispense ed indicazioni sia riguardanti la parte di teoria, sia riguardanti la parte di programmazione. DOCENTI E COMMISSIONI ALBERTO GIORDANO Ricevimento: Il docente è in genere disponibile sia prima che dopo l'orario di lezione in aula o presso il proprio ufficio. Egli è inoltre disponibile a richiesta. Per appuntamenti è reperibile con continuità al proprio numero di telefono cellulare (328 1003200). ALESSANDRO CARFI' Ricevimento: Il docente è disponibile per appuntamento previa email: in EMAROlab, Viale Causa 18, 16145, Genova. Commissione d'esame ALBERTO GIORDANO (Presidente) FULVIO MASTROGIOVANNI ALESSANDRO CARFI' (Presidente Supplente) LEZIONI INIZIO LEZIONI https://corsi.unige.it/10375/p/studenti-orario Orari delle lezioni L'orario di tutti gli insegnamenti è consultabile all'indirizzo EasyAcademy. ESAMI MODALITA' D'ESAME L'esame prevede una prova scritta di programmazione al calcolatore ed una prova orale. La prova orale si basa sulla valutazione scritta di una serie di questioni che riguardano gli argomenti trattati durante il corso. Si raccomanda agli studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali di contattare il/la docente all’inizio del corso per concordare modalità didattiche e d’esame che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali e forniscano idonei strumenti compensativi. MODALITA' DI ACCERTAMENTO Lo studente riceve un programma in parte già scritto con il compito di completarlo nelle parti mancanti sulla base della descrizione del servizio che il programma deve offrire e la descrizione delle funzioni il cui codice deve essere scritto dallo studente. L’esame svolto utilizzando l’ambiente di programmazione permetterà di valutare la comprensione della parte di programma già presente e la capacità di scrivere il codice mancante. La parte teorica (architetture) valuterà la capacità di rispondere e valutare una serie di considerazioni riguardanti gli argomenti trattati a lezione, in modo da verificarne l’apprendimento. Allo studente verranno presentate una serie di affermazioni riguardanti contenuti tecnici e logici che dovranno essere verificate e validate. Le due parti di esame dovranno essere entrambe superate: esse saranno valutate indipendentemente ed i rispettivi voti, come media, costituiranno il voto finale. Calendario appelli Dati Ora Luogo Tipologia Note 14/01/2022 10:00 GENOVA Scritto + Orale 11/02/2022 10:00 GENOVA Scritto + Orale 10/06/2022 14:00 GENOVA Scritto + Orale 29/06/2022 14:00 GENOVA Scritto + Orale 19/07/2022 14:00 GENOVA Scritto + Orale 14/09/2022 14:00 GENOVA Scritto + Orale