L'insegnamento introduce i principali concetti dell'elaborazione dell'informazione tramite calcolatori, con particolare enfasi sulla parte di programmazione.
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.
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
Il corso non prevede particolari prerequisiti.
Il corso è svolto dal docente mediante lezioni frontali alternate ad esercitazioni svolte in classe con il supporto del docente.
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.
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.
https://corsi.unige.it/8716/p/studenti-orario
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.
Capacità di sviluppare un'applicazione Python che legga dati da un file di testo, li rielabori e produca un output desiderato.