Il corso ha come scopo quello di introdurre gli studenti al metodo informatico, fornendo le basi metodologiche e le relative conoscenze dei paradigmi di programmazione procedurale e di quello orientato agli oggetti, e delle tecniche algoritmiche per la risoluzione di problemi e la verifica sperimentale dei programmi.
P. Crescenzi, Gocce di Java, Franco Angeli, 2014.
Java per Impazienti, Cay Horstmann, Pearson 2018.
Obiettivi Formativi
Le competenze attese per lo studente sono quelle di analizzare e schematizzare un problema, costruirne una soluzione servendosi degli strumenti algoritmici e di programmazione, saperne provare la correttezza e verificarne l'efficienza. Al termine del corso, gli studenti saranno in grado di implementare algoritmi per diversi tipi di problemi utilizzando un linguaggio di programmazione (in particolare, Java).
Prerequisiti
Nessun prerequisito.
Metodi Didattici
lezioni in aula e alcune esercitazioni in laboratorio
Altre Informazioni
Frequenza delle lezioni ed esercitazioni: raccomandata.
Strumenti a supporto della didattica: http://e-l.unifi.it.
Modalità di verifica apprendimento
Prova di laboratorio (50%), prova orale (50%).
Programma del corso
Algoritmi e programmi. Progettazione, analisi, implementazione e debugging. Rappresentazione dell’informazione. Programmazione procedurale. Il linguaggio Java. Tipi primitivi. Controllo del flusso. Metodi. Ricorsione. Programmazione orientata agli oggetti. Classi e oggetti. Interfacce e Ereditarietà. Programmazione funzionale. Programmazione Generica. Strutture di dati e Collezioni. Tecniche per la progettazione e l’implementazione di programmi. Verifica manuale e automatica dei programmi con test unitari.