Giuseppe GUARINO | FONDAMENTI DI INFORMATICA
Giuseppe GUARINO FONDAMENTI DI INFORMATICA
cod. 0612200003
FONDAMENTI DI INFORMATICA
0612200003 | |
DIPARTIMENTO DI INGEGNERIA INDUSTRIALE | |
CORSO DI LAUREA | |
INGEGNERIA CHIMICA | |
2022/2023 |
OBBLIGATORIO | |
ANNO CORSO 1 | |
ANNO ORDINAMENTO 2016 | |
SECONDO SEMESTRE |
SSD | CFU | ORE | ATTIVITÀ | |
---|---|---|---|---|
INF/01 | 6 | 60 | LEZIONE |
Obiettivi | |
---|---|
Conoscenza e comprensione Conoscenze sull’architettura degli elaboratori e comprensione della modalità (logica) di funzionamento di un elaboratore elettronico, della codifica e relativa rappresentazione delle informazioni, dei costrutti fondamentali dei linguaggi di programmazione e della programmazione strutturata, delle strutture dati principali (vettori e matrici), della rappresentazione degli algoritmi attraverso diagrammi a blocchi, della sintassi del linguaggio MATLAB e del suo utilizzo per la realizzazione di algoritmi. Conoscenze di massima sulle fasi di progettazione ed analisi di un programma. Conoscenza e capacità di comprensione applicate - analisi ingegneristica Capacità di sviluppare algoritmi di complessità non elevata attraverso la scomposizione in sotto-problemi, rappresentando tali algoritmi attraverso diagrammi a blocchi. Capacità di tradurre detti algoritmi in linguaggio MATLAB, adottando metodologie di programmazione strutturata, curando la comprensibilità dei programmi. Saper interpretare e comprendere codice scritto in linguaggio MATLAB. Conoscenza e capacità di comprensione applicate - progettazione ingegneristica Saper codificare semplici algoritmi utilizzando il linguaggio MATLAB. Capacità di verificare il corretto funzionamento di programmi MATLAB. Autonomia di giudizio – pratica ingegneristica Saper scegliere ed utilizzare i costrutti base del linguaggio MATLAB per la codifica di algoritmi. Capacità trasversali - abilità comunicative Lo studente acquisirà la terminologia propria dell’informatica e del linguaggio di programmazione MATLAB. Capacità trasversali – capacità di apprendere Lo studente svilupperà la propria capacità di apprendimento e sarà in grado di aggiornare in autonomia, continuamente, le proprie conoscenze e competenze, di applicare le metodologie acquisite in ambiti diversi da quelli investigati durante il corso, utilizzando fonti di informazioni diverse dai libri di testo adottati, quali informazioni recuperabili online. |
Prerequisiti | |
---|---|
Nessuno |
Contenuti | |
---|---|
[CONCETTI PRELIMINARI] (8H LEZ + 2H ES.) - INFORMAZIONE E DATO, TRATTAMENTO DELL’INFORMAZIONE, HARDWARE E SOFTWARE. - ARCHITETTURA DI UN SISTEMA PER L’ELABORAZIONE DELL’INFORMAZIONE. COMPONENTI DELLA MACCHINA DI VON NEUMANN E SUO FUNZIONAMENTO. CICLO FETCH-DECODE-EXECUTE. LINGUAGGIO MACCHINA. GERARCHIE DI MEMORIA. - CODIFICA E RAPPRESENTAZIONE DELL’INFORMAZIONE. CONCETTO DI LINGUAGGIO E SUA FUNZIONE. LINGUAGGI NATURALI E PROBLEMI DI AMBIGUITÀ. LINGUAGGIO FORMALE. RAPPRESENTAZIONE DELL’INFORMAZIONE NEI CALCOLATORI. CODIFICA BINARIA DI NUMERI E CARATTERI. SISTEMA DI NUMERAZIONE POSIZIONALE. BASI DI RAPPRESENTAZIONE E TECNICHE DI CONVERSIONE TRA BASI. TECNICHE DI RAPPRESENTAZIONE NUMERICA. - ALGEBRA DI BOOLE E CIRCUITI LOGICI. CARATTERISTICHE ED AMBITI DI UTILIZZO. RELAZIONE TRA ALGEBRA BOOLEANA E CIRCUITI LOGICI. PRINCIPALI OPERATORI: AND, OR, NOT. PROPRIETÀ E LEGGI DELL’ALGEBRA BOOLEANA. TAVOLE DI VERITÀ. FUNZIONI LOGICHE. PRODOTTO FONDAMENTALE O MINIMO. RAPPRESENTAZIONE IN FORMA CANONICA. TRASFORMARE UNA TAVOLA DI VERITÀ IN UNA FUNZIONE LOGICA. PORTE E CIRCUITI LOGICI. TRASFORMARE UNA FUNZIONE BOOLEANA IN UN CIRCUITO LOGICO E VICEVERSA. [FONDAMENTI DI PROGRAMMAZIONE] (8H LEZ + 2H ES.) - MODELLAZIONE FORMALE DI UN PROBLEMA. FASI NECESSARIE ALLA RISOLUZIONE DI UN PROBLEMA TRAMITE ELABORATORE. CONCETTO DI ALGORITMO E RELATIVE DEFINIZIONI. GLI ALGORITMI NEL TRATTAMENTO DELL’INFORMAZIONE. CARATTERISTICHE PRINCIPALI DEGLI ALGORITMI. RAPPRESENTAZIONI DEGLI ALGORITMI. PROCESSO PER LA CREAZIONE DI UN ALGORITMO. MODELLAZIONE IN FORMA ALGORITMICA DI ATTIVITÀ QUOTIDIANE. - PROGRAMMAZIONE STRUTTURATA. STRUTTURE DI CONTROLLO: SEQUENZA, SELEZIONE SEMPLICE, SELEZIONE A DUE VIE, CICLO A CONDIZIONE INIZIALE, CICLO A CONDIZIONE FINALE. RAPPRESENTAZIONE DI ALGORITMI ELEMENTARI MEDIANTE DIAGRAMMI DI FLUSSO. - FASI DEL PROCESSO DI PROGRAMMAZIONE. LINGUAGGI DI PROGRAMMAZIONE. ELEMENTI COSTITUTIVI. CLASSIFICAZIONE. CONCETTI DI ASSEMBLATORE E TRADUTTORE, DI COMPILATORE ED INTERPRETE. - CARATTERISTICHE DI UN SOFTWARE PER L'APPRENDIMENTO DELLA PROGRAMMAZIONE STRUTTURATA. IMPLEMENTAZIONE DELLE STRUTTURE DI CONTROLLO MEDIANTE TALE SOFTWARE E SEMPLICI ALGORITMI. [PROGRAMMAZIONE IN MATLAB] (20H LEZ) - INTRODUZIONE ALL’AMBIENTE ED AL LINGUAGGIO MATLAB. VARIABILI. OPERATORI ARITMETICI E LORO PRECEDENZA. WORKSPACE E SESSIONE DI LAVORO. - ARRAY E MATRICI. INDICIZZAZIONE E OPERAZIONI ELEMENTARI ED ARITMETICHE SU ARRAY E MATRICI. - COSTRUZIONE INCREMENTALE DEI PROGRAMMI MEDIANTE UN PROCESSO TOP-DOWN. DECOMPOSIZIONE FUNZIONALE. FUNZIONI, PROTOTIPO DI FUNZIONE, CHIAMATA PER VALORE E PER RIFERIMENTO, FUNZIONI PREDEFINITE E DEFINITE DALL’UTENTE. M-FILE . GESTIONE DELL’INPUT/OUTPUT IN MATLAB. - OPERATORI RELAZIONALI E LOGICI. STRUTTURE DI CONTROLLO SELETTIVE E ITERATIVE. - GESTIONE DEI FILE IN MATLAB. CARATTERISTICHE DEI FILE. APERTURA/CHIUSURA, SCRITTURA/LETTURA. IMPORTARE DATI. - PRINCIPALI TIPOLOGIE DI GRAFICO IN MATLAB. CREAZIONE E PERSONALIZZAZIONE DI GRAFICI. PLOTTING E SUBPLOTTING. - CENNI SU SIMULINK, DEBUGGING E RICORSIONE. [SVILUPPO DI ALGORITMI IN MATLAB] (20H ES.) - PROGETTAZIONE, SVILUPPO E TESTING DI ALGORITMI SU VETTORI E MATRICI: MINIMO, MASSIMO, TRASPOSTA DI UNA MATRICE, PRODOTTO SCALARE, PRODOTTO MATRICIALE, MCD, MCM, FATTORIALE, TEST DI PRIMALITÀ, CALCOLO DEI DIVISORI, ETC. ALGORITMI DI RICERCA E DI ORDINAMENTO. - PROGETTAZIONE, SVILUPPO E TESTING DI ALGORITMI SU VETTORI E MATRICI PER LA RISOLUZIONE DI PROBLEMI “REAL LIFE”. |
Metodi Didattici | |
---|---|
L’INSEGNAMENTO PREVEDE 60 ORE DI DIDATTICA TRA LEZIONI ED ESERCITAZIONI(6 CFU). IN PARTICOLARE SONO PREVISTE 36 ORE DI LEZIONE IN AULA E 24 ORE DI ESERCITAZIONI. LE ESERCITAZIONI PREVEDONO LA RISOLUZIONE DI PROBLEMI ATTRAVERSO LA FORMULAZIONE DI ALGORITMI, CHE VENGONO CODIFICATI IN MATLAB E TESTATI PER VERIFICARNE LA CORRETTEZZA. LA FREQUENZA AI CORSI E' FORTEMENTE CONSIGLIATA. |
Verifica dell'apprendimento | |
---|---|
- LA PROVA SCRITTA È STRUTTURATA IN DUE PARTI: LA PRIMA È COMPOSTA DA ALCUNI QUESITI TEORICI ED ESERCIZI SULLA PRIMA PARTE DEL CORSO, MENTRE LA SECONDA RIGUARDA LO SVILUPPO DI PROGRAMMI MATLAB. È CONDIZIONE ESSENZIALE PER IL RAGGIUNGIMENTO DELLA SUFFICIENZA LA CONOSCENZA DEI MECCANISMI ALLA BASE DEL FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO (MACCHINA DI VON NEUMANN), LA CAPACITÀ DI EFFETTUARE CONVERSIONI DI BASE TRA NUMERI RAPPRESENTATI IN NOTAZIONE POSIZIONALE (DECIMALE/BINARIO E VICEVERSA), LA CAPACITÀ DI RAPPRESENTARE NUMERI IN MODULO E SEGNO ED IN COMPLEMENTO A DUE, LA CAPACITÀ DI RAPPRESENTARE UNA FUNZIONE LOGICA MEDIANTE TAVOLA DI VERITÀ E CIRCUITO LOGICO, LA CAPACITÀ DI OPERARE SULLE STRUTTURE DATI PRINCIPALI DI MATLAB (ARRAY E MATRICI): IN PARTICOLARE, LO STUDENTE DOVRÀ ESSERE IN GRADO DI INDICIZZARE E MANIPOLARE TALI STRUTTURE E DOVRÀ DIMOSTRARE DI AVERE PADRONANZA CON LE PRINCIPALI FUNZIONI MATLAB CHE OPERANO SU MATRICI (MINIMO, MASSIMO, FUNZIONI DI RICERCA, ETC.), LA CAPACITÀ CREARE ED INTERPRETARE GRAFICI IN MATLAB. LO STUDENTE RAGGIUNGE IL LIVELLO DI ECCELLENZA SE SI RIVELA IN GRADO DI AFFRONTARE CON CONSAPEVOLEZZA PROBLEMI INCONSUETI O NON ESPRESSAMENTE TRATTATI A LEZIONE. LA VOTAZIONE DIPENDERÀ DAL GRADO DI MATURITÀ ACQUISITO SUI CONTENUTI E GLI STRUMENTI METODOLOGICI ESPOSTI DEL CORSO, TENENDO CONTO ANCHE DELLA QUALITÀ DELL'ESPOSIZIONE SCRITTA E ORALE E DELL'AUTONOMIA DI GIUDIZIO DIMOSTRATA. |
Testi | |
---|---|
- DONATELLA SCIUTO, GIACOMO BUONANNO, LUCA MARI - INTRODUZIONE AI SISTEMI INFORMATICI V EDIZIONE, MCGRAW-HILL. - WILLIAM J. PALM III, MATLAB 7 PER L’INGEGNERIA E LE SCIENZE, MCGRAW-HILL. |
Altre Informazioni | |
---|---|
IL CORSO SI TIENE IN ITALIANO |
BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-08-21]