CODICE 97164 ANNO ACCADEMICO 2021/2022 CFU 9 cfu anno 1 INGEGNERIA GESTIONALE 10716 (L-9) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Italiano SEDE GENOVA PERIODO 2° Semestre MATERIALE DIDATTICO AULAWEB OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI L’obiettivo dell'insegnamento è quello di introdurre lo studente ai concetti fondamentali relativi ai calcolatori e alla loro programmazione. L'insegnamento fornirà conoscenze sull’organizzazione di un’architettura di elaborazione, sulla struttura dei principali programmi applicativi, e sulla programmazione in linguaggio Python, con riferimento ai principali tipi di dato e costrutti di programmazione. Nell’ambito dell'insegnamento lo studente acquisirà le competenze per realizzare semplici applicativi utilizzando il linguaggio Python, la capacità di valutarne in modo empirico le prestazioni e di scegliere le migliori strutture dati, fra quelle disponibili nel linguaggio, per realizzare determinati compiti. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Lo studente acquisirà le competenze per realizzare semplici applicativi utilizzando il linguaggio Python, la capacità di valutarne in modo empirico le prestazioni e di scegliere le migliori strutture dati, fra quelle disponibili nel linguaggio, per realizzare determinati compiti. In particolare, al termine dell'insegnamento lo studente deve essere in grado di ricordare i concetti fondamentali relativi ad alcuni modelli di calcolo e alla programmazione analizzare pezzi di programmi (scritti in Python) e comprenderne il funzionamento modificare, eseguire e testare programmi di piccole dimensioni a partire da una specifica informale di un problema, progettare e scrivere (parti di) programmi che risolvono il problema MODALITA' DIDATTICHE L'insegnamento si svolge in 12 settimane, ciascuna delle quali prevede di norma 4 ore di lezioni in aula (comprensive di teoria ed esercizi) e 3 ore di laboratorio informatico (che potrebbe svolgersi, almeno in parte, a distanza utilizzando la piattaforma teams). PROGRAMMA/CONTENUTO Nozioni base sui calcolatori: rappresentazione dei dati e aritmetica degli elaboratori; cenni ad alcuni modelli di calcolo; cenni sull'architettura von Neumann e sui sistemi operativi finalizzati alla comprensione base dell'esecuzione di programmi. Introduzione alla programmazione (usando Python): i linguaggi di programmazione di alto livello; stato e cambiamento di stato (variabili, espressioni, istruzioni); programmazione strutturata e funzioni; tipi base e strutturati; algoritmi semplici e loro implementazione; approccio divide-et-impera e memoizzazione di funzioni. Programmazione in piccolo (usando Python): progettazione di programmi sequenziali di dimensione contenuta a partire dalla specifica informale del problema; compilazione/interpretazione di programmi; esecuzione del codice; idee base di testing e debugging. TESTI/BIBLIOGRAFIA Il materiale didattico (incluse eventuali video registrazioni) sarà reso disponibile su aulaweb. Inoltre è possibile consultare e scaricare la documentazione disponibile online in Inglese https://docs.python.org/3/ e Italiano https://www.python.it/doc/ DOCENTI E COMMISSIONI EUGENIO MOGGI Ricevimento: Vedi pagina web https://person.dibris.unige.it/moggi-eugenio/ in subordine concordare un appuntamento per email (moggi@unige.it) Commissione d'esame EUGENIO MOGGI (Presidente) MANUELA CHESSA GIOVANNI LAGORIO GIANNA REGGIO ARMANDO TACCHELLA LEZIONI INIZIO LEZIONI Consultare l'orario al seguente link: https://easyacademy.unige.it/portalestudenti/ Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L'esame consiste in due prove, che possono essere sostenute indipendentemente: una prova a quiz (contribuisce al 40% al voto finale, se valutata almeno 15/30) una prova di laboratorio (contribuisce al 60% al voto finale, se valutata almeno 15/30). Per i soli studenti che frequentano l'insegnamento nell'a.a. in cui lo hanno inserito nel piano di studi sono previste consegne in itinere, con correzione a campione, che danno diritto ad un bonus di 2 punti sul voto finale (il bonus si conserva anche negli a.a. successivi). Agli studenti che confermano la consegna di una prova di laboratorio valutata meno di 10/30 viene assegnato un malus di 1 punto sul voto finale. Si rimanda all'istanza AulaWeb specifica dell'insegnamento per i dettagli sulle consegne in itinere, le modalità di svolgimento delle prove d'esame, i bonus e i malus. MODALITA' DI ACCERTAMENTO La prova a quiz serve a verificare la conoscenza delle nozioni fondamentali e la capacità di analizzare e comprendere pezzi di codice. La prova di laboratorio serve ad accertare la capacità di scrivere, modificare, eseguire e testare programmi. Calendario appelli Data appello Orario Luogo Tipologia Note 10/01/2022 09:00 GENOVA Laboratorio 11/01/2022 09:00 GENOVA Scritto 07/02/2022 09:00 GENOVA Laboratorio 08/02/2022 09:00 GENOVA Scritto 10/06/2022 09:00 GENOVA Laboratorio 13/06/2022 09:00 GENOVA Scritto 11/07/2022 09:00 GENOVA Laboratorio 13/07/2022 09:00 GENOVA Scritto 31/08/2022 09:00 GENOVA Laboratorio 02/09/2022 09:00 GENOVA Scritto