Differenze tra le versioni di "Programmazione Turno 1/2005-2006"

Da WikiDsy.
 
(11 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
 +
[[Categoria:Corsi 2005-2006]]
 +
<!-- non cancellare le linee precedenti-->
 +
 
== Informazioni generali ==
 
== Informazioni generali ==
 
 
  
 
=== Programma del corso ===
 
=== Programma del corso ===
Riga 95: Riga 96:
  
 
'''Argomenti trattati oggi ''':
 
'''Argomenti trattati oggi ''':
 +
'' Lezione di programmazione ''
  
 
* Evoluzione dei linguaggi di programmazione
 
* Evoluzione dei linguaggi di programmazione
Riga 122: Riga 124:
 
* Esempio: Somma dei numeri dispari di un determinato insieme
 
* Esempio: Somma dei numeri dispari di un determinato insieme
 
** Esempio visto in: Pascal, Lisp, Logo, Forth
 
** 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
 +
 +
 +
=== Lezione del 24-10-2005 ===
 +
 +
'''Argomenti trattati oggi''':
 +
 +
''Lezione di Laboratorio''
 +
 +
* Esempi di riuso del codice nei linguaggi di programmazione ad alto livello
 +
** Conversione da base x a base 10
 +
** Conversione da base 10 a base x
 +
** Conversione da base x a base y
 +
 +
 +
=== Lezione del 26-10-2005 ===
 +
 +
''' Argomenti trattati oggi''':
 +
 +
''Lezione di Laboratorio''
 +
 +
* Espressioni
 +
* Inizializzazioni
 +
* Tipi di dati
 +
* Variabile e Astrazione
 +
* Tipi ed Astrazione
 +
* Variabili riferimento a un oggetto
 +
* Le Classi
 +
** COnsoleInputManager
 +
** ConsoleOutputManager
 +
* Overloading di metodi
 +
* Creazione di classi che non contengono il metodo main
 +
 +
=== Lezione del 28-10-2005 ===
 +
 +
''' Argomenti trattati oggi ''':
 +
 +
''Lezione di Laboratorio''
 +
 +
* Errore comune
 +
* Costruttori vs Metodi
 +
* Concatenazione di stringhe
 +
* Sequenza di escape
 +
* La classe predefinita String
 +
** Oggetti String
 +
** Metodi di string
 +
*** toUpperCase
 +
*** charAt
 +
*** conCat
 +
*** lenght
 +
*** subString
 +
*** compareTo
 +
*** replace
 +
*** startWith
 +
* Prototipi e Segnature
 +
** Overloading di metodi
 +
* Istruzione di selzione
 +
** IF
 +
** IF-ELSE

Versione attuale delle 10:02, 28 lug 2006


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


Lezione del 24-10-2005

Argomenti trattati oggi:

Lezione di Laboratorio

  • Esempi di riuso del codice nei linguaggi di programmazione ad alto livello
    • Conversione da base x a base 10
    • Conversione da base 10 a base x
    • Conversione da base x a base y


Lezione del 26-10-2005

Argomenti trattati oggi:

Lezione di Laboratorio

  • Espressioni
  • Inizializzazioni
  • Tipi di dati
  • Variabile e Astrazione
  • Tipi ed Astrazione
  • Variabili riferimento a un oggetto
  • Le Classi
    • COnsoleInputManager
    • ConsoleOutputManager
  • Overloading di metodi
  • Creazione di classi che non contengono il metodo main

Lezione del 28-10-2005

Argomenti trattati oggi :

Lezione di Laboratorio

  • Errore comune
  • Costruttori vs Metodi
  • Concatenazione di stringhe
  • Sequenza di escape
  • La classe predefinita String
    • Oggetti String
    • Metodi di string
      • toUpperCase
      • charAt
      • conCat
      • lenght
      • subString
      • compareTo
      • replace
      • startWith
  • Prototipi e Segnature
    • Overloading di metodi
  • Istruzione di selzione
    • IF
    • IF-ELSE