Elementi di un linguaggio di programmazione: sintassi, sematica statica e dinamica, interpreti.

Programmazione object-oriented: Java.

Programmazione funzionale: OCaml.

  • Obiettivi e contenuti
    • OBIETTIVI FORMATIVI
      - Basandosi sulle conoscenze di programmazione imperativa acquisite dallo studente nei corsi precedenti, fornire allo studente le nozioni fondamentali relative ai linguaggi di programmazione ad alto livello e un buon livello di conoscenza di diversi paradigmi di programmazione (in particolare object-oriented e funzionale), dal punto di vista sia concettuale che operativo. - Presentare e far sperimentare lo sviluppo di programmi a partire da specifiche informali nell'ambito della programmazione in piccolo, e mediante l'utilizzo di un ambiente di sviluppo integrato, estendendo quanto visto nel corso di Introduzione alla Programmazione.
      PROGRAMMA/CONTENUTO

      Elementi di un linguaggio di programmazione: generalità, diversi paradigmi; sintassi, semantica statica e dinamica, sviluppo di un interprete guidato dalla semantica formale.
      Paradigma object oriented (linguaggio Java): oggetti, classi, ereditarietà e binding dinamico, casting, overloading, eccezioni. Caratteristiche avanzate: introduzione all'uso di classi e metodi generici, cenni a classi nested e lambda-espressioni. Esempi d'uso dell'API standard, design pattern iterator e visitor. 
      Paradigma funzionale (linguaggio Objective Caml): funzioni di ordine superiore e polimorfe, inferenza di tipi polimorfi, currying, funzioni su liste, tipi user-defined.

      TESTI/BIBLIOGRAFIA

      -Davide Ancona, Giovanni Lagorio, Elena Zucca. Linguaggi di Programmazione. Città Studi Edizioni.
      -Ken Arnold, James Gosling, and David Holmes. The Java Programming Language, Fourth Edition, Prentice Hall.
      -Emmanuel Chailloux, Pascal Manoury, and Bruno Pagano. Developing Applications With Objective Caml.
      -Josh Bloch. Effective Java (second edition). Prentice Hall.  (approfondimento)
      -Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley. (approfondimento)

      URL Aula web
      LINGUAGGI E PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
      https://dibris.aulaweb.unige.it/
      URL Orario lezioni
      LINGUAGGI E PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
      http://informatica.dibris.unige.it/docenti-corsi-orari-esami/orario-delle-lezioni.html
  • Chi
    • Docenti
    • Davide Ancona
      tel. (+39) 010353 - 6636
      Davide.Ancona@unige.it
    • Commissione d’esame
      61799 - LINGUAGGI E PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
      Davide Ancona (Presidente)
      Luca Franceschini
      Giovanni Lagorio
      Paola Magillo
      Elena Zucca
  • Come
    • MODALITA' DIDATTICHE
      MODALITA' D'ESAME

      Esame scritto e orale più progetto finale

      MODALITA' DI ACCERTAMENTO

      Apprendimeno dei concetti e delle nozioni alla base della teoria: esame scritto e orale.

      Programmazione in piccolo object-oriented e funzionale: esame scritto.

      Comprensione della specifica formale di un linguaggio di programmazione e tecniche di implementazione object-oriented di un interprete: progetto finale in Java.

  • Dove e quando
    • URL Aula web
      LINGUAGGI E PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
      https://dibris.aulaweb.unige.it/
      URL Orario lezioni
      LINGUAGGI E PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
      http://informatica.dibris.unige.it/docenti-corsi-orari-esami/orario-delle-lezioni.html
      RICEVIMENTO STUDENTI
      Davide Ancona

      Su appuntamento, via email

      Appelli
      Data Ora Tipo Luogo Note
      25 gennaio 2018 9:00 Scritto Genova Aule 509+710. Le date degli esami orali saranno fissate dopo ogni scritto.
      4 giugno 2018 9:00 Scritto Genova Aule 509+710. Le date degli esami orali saranno fissate dopo ogni scritto.
      20 giugno 2018 9:00 Scritto Genova Aule 509+710. Le date degli esami orali saranno fissate dopo ogni scritto.
      11 luglio 2018 9:00 Scritto Genova Aule 509+710. Le date degli esami orali saranno fissate dopo ogni scritto.
      10 settembre 2018 14:00 Scritto Genova Aule 509+710. Le date degli esami orali saranno fissate dopo ogni scritto.
      24 gennaio 2019 9:00 Scritto Genova Aule 509+710. Le date degli esami orali saranno fissate dopo ogni scritto.
  • ALTRE INFORMAZIONI
    • Prerequisiti: nozioni fondamentali di programmazione imperativa e di algoritmi e strutture dati.

  • Contatti