Programmazione — 016IN (6cfu) Docente: Eugenio Omodeo 2013/2014 Il corso, destinato a studenti/-esse del primo anno d’Ingegneria dell’Informazione, non richiede propedeuticità; una prova del Laboratorio di programmazione (3 cfu) Docente: Alberto Casagrande (vedi a questa URL) costituisce parte integrante dell’esame, che darà luogo a una verbalizzazione in tutto. Obiettivi formativi: Il corso di Programmazione introduce principi progettuali e tecniche basilari di programmazione degli elaboratori. I paradigmi prescelti sono la • Programmazione strutturata e la • Programmazione orientata agli oggetti. L’obiettivo centrale, che è quello di insegnare a risolvere problemi programmando un calcolatore, comporta lo studio di tecniche per • analizzare un problema, • progettare un algoritmo che risolva il problema, • implementare l’algoritmo in Java. Cruciale, per prepararsi in materia, molto esercizio pratico al calcolatore; comunque, questo corso non richiede esperienze pregresse di programmazione da parte dello studente. 1 Sillabo: 1. Sistemi di elaborazione. 2. Algoritmi e programmazione. 3. Introduzione al linguaggio Java e a un suo ambiente di sviluppo. 4. Strutture di controllo decisionali e iterative. 5. Metodi e loro invocazione (passaggio di parametri). 6. Fondamenti della programmazione orientata agli oggetti (classi, metodi statici e dinamici, ereditarietà e polimorfismo, incapsulamento). 7. Programmazione a oggetti in Java. 8. Tipi di dato fondamentali (array, pile, code); utilizzo dei file. 9. Strutture di controllo avanzate (ricorsione, eccezioni). Testi consigliati: Il libro di testo adottato per l’a.a. 2013/2014 è: Walter Savitch. Programmazione con Java, 2a edizione. Edizione italiana a cura di Daniela Micucci. Pearson Italia, 2a ed., settembre 2013. ISBN 978-88-7192-961-3 Altri utili testi di riferimento sono: Paolo Coppola, Stefano Mizzaro. Laboratorio di programmazione in Java. APOGEO, 2005. ISBN 88-503-2145-7 Roberto Bruni, Andrea Corradini, Vincenzo Gervasi. Programmazione in Java. 2a edizione. APOGEO, 2011. ISBN 978-88-503-3069-0 ed anche Cay Horstmann. Concetti di informatica e fondamenti di Java. Nuova edizione per le versioni 5 e 6. 4a edizione. APOGEO, 2007. ISBN 978-88-503-2623-5 2 The JavaTM Tutorials URL http://java.sun.com/docs/books/tutorial/ David M. Arnow, Scott Dexter, Gerald Weiss. Introduction to Programming Using Java. An Object-Oriented Approach. 2a ed., Pearson, 2004. Harvey M. Deitel, Paul J. Deitel. Java. Fondamenti di programmazione. 3a edizione. APOGEO, 2005. David J. Eck. Introduction to Programming Using Java Version 5.0. Testo reperibile in rete alla URL http://math.hws.edu/javanotes. Patrick Niemeyer, Jonathan Knudsen. Learning Java. O’Reilly, 2005. ISBN 978-0-596-00873-84 Altra documentazione utile: Per la preparazione della materia possono risultare utili i lucidi delle lezioni, in formato PDF, ed altri documenti disponibili alla URL http://moodle. units.it/moodle/course/view.php?id=1843 (Moodle dell’insegnamento) e nell’archivio ftp://docenti.ing.units.it/arc_stud/Omodeo/. Modalità di verifica dell’apprendimento: Va dapprima superata la 0. prova di Laboratorio di Programmazione (esempi sono documentati sotto la relativa URL) Seguono: 1. una prova scritta (esempi sono disponibili nel Moodle dell’insegnamento e alla URL ftp://docenti.ing.units.it/arc_stud/Omodeo/TracceDEsameDiProgrammazione/) 2. discussione della prova scritta etc. Altre 2 regole. Occorre 1. superare prova di Laboratorio e prova scritta nella stessa sessione 2. raggiungere un certo punteggio-soglia nello scritto per poterlo ri-provare nell’appello successivo. 3