Programmazione Turno 1/2005-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++
- Anni '50
- 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
- Procedure
- 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