Page begin -
Logo DISCO
|
Go to the Highly accessible area
|
Go to the Content page
|
Go to the End of content
|
Go to the Main menu
|
Go to the Navigation Bar (location)
|
Go to the Navigation menu (tree)
|
Go to the Commands list
|
Go to the Further readings
|
Go to the Bottom Menu
|
Logo Ateneo
   
Enrolled
Programmazione

Docente: F. Cardone, D. Micucci, F. Tisato, C. Zandron

Crediti: 16 CFU

Obiettivi dell'insegnamento:

Acquisire le basi della programmazione: elementi di design ad oggetti con UML, programmazione base con Java e test e debug di programmi Java con JUnit. 

Descrizione e Programma dell'insegnamento:

Il corso si articola nei seguenti moduli:

  • Progettazione: 5 CFU D.Micucci, F. Tisato
  • Programmazione 1: 6 CFU F. Cardone, C. Zandron
  • Programmazione 2: 5 CFU D. Micucci, F. Tisato

Conoscenze: concetti base di programmazione. Elementi di programmazione ad oggetti, elementi del linguaggio Java. + Parte di Progettazione

Abilità: Alla fine del corso lo studente dovrà padroneggiare i principali meccanismi di astrazione utili nella specifica dei requisiti e nel progetto di applicazioni software in piccolo ed essere capace di progettare e sviluppare semplici programmi in Java.

Programma

  • per Progettazione
  1. Ciclo di sviluppo del software

  2. Astrazioni sui dati. Oggetti, classi, associazioni

  3. Notazioni UML e E-R

  4. Astrazioni sul controllo. Diagrammi di attività e di stato.

  5. Astrazioni procedurali.

  6. Specifica dei requisiti. Invarianti, pre- e post-condizioni

  7. Ereditarietà

  8. Documentazione, testing e debugging in ambiente Eclipse.

  • per Programmazione
  1. Struttura logica di un elaboratore e codifica dell'informazione. Gerarchia dei linguaggi di programmazione, compilatori e interpreti. La Java Virtual Machine. Algoritmi e programmi, il paradigma ad oggetti

  2. Tipi di dati primitivi. Variabili, dichiarazioni e assegnamenti. Espressioni e valutazione. Type checking. Stringhe

  3. Ingresso/uscita

  4. Strutture di controllo selettive e iterative. Esempi elementari di algoritmi

  5. Array di tipi primitivi

  6. Metodi, definizione ed invocazione. Record di attivazione. Precondizioni e postcondizioni

  • per Programmazione 2
  1. Classi e oggetti in Java.

  2. Metodi con tipi di dati complessi: definizione e invocazione.

  3. Array di reference

  4. Creazione e manipolazione di semplici strutture dati (liste)

  5. Information hiding e incapsulamento. Modificatore di visibilità sui metodi

  6. Ereditarietà in Java

  7. Costruttori

  8. Overloading e overriding di metodi e di costruttori

  9. Metodi di classe. Attributi di classe.

Libri di testo adottati:

  • Marco Bertacca e Andrea Guidi, Programmare in Java, McGraw-Hill, 2007
  • Martin Fowler, UML Distilled (Terza Edizione), Pearson - Addison Wesley, 2004

Libri di testo consigliati:

  • Walter Savitch, Java: An Introduction to Computer Science & Programming, Prentice Hall, 1998
  • Robert Sedgewick, Algoritmi in Java (Terza Edizione), Addison-Wesley
  • Barbara Liskov, Program Development in Java, Addison Wesley 2002

Modalità di esame: L'esame si articola in prove scritte teorico-pratiche.

Sito web del corso:

http://elearning.lib.unimib.it/doceboLms/

Further readings
(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - last update of this page 25/03/2011