Docente
|
CINCOTTI Gianluca
(programma)
Introduzione alla programmazione Problemi ed Algoritmi. Variabili, Espressioni ed Assegnazioni. Diagrammi di flusso, Notazione lineare strutturata, Teorema di Böhm-Jacopini. Codifica dell'informazione: numeri interi ed a virgola mobile, caratteri, stringhe, immagini e suoni (cenni). Linguaggi di programmazione Linguaggi di programmazione: macchina, assembly e di alto livello. Problema della traduzione : compilazione ed interpretazione. Installazione dell'ambiente di sviluppo per il linguaggio Python. Primo programma: Editing, Running, Debugging. Costrutti del linguaggio Python Sintassi di base, Tipi di dato, Operatori predefiniti, Gestione dell’I/O. Numeri e funzioni matematiche. Controllo del flusso: costrutti di selezione ed iterativi. Funzioni. Strutture dati predefinite in Python Stringhe. Liste, Tuple. Insiemi, Dizionari. Argomenti avanzati Algoritmi notevoli: Ricerca, Ordinamento, Fusione. Cenni di complessità computazionale. Funzioni ricorsive. Moduli. Cenni alle librerie matematiche NumPy e SciPy ed alla libreria grafica PlotPy.
(1) A.Downey, Think Python, 2nd Ed., Grean Tea Press (disponibile online). (2) C.Horstmann - R.Necaise, Concetti di Informatica e fondamenti di Python, 2nd. Ed., Maggioli Editore. (3) M.Lutz, Learning Python, 4th Ed., O'Reilly (disponibile online). (4) D.Pine, Introduction to Python for Science and Engineering, SMTEBooks - CRC Press (disponibile online).
Relativamente allo svolgimento del corso, il testo (2) è adottato.
Si tenga presente che tutti i testi sopraindicati sono comunque idonei al conseguimento degli obiettivi dell'apprendimento, considerando che:
- il libro (2) è consigliato ai principianti in quanto introduttivo alla programmazione e con una grande quantità di esercizi presenti in esso; - il libro (3) è di livello avanzato ed è consigliato a chi è già nota la programmazione.
|