Nome dell’Insegnamento: Programmazione/Laboratorio di Programmazione Codice: F49001 Crediti: 18 Categoria: fondamentale Anno di Corso: 1 Condiviso dal CCL: Corso di Laurea in Informatica Docente: Maria A. Alberti, Lorenzo Capra, Mauro Ferrari, Giuliano Grossi, Giovanni Pighizzini Ore di didattica: 96 Ore di Laboratorio: 48 Semestre: primo Modalità d’esame: prova scritta, progetto e prova orale. Durante il corso sono previste prove intermedie che potranno esonerare da una o più parti dell’esame. Obiettivi del corso: Scopo dei corsi di Programmazione e Laboratorio di Programmazione è introdurre gli studenti alla programmazione mediante l’utilizzo di linguaggi ad oggetti. In particolare, si farà riferimento al linguaggio Java. Programma del corso: 1. Introduzione Computer. Hardware e software. Algoritmi e programmmi. Linguaggi: sintassi e semantica. Linguaggi di programmazione: linguaggi ad alto livello e linguaggi macchina. Dal programma in linguaggio ad alto livello al programma eseguibile: editor, compilatore, linker, interprete, macchina virtuale, debugger. Tipi di errore. 2. Programmazione ad oggetti in linguaggio Java Elementi base del linguaggio. Classi, metodi ed oggetti. Strutture di controllo. Ricorsione. Ereditarietà. 3. Introduzione alle strutture dati Liste, code, pile. Alberi binari. Alberi di ricerca. Bibliografia di riferimento: J. Lewis, W. Loftus, Java - Fondamenti di progettazione software, Addison-Wesley, 2001. K. Arnold, J. Gosling, D. Holmes, Java - Manuale ufficiale, Addison Wesley, 2001. Materiale preparato dai docenti, disponibile in forma elettronica su queste pagine. Altra bibliografia: D. Arnow, G. Weiss, Introduzione alla Programmazione con Java: un approccio Object-Oriented, Jackson Libri, 2000. C. S. Horstmann, Concetti di informatica e fondamenti di Java 2, Apogeo, 2000. H.M. Deitel, P.J. Deitel, Java, Fondamenti di Programmazione, Apogeo, 2000. D. Flanagan, Java in a Nutshell, O'Reilly & Associates, 2nd edition,1997. (Manuale di riferimento del linguaggio). S. N. Kamin, M.D. Mickunas, E.M. Reingold, An Introduction to Computer Science Using Java, McGraw-Hill, 1998. W. Savitch, Java: An Introduction to Computer Science and Programming, Prentice Hall, 1999. Modalità d'esame: L'esame dei corsi di Programmazione e Laboratorio di Programmazione si svolge in maniera coordinata e dà luogo ad un unico voto. L'esame consiste di una prova scritta, di un progetto e di una prova orale, che riguardano tutti gli argomenti trattati nei corsi. Il progetto consiste nella soluzione di un problema proposto dai docenti, mediante un programma Java. Durante il corso di Programmazione sono previsti tre compitini. Gli studenti che sostengono i compitini con esito positivo sono esonerati dalla prova scritta. Durante il corso di Laboratorio di Programmazione verranno assegnati tre problemi da risolvere mediante programmi Java. Gli studenti che risolvono correttamente tali problemi sono esonerati dalla presentazione del progetto. Si suggerisce vivamente agli studenti di sfruttare questa opportunità, in modo che la preparazione dell'esame segua di pari passo lo svolgimento del corso e l'esame stesso sia sostenuto subito dopo la fine del corso. URL del corso: http://homes.dsi.unimi.it/prog/