Differenze tra le versioni di "Programmazione Turno 3/2006-2007"
(→Risorse Software) |
m (→Risorse Software) |
||
Riga 83: | Riga 83: | ||
=== Risorse Software === | === Risorse Software === | ||
''Il package [http://pighizzini.dico.unimi.it/jb/ prog], utilizzato in molti esempi del corso, e fornito con il libro di testo.'' | ''Il package [http://pighizzini.dico.unimi.it/jb/ prog], utilizzato in molti esempi del corso, e fornito con il libro di testo.'' | ||
+ | |||
''Il package [http://homes.dico.unimi.it/prog/turno3-06/lab/docs/lezioni/labprog.zip labprog], utilizzato a laboratorio.'' | ''Il package [http://homes.dico.unimi.it/prog/turno3-06/lab/docs/lezioni/labprog.zip labprog], utilizzato a laboratorio.'' | ||
Versione delle 12:44, 16 dic 2006
Indice
- 1 News
- 2 Anni precedenti
- 3 Informazioni generali
- 4 Informazioni specifiche
- 5 Diario del corso
- 5.1 Lezione di Lunedì 2-10-06
- 5.2 Lezione di Mercoledì 4-10-06
- 5.3 Lezione di Venerdì 6-10-06
- 5.4 Lezione di Lunedì 9-10-06
- 5.5 Lezione di Mercoledi' 11-10-06
- 5.6 Lezione di Venerdì' 13-10-06 (Lab)
- 5.7 Lezione di Lunedi' 16-10-06
- 5.8 Lezione di Mercoledì 18-10-06 (Lab)
- 5.9 Lezione di Venerdì 20-10-06
- 5.10 Lezione di lunedì 23-10-06
- 5.11 Lezione di mercoledì 25-10-06 (lab)
- 5.12 Lezione di venerdì 27-10-06
- 5.13 Lezione di lunedì 30-10-2006
- 5.14 Lezione di venerdì 03-11-2006 (lab)
- 5.15 Lezione di lunedì 06-11-2006
- 5.16 Lezione di mercoledì 08-11-2006
- 5.17 Lezione di venerdì 10-11-2006
- 5.18 Compitino di lunedì 13-11-2006
- 5.19 Lezione di mercoledì 15-11-2006 (lab)
- 5.20 Lezione di lunedì 20-11-2006
- 5.21 Lezione di mercoledì 22-11-2006 (lab)
- 5.22 Lezione di venerdì 20-11-2006
- 5.23 Lezione di lunedì 27-11-2006
- 5.24 Lezione di mercoledì 29-11-2006 (lab)
- 5.25 Lezione di venerdì 01-12-2006
- 5.26 Lezione di lunedì 04-12-2006
- 5.27 Lezione di mercoledì 06-12-2006 (lab)
- 5.28 Lezione di lunedì 11-12-2006
- 5.29 Lezione di mercoledì 13-12-2006 (lab)
- 5.30 Lezione di venerdì 15-12-2006
News
Appelli
- Lezione sospesa 22 dicembre
Venerdì 22 dicembre le strutture dell'Università chiuderanno in anticipo. Pertanto la lezioni del corso di Programmazione non si terrà.
- Primo Compitino 13 novembre (Testo - Soluzione - Risultati)
- Prima prova in itinere (lab) 15 novembre (Testo - Risultati)
- Secondo Compitino 15 0 17 gennaio
Teoria
- Primo compitino teoria: 13 novembre
- Secondo compitino teoria: a gennaio (15 o 17)
- Esame orale conclusivo
Il risultato del primo compitino non pregiudica l'accesso al secondo
Laboratorio
Sono previste prove in itinere (esercitazioni in aula). La prima è stata mercoledì 15 novembre.
Esercizi
Gli esercizi proposti in classe e sul sito per la parte di programmazione (non lab) possono essere inviati via mail al professore, all'indirizzo pighizzini _at_ dico.unimi.it. In classe verranno corretti e analizzati (in forma anonima). Esercizi proposti sul sito:
Anni precedenti
Informazioni generali
Docenti
Prof. Pighizzini / Prof. Marra per il laboratorio.
Corsi di laurea
Orari e luogo delle lezioni
Lunedì | Mercoledì | Venerdì |
---|---|---|
18:30-21:30 Aula 201 (celoria) | 18:30-21:30 Aula 309 (LAB, celoria) | 18:30-21:30 Aula 201 (celoria) |
Informazioni specifiche
Siti del corso
- Pagina generale dei corsi di programmazione
- Pagina del turno III (Pighizzini)
- Laboratorio turno III (Marra)
Forum del corso, e affini
Testi
Dai fondamenti agli oggetti - Corso di programmazione java (2^ ed.) - Giovanni Pighizzini - Mauro Ferrari edito da Pearson Addison Wesley
(il libro contiene anche un CD con librerie che saranno usate durante il corso)
Altro materiale consigliato
- K. Arnold, J. Gosling, D. Holmes, Java - Manuale ufficiale, Addison Wesley, 2001.
- Java Technology sito internet della Sun
- Javadoc documentazione librerie standard
Risorse Software
Il package prog, utilizzato in molti esempi del corso, e fornito con il libro di testo.
Il package labprog, utilizzato a laboratorio.
Video delle lezioni
Fruibili via streaming con account silab http://vc.dsi.unimi.it/
Si possono copiare facendo richiesta alla segreteria didattica in via Comelico.
Appunti
Altro materiale in Internet
Esami passati, tesine, compiti ..
- http://homes.dico.unimi.it/prog/turno3-04/compitini/
- http://homes.dico.unimi.it/prog/turnoSerale-03/compitini/
- http://homes.dico.unimi.it/prog/turno2-02/compitini/
Diario del corso
Lezione di Lunedì 2-10-06
- Presentazione del corso.
- L'evoluzione della programmazione.
- Algoritmi e Programmi. Informazione.
- Unità di misura dell'informazione.
Lezione di Mercoledì 4-10-06
- Dispositivi hardware.
- Classificazione del software.
- La macchina di Von Neumann.
- Linguaggi macchina e assembler.
- Un esempio di linguaggio assembler.
- Dai linguaggi macchina ai linguaggi ad alto livello.
Lezione di Venerdì 6-10-06
- Compilatori, interpreti, assemblatori, editor, linker.
- Il compilatore Java.
- Il bytecode e la Java Virtual Machine.
- La programmazione strutturata: sequenza e selezione.
- Variabili e assegnamenti.
Lezione di Lunedì 9-10-06
- La programmazione strutturata: iterazione. Esempi.
- Cicli infiniti.
- Dalla programmazione strutturata alla programmazione a oggetti.
[Compito] scrivere pseudocodice per:
- elevamento a potenza (usando la moltiplicazione)
- elevamento a potenza (senza usare la moltiplicazione)
- divisione: ottenere quoziente e resto, utilizzando solo addizione e sottrazione
- partendo da una sequenza di dati (che termina con 0) calcolare: il prodotto dei numeri forniti
- partendo da una sequenza di dati (che termina con 0) calcolare: la somma dei numeri pari
- partendo da una sequenza di dati (che termina con 0) calcolare: la somma dei numeri dispari
Lezione di Mercoledi' 11-10-06
- Aspetti sintattici dei linguaggi: le grammatiche. BNF e carte sintattiche.
- Alcuni aspetti della grammatica del linguaggio Java.
- Il primo programma Java.
- Protocolli e contratti.
- Costruttori e operatore new.
- Invocazione di metodi.
- Variabili per riferimenti.
Lezione di Venerdì' 13-10-06 (Lab)
- Introduzione al Laboratorio di Programmazione.
- Installazione di J2SE per sistemi Linux e Windows.
- Compilazione ed esecuzione di programmi Java.
- La variabile d'ambiente classpath.
Lezione di Lunedi' 16-10-06
- Invocazioni di metodi e costruttori (continuazione).
- Le classi ConsoleInputManager e ConsoleOutputManager.
- Uso delle direttive d'importazione.
- La classe String.
- Prototipi e segnature dei metodi.
[Compito] Scrivere programma per
- Elevare alla seconda una frazione, con i metodi della classe Frazione
- Elevare alla seconda una frazione, senza i metodi della classe Frazione
- Sommare due frazioni, senza i metodi della classe Frazione
Lezione di Mercoledì 18-10-06 (Lab)
- Inizializzazione variabili di sistema
- Ciao Mondo.
- Importare classi da un package.
- Le classi ConsoleInputManager e ConsoleOutputManager del package prog.io.
- Il costrutto sequenza della programmazione strutturata.
- Il tipo primitivo int.
- Usare la classe Frazione del package prog.utili
Lezione di Venerdì 20-10-06
- Variabili e tipi.
- Tipi primitivi e tipi riferimento.
- Esercizi ed esempi con le classi Frazione, String e Intero.
[Compito] Scrivere programma per
- Eseguire operazioni e riportare i risultati in forma letterale. (con la classe Intero di prog.utili)
- preso un numero, scriverlo in lettere e scrivere il numero di lettere
- circondare in un riquadro di asterischi una parola fornita in input
Lezione di lunedì 23-10-06
- Il costrutto di selezione in Java. (IF)
- Il tipo primitivo boolean.
[Compito] Scrivere programma per
- Farsi dare un prezzo in euro, con l'apposita classe del package prog. Convertire in lettere e in lire.
- Farsi dare % di sconto, e applicarla. Farsi dare i soldi pagati e dare il resto o esplicitare il debito.
Il prof ha chiesto a chi vuole di mandargli gli esercizi dati per compito via mail (pighizzi _AT_ dico.unimi.it)
Lezione di mercoledì 25-10-06 (lab)
- I tipi primitivi int e boolean.
- Il tipo String.
- Il costrutto selezione della programmazione strutturata.
- Esercizi con le classi Frazione e Data del package prog.utili.
- Facoltativo: Input e output rudimentale con le finestre di dialogo di javax.swing.JOptionPane.
Lezione di venerdì 27-10-06
- I cicli do...while e while.
- Il ciclo for.
- Quando usare e quando non usare il ciclo for.
- Esercizi aggiuntivi gruppo A. da inviare al prof tramite mail
Lezione di lunedì 30-10-2006
- Il ciclo for: ulteriori esempi.
- Le istruzioni break e continue.
- Introduzione ai tipi generici: le classi Sequenza e SequenzaOrdinata.
- La classe involucro Integer. Il tipo riferimento Integer e il tipo primitivo int: autoboxing e unboxing.
Lezione di venerdì 03-11-2006 (lab)
- Il costrutto iterazione della programmazione strutturata.
- Condizione di terminazione in testa e in coda nei cicli while.
- Cicli for.
- Il tipo StringBuffer.
Lezione di lunedì 06-11-2006
- Le espressioni e gli effetti collaterali.
- La lazy evaluation.
- L'operatore condizionale.
- I tipi numerici interi.
- Conversioni implicite (promozioni) ed esplicite (forzature o cast) tra tipi primitivi.
- Classi involucro.
- Metodi statici.
- Esercizi aggiuntivi gruppo B. da inviare al prof tramite mail
Lezione di mercoledì 08-11-2006
- Ancora esercizi con la programmazione strutturata.
- I metodi statici.
Nota Per una svista del docente di Laboratorio, la traccia di questa lezione richiede nozioni sui metodi statici più approfondite di quelle impartite all'8.XI.06 nel Corso di Programmazione. In caso di difficoltà, gli studenti ignorino tutti i riferimenti ai metodi statici nella traccia, e implementino tutte le soluzioni nel solo metodo main.
Lezione di venerdì 10-11-2006
- I tipi primitivi in virgola mobile.
- Conversioni tra valori interi e valori in virgola mobile.
- Perdita d'informazione e perdita di precisione.
- Il tipo char.
- Esercizi ed esempi:
- ProvaNumeri.java
- Lettere.java
- Scontrino.java
Compitino di lunedì 13-11-2006
Primo compitino di teoria:
Lezione di mercoledì 15-11-2006 (lab)
Prima prova in itinere con valutazione.
Lezione di lunedì 20-11-2006
- Tipi enumerativi.
- Istruzione switch.
- Array.
Lezione di mercoledì 22-11-2006 (lab)
- Altri esercizi di programmazione strutturata.
- L'istruzione switch per la selezione multipla.
- Uso delle classi involucro.
- Gli array.
- Ordinare e ricercare oggetti con gli array.
Lezione di venerdì 20-11-2006
- Le classi Rettangolo e Quadrato.
- L'ereditarietà: superclassi e sottoclassi, supertipi e sottotipi.
- L'operatore instanceof.
Lezione di lunedì 27-11-2006
- Chiamate di metodi: compilazione ed esecuzione.
- Conversioni implicite (promozioni) ed esplicite (forzature o cast) tra tipi riferimento.
- Le classi Cerchio e Figura.
- Classi astratte.
- La classe Object e la gerarchia delle classi.
Lezione di mercoledì 29-11-2006 (lab)
- Altri esercizi con gli array.
- La classe d'utilità StringTokenizer.
- Semantica del metodo Object.equals.
- Esercizi con i tipi generici.
- L'editarietà e l'istruzione instanceof.
Lezione di venerdì 01-12-2006
- Le interfacce Java.
- L'interfaccia Comparable.
- Esempi di classi che implementano Comparable.
- Interfacce e tipi riferimento.
- La gerarchia dei tipi.
- Esempi su gerarchia delle classi e gerarchia dei tipi.
Lezione di lunedì 04-12-2006
- Cenni ai file di testo.
- esercizi aggiuntivi gruppo C
- Implementazione delle classi.
- Esempio: la classe Frazione.
- Implementazione dell'interfaccia Comparable da parte di Frazione.
Lezione di mercoledì 06-12-2006 (lab)
- Estensioni delle classi.
- Primi esempi di implementazione delle classi.
Lezione di lunedì 11-12-2006
- Riepilogo sulla struttura delle classi.
- Organizzazione in package.
- Modificatori di visibilità public e private.
- Estensione di classi e implementazione di sottoclassi.
- Esempi: implementazione di Quadrato.
- Costruttori e gerarchia delle classi.
- Uso di this e di super.
Lezione di mercoledì 13-12-2006 (lab)
Traccia 9
Lezione di venerdì 15-12-2006
- Implementazione della classe Figura.
- Le eccezioni: comportamento dei programmi in caso di eventi anomali.
- Come intercettare le eccezioni: il costrutto try/catch.
- La gerarchia delle eccezioni.
- Esempi d'uso del costrutto try/catch.