CODICE 101448 ANNO ACCADEMICO 2025/2026 CFU 6 cfu anno 1 INGEGNERIA CHIMICA E DI PROCESSO 11918 (L-9 R) - GENOVA 6 cfu anno 1 INGEGNERIA ELETTRICA 11879 (L-9 R) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05 LINGUA Italiano SEDE GENOVA PERIODO 2° Semestre PRESENTAZIONE L'insegnamento introduce i principali concetti dell'elaborazione dell'informazione tramite calcolatori, con particolare enfasi sulla parte di programmazione. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI L'insegnamento si prefigge l'obiettivo di fornire agli studenti le nozioni fondamentali riguardanti le principali architetture dei sistemi di elaborazione e dei dispositivi che li compongono. Accanto ad una trattazione formale della codifica e della elaborazione dell'informazione, l'allievo apprendera' il linguaggio C, strumento indispensabile per realizzare esempi di programmi che correderanno i diversi argomenti affrontati, acquisendo le metodologie necessarie alla gestione della memoria del calcolatore e delle strutture in essa ospitate. Verranno inoltre fornite le nozioni per il debug e il test delle procedure realizzate negli ambienti di sviluppo piu' comuni, suggerendo alcune buone pratiche per la gestione dell'informatica personale. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO 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. Gli obiettivi sono, nello specifico: - Capacità di comprendere il funzionamento di un calcolatore e dei suoi principali componenti. - Capacità di comprendere il funzionamento di un sistema operativo e dei suoi principali componenti - Capacità di sviluppare semplici applicativi con il linguaggio Python PREREQUISITI Il corso non prevede particolari prerequisiti. MODALITA' DIDATTICHE Il corso è svolto dal docente mediante lezioni frontali alternate ad esercitazioni svolte in classe con il supporto del docente. PROGRAMMA/CONTENUTO Il Calcolatore: struttura e funzionalità dei principali componenti Il Sistema Operativo: struttura e funzionalità dei principali componenti Programmazione: dagli algoritmi al codice Il linguaggio Python: variabili e gestione della memoria; espressioni numeriche e testuali; espressioni logiche; strutture di controllo: scelta condizionale, iterazione, procedure e funzioni; strutture dati predefinite: liste, insiemi, dizionari; utilizzo di I/O da file e da console. TESTI/BIBLIOGRAFIA Tony Gaddis - Introduzione a Python (5a edizione) - Pearson Dispense e materiali didattici resi disponibili dal docente sul sito web del corso e proiettati a lezione. LEZIONI INIZIO LEZIONI https://corsi.unige.it/8716/p/studenti-orario Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L'esame consiste di una prova scritta cartacea e di una prova pratica al computer. La parte di programmazione deve essere effettuata sia su carta (pseudocodice) che su computer (codice Python). Se le due parte non coincidessero si procede a una prova orale. Durante la parte cartacea è consentito utilizzare appunti o testi ma non sono ammessi palmari o telefonini. Durante la parte al calcolatore si può usare ogni tipo di supporto. MODALITA' DI ACCERTAMENTO Capacità di sviluppare un'applicazione Python che legga dati da un file di testo, li rielabori e produca un output desiderato.