FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

Mario Casillo FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

0612600046
DIPARTIMENTO DI INGEGNERIA INDUSTRIALE
CORSO DI LAUREA
INGEGNERIA GESTIONALE
2020/2021

OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2018
SECONDO SEMESTRE
CFUOREATTIVITÀ
880LEZIONE


Obiettivi
CONOSCENZA E COMPRENSIONE
CONOSCENZE SULL’ARCHITETTURA DEGLI ELABORATORI E COMPRENSIONE DELLA MODALITÀ DI FUNZIONAMENTO DI UN ELABORATORE ELETTRONICO, DELLA CODIFICA E RELATIVA RAPPRESENTAZIONE DELLE INFORMAZIONI, DEI COSTRUTTI FONDAMENTALI DELLA PROGRAMMAZIONE STRUTTURATA, DI VETTORI E MATRICI, DELLA RAPPRESENTAZIONE DEGLI ALGORITMI CON DIAGRAMMI A BLOCCHI, DELLA SINTASSI DEL LINGUAGGIO PYTHON E DEL SUO UTILIZZO PER LA REALIZZAZIONE DI ALGORITMI. CONOSCENZA DELLE FASI DI PROGETTAZIONE ED ANALISI DI UN PROGRAMMA. CONOSCENZA DI BASE DELLE PRINCIPALI CARATTERISTICHE DI UNA BASE DI DATI ED ELEMENTI DEL LINGUAGGIO SQL.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE – ANALISI INGEGNERISTICA
CAPACITÀ DI SVILUPPARE SEMPLICI ALGORITMI ATTRAVERSO LA SCOMPOSIZIONE IN SOTTO-PROBLEMI, RAPPRESENTANDO TALI ALGORITMI CON DIAGRAMMI A BLOCCHI. CAPACITÀ DI TRADURRE DETTI ALGORITMI IN LINGUAGGIO PYTHON MEDIANTE PROGRAMMAZIONE STRUTTURATA, CURANDO LA COMPRENSIBILITÀ DEI PROGRAMMI. SAPER INTERPRETARE E COMPRENDERE CODICE SCRITTO IN LINGUAGGIO PYTHON. CAPACITÀ DI PRODURRE E COMPRENDERE SEMPLICI INTERROGAZIONI A BASI DI DATI, IN LINGUAGGIO SQL.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE – PROGETTAZIONE INGEGNERISTICA
SAPER CODIFICARE SEMPLICI ALGORITMI UTILIZZANDO IL LINGUAGGIO PYTHON. CAPACITÀ DI VERIFICARE IL CORRETTO FUNZIONAMENTO DI PROGRAMMI PYTHON. SAPER PRODURRE E COMPRENDERE SEMPLICI INTERROGAZIONI IN LINGUAGGIO SQL, AL FINE DI OTTENERE INFORMAZIONI DA ESTRARRE DA UNA BASE DI DATI.
AUTONOMIA DI GIUDIZIO – PRATICA INGEGNERISTICA
SAPER SCEGLIERE ED UTILIZZARE I COSTRUTTI BASE DEL LINGUAGGIO PYHON PER LA CODIFICA DI ALGORITMI. COMPRENDERE SEMPLICI INTERROGAZIONI SU BASI DI DATI, IN LINGUAGGIO SQL.
CAPACITÀ TRASVERSALI - CAPACITÀ DI APPRENDERE
IL CORSO MIRA A SVILUPPARE LA CAPACITÀ DI APPRENDIMENTO DEGLI STUDENTI CHE CONSENTA LORO 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.)
oINFORMAZIONE E DATO, TRATTAMENTO DELL’INFORMAZIONE, HARDWARE E SOFTWARE.
oARCHITETTURA DI UN SISTEMA PER L’ELABORAZIONE DELL’INFORMAZIONE. COMPONENTI DELLA MACCHINA DI VON NEUMANN. CICLO FETCH-DECODE-EXECUTE.
oCODIFICA E RAPPRESENTAZIONE DELL’INFORMAZIONE. CONCETTO DI LINGUAGGIO E SUA FUNZIONE. 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.
oALGEBRA 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. TRASFORMARE UNA FUNZIONE BOOLEANA IN UN CIRCUITO LOGICO E VICEVERSA.
FONDAMENTI DI PROGRAMMAZIONE (8H LEZ. + 2H ES.)
oMODELLAZIONE E RISOLUZIONE DI UN PROBLEMA TRAMITE ELABORATORE. CONCETTO DI ALGORITMO. CARATTERISTICHE PRINCIPALI DEGLI ALGORITMI. RAPPRESENTAZIONI DEGLI ALGORITMI. MODELLAZIONE IN FORMA ALGORITMICA DI ATTIVITÀ QUOTIDIANE.
oPROGRAMMAZIONE STRUTTURATA. STRUTTURE DI CONTROLLO: SEQUENZA, SELEZIONE SEMPLICE, SELEZIONE A DUE VIE, CICLO A CONDIZIONE INIZIALE, CICLO A CONDIZIONE FINALE.
oFASI DEL PROCESSO DI PROGRAMMAZIONE. LINGUAGGI DI PROGRAMMAZIONE. ELEMENTI COSTITUTIVI. CLASSIFICAZIONE. CONCETTI DI ASSEMBLATORE E TRADUTTORE, DI COMPILATORE ED INTERPRETE.
oCARATTERISTICHE DI UN SOFTWARE PER L'APPRENDIMENTO DELLA PROGRAMMAZIONE STRUTTURATA.
PROGRAMMAZIONE IN PYTHON (20H LEZ.)
oINTRODUZIONE ALL’AMBIENTE ED AL LINGUAGGIO PYTHON.
oOPERAZIONI ELEMENTARI SU NUMERI E STRINGHE. LISTE, INSIEMI E DIZIONARI.
oOPERATORI RELAZIONALI E LOGICI. STRUTTURE DI CONTROLLO SELETTIVE E ITERATIVE.
oDECOMPOSIZIONE FUNZIONALE. FUNZIONI, CHIAMATA PER VALORE E PER RIFERIMENTO, FUNZIONI PREDEFINITE E DEFINITE DALL’UTENTE. GESTIONE DELL’INPUT/OUTPUT.
oGESTIONE DEI FILE.
oPROGRAMMAZIONE ORIENTATA AGLI OGGETTI: CLASSI E OGGETTI.
oCENNI SU EREDITARIETÀ E POLIMORFISMO.
oCENNI SU ECCEZIONI E RICORSIONE.
SVILUPPO DI ALGORITMI IN PYTHON (20H ES.)
oPROGETTAZIONE, SVILUPPO E TESTING DI ALGORITMI PER LA RISOLUZIONE DI PROBLEMI IN PYTHON.
INTRODUZIONE ALLE BASI DI DATI ED AL LINGUAGGIO SQL (10H LEZ.)
oINTRODUZIONE ALLE BASI DI DATI, AI DBMS, FASI DI PROGETTAZIONE DI UNA BASE DI DATI, MODELLO E-R.
oINTRODUZIONE AL LINGUAGGIO SQL, DEFINIZIONE DI TABELLE, INTERROGAZIONI IN SQL, ISTRUZIONI AGGIORNAMENTO.
oFUNZIONI DI AGGREGAZIONE, ALIAS IN SQL, RAGGRUPPAMENTI E RAGGRUPPAMENTI CON CONDIZIONI.
LINGUAGGIO SQL (10H ES.)
oDEFINIZIONE DI TABELLE, REALIZZAZIONE DI SEMPLICI INTERROGAZIONI, DEFINIZIONE DI ISTRUZIONI DI AGGIORNAMENTO, RAPPRESENTAZIONE DI SEMPLICI SCHEMI E-R.
Metodi Didattici
IL CORSO PREVEDE LEZIONI IN AULE TRADIZIONALI ED ESERCITAZIONI PRATICHE SUGLI ARGOMENTI TRATTATI IN CLASSE. LE ESERCITAZIONI PREVEDONO LA RISOLUZIONE DI PROBLEMI ATTRAVERSO LA FORMULAZIONE DI ALGORITMI CHE VENGONO TRADOTTI IN PYTHON E TESTATI PER VERIFICARNE LA CORRETTEZZA.
Verifica dell'apprendimento
LA VERIFICA DEL RAGGIUNGIMENTO DEGLI OBIETTIVI PUÒ AVVENIRE IN DUE MODALITÀ:
- DURANTE L'EROGAZIONE DEL CORSO (IN ITINERE)
A.TRE PROVE INTERCORSO DI VERIFICA, DA SVOLGERE DURANTE IL PERIODO DELLE ATTIVITÀ DIDATTICHE. LA PRIMA PROVA INTERCORSO VERTERÀ SUGLI ARGOMENTI TRATTATI NELLA PRIMA PARTE DI PROGRAMMA SVOLTO DEL CORSO. LA SECONDA PROVA INTERCORSO VERTERÀ SU ESERCIZI PRATICI RELATIVI ALLO SVILUPPO DI UN PROGRAMMA IN PYTHON. LA TERZA PROVA INTERCORSO (PROVA DI FINE CORSO) VERTERÀ SULLE BASI DI DATI E SUL LINGUAGGIO SQL.
B.COLLOQUIO ORALE. DISCUSSIONE DELLA PROVA SCRITTA E DEL LISTATO FUNZIONANTE DEL PROGRAMMA IN PYTHON PRESENTATO DALLO STUDENTE AL COLLOQUIO.
- APPELLI SUCCESSIVI
A.PROVA SCRITTA, RELATIVA ALLO SVILUPPO DI UN PROGRAMMA IN PYTHON, SUGLI ARGOMENTI TRATTATI AL CORSO E SULLE BASI DI DATI.
B.COLLOQUIO ORALE. LA DISCUSSIONE PARTIRÀ DAI CONTENUTI DELLA PROVA SCRITTA E DAL LISTATO FUNZIONANTE DEL PROGRAMMA IN PYTHON PRESENTATO DALLO STUDENTE AL COLLOQUIO.
È 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 RISOLVERE PROBLEMI MEDIANTE PYTHON. CONOSCENZE DI BASE SULLE BASI DI DATI (DEFINIZIONE DI BASI DI DATI E DBMS, ELEMENTI PRINCIPALI DEL MODELLO E-R, SEMPLICI INTERROGAZIONI IN LINGUAGGIO SQL, ISTRUZIONI DI AGGIORNAMENTO).
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
oDONATELLA SCIUTO, GIACOMO BUONANNO, LUCA MARI: “INTRODUZIONE AI SISTEMI INFORMATICI”. MCGRAW-HILL (V EDIZIONE).
oCAY HORSTMANN, RANCE D. NECAISE: “CONCETTI DI INFORMATICA E FONDAMENTI DI PYTHON”. APOGEO EDUCATION, MAGGIOLI EDITORE (SECONDA EDIZIONE).
oMATERIALE AGGIUNTIVO: SLIDE E DISPENSE FORNITE DAL DOCENTE MEDIANTE IL SITO WEB DEL CORSO.
Altre Informazioni
Insegnamento erogato in lingua italiana.
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2022-05-23]