Docente
|
Nicolussi Raffaele
(programma)
Riferimenti:
C. Rif. [1]: Horstmann e R. N. Necaise. Concetti di informatica e fondamenti di Python. Ed. Apogeo, 2014.
CI. Rif. [2]: Dispense e altro materiale proposto dai docenti, reperibile su: https://piazza.com/uniroma1.it/fall2018/ldi1819/resources
Nozioni introduttive
Introduzione al corso. Architettura generale di un calcolatore e schema di Von Neumann.
Concetto di algoritmo
Rif. [1], capitolo 1
Rif. [2], Dispense presenti sul sito
Nozioni elementari sulla programmazione in python
Uso della shell e I/O di base. Uso dell'ambiente di sviluppo IDLE
Rif. [1], capitolo 1
Rif. [2], Dispense presenti sul sito
Aspetti di base della programmazione in python
Espressioni aritmetiche e tipi di dati elementari. Variabili e istruzioni di assegnazione.
Rappresentazione dell'informazione. Set di caratteri e funzioni chr, ord. Il tipo di dato stringa.
Rif. [1], capitolo 2 fino a 2.6 escluso
Rif. [2], Dispense presenti sul sito
Decisioni - costrutti if ed else-if (elif)
Istruzioni if ed else-if (elif). Operatori relazionali. Variabili booleane e operatori. Diramazioni annidate e alternative multiple.
Rif. [1], capitolo 3
Rif. [2], Dispense presenti sul sito
Cicli
Ciclo for. Ciclo while. Algoritmi che usano cicli. Cicli annidati
Rif. [1], capitolo 4 escluso 4.9.3
Rif. [2], Dispense presenti sul sito
Funzioni e moduli
Introduzione alla programmazione Python con funzioni. Moduli e loro uso. Esecuzione di script.
Rif. [1], capitolo 5
Rif. [2], Dispense presenti sul sito
Liste
Proprietà di base. Operazioni sulle liste. Algoritmi elementari che fanno uso di liste. Tuple.
Rappresentazione di tabelle e matrici. Nozioni elementari sulla gestione della memoria: riferimenti/puntatori a oggetti.
Rif. [1], capitolo 6, no 6.5 e 6.6
Rif. [2], Dispense presenti sul sito
File e file system
Apertura, chiusura e manipolazione di file testo. Funzioni di base per l'accesso al file system.
Rif. [1], capitolo 7 fino a 7.3 escluso
Rif. [2], Dispense presenti sul sito
Esempi visti a lezione
Dizionari
Accesso e manipolazione di dizionari. Uso di dizionari per realizzare strutture dati complesse.
Rif. [1], 8.2 e 8.3
Rif. [2], Dispense presenti sul sito
Problemi di ordinamento e ricerca
Il problema di caratterizzare e confrontare l'efficienza di algoritmi e programmi. Cenni alla complessità computazionale. Algoritmi per la ricerca sequenziale e per quella binaria. Analisi qualitativa e sperimentale dei costi per la ricerca binaria e per quella sequenziale.
Rif. [1], 12.6
Esempi visti a lezione
Rif. [2], Dispense presenti sul sito
Il libro di riferimento è:
C. Horstmann R. D. Necaise "Concetti di Informatica e fondamenti di Python", ed. Maggioli, ISBN 9788891605085
http://www.maggiolieditore.it/9788891605085-concetti-di-informatica-e-fondamenti-di-python.html
Altro materiale didattico sarà reso disponibile nella sezione Resources del sito del corso:
https://piazza.com/uniroma1.it/fall2018/ldi1819/resources
|