La nuova pagina del corso è qui adesso (sarete rediretti in 5 secondi)

Programma del Corso

  • Linguaggi di programmazione (28 ore).
    • Macchine astratte, compilazione, interpretazione.
    • Sintassi, semantica.
    • Tipi di dato.
    • Espressioni e comandi.
    • Blocchi, ambiente e scoping.
    • Memoria.
    • Sottoprogrammi.
    • Strutture di controllo.
    • Oggetti e classi.
    • Passaggio di parametri.
  • Introduzione a Java (20 ore).
    • Concetti base, classi, oggetti, compilazione, esecuzione.
    • Specificatore accesso, overloading, ereditarietà.
    • Gerarchie di tipi, classi astratte, interfacce, risoluzione dei nomi, tipi primitivi.
    • Iteratori, eccezioni, generics.
    • Laboratorio.
  • Metodologie di programmazione (24 ore).
    • Astrazioni.
    • Astrazioni procedurali.
    • Eccezioni.
    • Astrazione sui dati.
    • Iteratori.
    • Gerarchie di tipi.
    • Polimorfismo.

Orario

Martedì: 9-11 (Lab1)
Venerdì: 9-13 (Lab2)

Libri di Riferimento

Prima parte: Linguaggi di programmazione: principi e paradigmi. Maurizio Gabbrielli, Simone Martini. McGraw-Hill Italia.

Seconda parte: Core Java 2. Vol. 1: Fondamenti. Horstmann Cay S.; Cornell Gary. Pearson Italia.

Terza parte: Program Development in Java: Abstraction, Specification, and Object-Oriented Design. Barbara Liskov, John Guttag. Addison-Wesley Professional.

Modalità di Esame

  • Esame: prova scritta più orale.
  • L'orale deve essere sostenuto nella stessa sessione dello scritto.
  • Ammissione all'orale con votazione >= 15 nello scritto.
  • Due prove intermedie (compitini) che possono sostituire la prova scritta.
  • Durante le prove non è consentito l'uso di libri o appunti.
  • Per partecipare alle prove scritte è necessario iscriversi tramite il sito della didattica.
  • Non sono previsti progetti.
  • Propedeuticità obbligatoria per poter sostenere l'esame: "Programmazione I e laboratorio".

Lezioni

19/10/10Introduzione al corso e cenni storici ai linguaggi di programmazioneslide
22/10/10Macchine astratte, compilazione, interpretazione, fasi della compilazioneslide
26/10/10Sintassi, semanticaslide
29/10/10Esercizi grammatiche, panoramica programmazione oggetti, esercitazione (JDK)slide
02/11/10Fondamenti, nomi, ambiente (prima parte)slide
05/11/10Ambiente (seconda parte), esercizi semantica/ambiente, esercitazione (Eclipse), Javaslide
09/11/10Gestione della memoria: gestione statica, gestione dinamica mediante pilaslide
12/11/10Java: tipi di dato, operatori, stringhe, input, comandi (prima parte), laboratorioslide
16/11/10Gestione della memoria: gestione dinamica mediante heap, implementazione delle regole di scope statico e dinamicoslide
19/11/10Esercitazione (file JAR); Java: comandi (seconda parte), blocchi, array, laboratorioslide
23/11/10Espressioni, comandi, controllo di sequenza (prima parte)slide
26/11/10Esercitazione per compitinoslide
01/12/10Prima prova di verifica intermediatesto
soluzione
risultati
03/12/10Correzione compitino, controllo di sequenza (seconda parte), Java: classi e oggetti (prima parte), laboratorioslide
07/12/10Astrazione controllo: modalità passaggio parametrislide
10/12/10Astrazione controllo: funzioni di ordine superiore, eccezioni; Java: classi e oggetti (seconda parte), ereditarietà (prima parte), laboratorioslide
14/12/10Strutturare i dati: tipi di dato, tipi scalari, tipi composti (prima parte)slide
17/12/10Lezione rimandata a causa neve al 28/1/11, Lab 1 (9-13)
21/12/10Strutturare i dati: tipi composti (seconda parte)slide
11/1/11Java: ereditarietà (seconda parte), laboratorioslide
14/1/11Astrazione (parametrizzazione, specifica, tipi di astrazione), astrazione procedurale; Java: interfacce, laboratorioslide
18/1/11Eccezioni; Java: classi interneslide
21/1/11Astrazione su dati; Java: Generics, laboratorioslide
25/1/11Gerarchie di tiposlide
28/1/11Esercitazione per compitinoslide
04/02/11Seconda prova di verifica intermediatesto
soluzione
risultati
04/02/11Primo Appello: prova scrittatesto
soluzione
risultati
11/02/11Primo Appello: prova orale. Aula 7, ore 9
(stesso ordine della lista degli ammessi)
ammessi
24/02/11Secondo Appello: prova scrittatesto
soluzione
risultati
4/03/11Secondo Appello: prova orale. Aula 4, ore 9
(stesso ordine della lista degli ammessi)
ammessi

Registro lezioni su Unimap

Contatti

Per fissare un appuntamento per ricevimento o per chiedere informazioni, inviare una mail a Daniele Sgandurra all'indirizzo daniele.sgandurra at iit dot cnr dot it con oggetto nella forma: [PR2]: oggetto.