Programmazione Turno 3/2006-2007

Da WikiDsy.
Versione del 10 nov 2006 alle 16:21 di Smirne (discussione | contributi) (Risorse Software)


News

Primo compitino

Il primo compitino si terrà lunedì 13 novembre alle ore 18.30 presso l'aula 200 del Settore Didattico di via Celoria. Gli studenti sono tenuti a presentarsi muniti del libretto universitario o di un documento di identità. Durante la prova non è consentito l'uso di testi e/o appunti. È assolutamente vietato partecipare ai compitini di due turni differenti del corso. Nel caso ciò avvenga i docenti stabiliranno gli opportuni provvedimenti.

Appelli

'Primo Compitino' 13 novembre

Teoria

  • Primo compitino teoria: 13 novembre
  • Secondo compitino teoria: a gennaio
  • Esame orale conclusivo

Laboratorio

Da definire con il professor Marra. Sono previste prove in itinere

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:

Esercizi aggiuntivi A.

Esercizi aggiuntivi B.

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

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.

Risorse Software

Il package prog, utilizzato in molti esempi del corso, e fornito con il libro di testo.

aggiornato l'8 novembre 2006!

Video delle lezioni

Si possono copiare facendo richiesta alla segreteria didattica in via Comelico. Fruibili via streaming con account silab http://streaming.dico.unimi.it

Appunti

Altro materiale in Internet

Esami passati, tesine, compiti ..

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)

traccia1

  • 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)

traccia2

  • 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.

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)

traccia3

  • 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.