Programmazione Turno 1/2005-2006

Da WikiDsy.

Informazioni generali

Programma del corso

http://www.dsi.unimi.it/files/occorrenza/programma/programma088049.doc

Docenti

Prof.ssa Alberti / Prof. Capra per il laboratorio

Orari e luogo delle lezioni

Lunedì Mercoledì Venerdì
10:30-13:30 Aula V3 (venezian) 10:30-13:30 Aula V3 (venezian) 10:30-13:30 Aula V3 (venezian)

Orario di ricevimento studenti

Prof.ssa Alberti riceve il Giovedì dalle 15:00 alle 17:00


Sito del corso

[Programmazione] http://homes.dico.unimi.it/~alberti/Prog05/ [Laboratorio] http://homes.dico.unimi.it/prog/turno1/

Materiale didattico

libro di testo:

dai fondamenti agli oggetti corso di programmazione java seconda edizione GIOVANNI PIGHIZZINI - MAURO FERRARI edito da pearson addison wesley. (il libro contiene anche un CD con librerie che saranno usate durante il corso)


Si consiglia anche la lettura dei testi: J. Gosling, B. Joy, G. Steele and G. Bracha. The Java Language Specification- 2nd edition (versione online). B. Eckel. Thinking in Java. Apogeo. In formato pdf

Modalità d'esame

Scritto + Orale + Progetto


3 compitini svolti in itinere, danno la possibilità di essere esentati dallo scritto di fine semestre infatti chi dovesse passare tutti e 3 i compitini non sarà tenuto a dare lo scritto.

Sarà inoltre possibile al posto che il progetto di fine semestre realizzare 3 progettini, il buon esito dei 3 progettini infatti darà la possibilità di non presentare il progetto di fine semestre.


Se sia i compitini che il progetto risultassero molto buoni non sarà necessario neanche dare l'orale.

Date ipotetiche: 1 compitino: 9 novembre 2005. 1 esercitazione: 14 novembre 2005. 2 compitino: 14 dicembre 2005. 2 esercitazione: 19 dicembre 2005 3 compitino: 25 gennaio 2006. 3 esercitazione/progetto: pubblicazione il 25 gennaio e consegna il 31 gennaio 2006

Diario del corso

Lezione del 3-10-05

Argomenti trattati oggi:

  • definizione di informatica e programmazione


  • Breve storia della Programmazione:
    • Linguaggio macchina
    • Fortran
    • Linguaggi Algol
    • Programmazione strutturata (Pascal)
    • Programmazione ad oggetti (Java)


  • Definizione di Algoritmo


  • esempio algoritmo di Euclide per calcolare il massimo comun divisore


  • definizione programma (differenze da un algoritmo)

Lezione del 14-10-2005

Argomenti trattati oggi : Lezione di programmazione

  • Evoluzione dei linguaggi di programmazione
    • Linguaggi ad alto livello e a basso livello
  • Primi linguaggi ad alto livello
    • Anni '50
      • Fortnan
      • Algol
      • Cobol
    • Anni '60
      • Lisp
      • Apl
      • Snobol
    • Anni '70
      • Pascal
      • C
      • Prolog
    • Anni '80
      • SmallTalk
      • Objective - C
      • C++
  • I paradigmi di programmazione
    • Paradigma Procedurale
    • Paradigma Funzionale
    • Paradigma Modulare
  • Esempio: Somma dei numeri dispari di un determinato insieme
    • Esempio visto in: Pascal, Lisp, Logo, Forth

Lezione del 17-10-2005

Argomenti trattati oggi:

Lezione di Laboratorio

  • Procedure e Funzioni nei linguaggi di programmazione
    • Procedure
      • Parametri Formali
      • Parametri Attuali
    • Funzioni
      • Ambiente Chiamante
      • Chiamata a funzione
    • Esercizi
      • Funzione che calcola x^y
      • Conversione di un numero in base 2 in base 10
      • Conversione di un numero in base 10 in base 2
  • Importazione di classi in java


Lezione del 19-10-2005

Argomenti trattati oggi:

Lezione di Programmazione

  • Il paradigma di programmazione ad oggetti
  • Concetti base della programmazione Object-Orienteed
    • Astrazione
    • Incapsulamento dei dati
    • Ereditarietà
    • Polimorfismo
  • Java (Sun Microsystems. 1995)
    • Storia e descrizione
    • Pedigree di Java
    • Traduzione ed esecuzione di Java
    • JVM -> Java virtual machine
    • Ambiente di sviluppo
    • Struttura del programma java
      • Commenti
      • Spazi vuoti
      • Lessico Java
        • Alfabeto
        • Parole Riservate
        • Identificatori
        • Separatori e Operatori
      • Costanti
      • Errori
        • Di Compilazione
        • Di Esecuzione
        • Logici
        • Sematici
  • Gli oggetti e le classi
    • Introduzione agli oggetti
    • Astrazione
    • Incapsulamento dei dati
      • Livelli di accesso
    • Metodi e oggetti
    • Membri delle classi
    • Creare Oggetti

Lezione del 21-10-2005

Argomenti trattati oggi:

Lezione di Programmazione

  • I campi statici di classe
  • Creare nuovi oggetti
    • Operatore New
    • Riferimenti
  • Variabili e riferimenti
    • Oggetti e i loro riferimenti
    • Variabili
      • Assegnamento
      • Alias
      • Garbage Collection
      • Riferimenti a Oggeti