Home Introduzione News Lezioni e laboratorio Programma Esame Esoneri Materiale Progetti studenti Forum studenti Link Home docente

 

Diario delle lezioni 2001-02

In corsivo le esercitazioni in laboratorio

5/11/01 8/11/01 12/11/01 15/11/01 19/11/01 26/11/01 29/11/01 3/12/01
6/12/01 10/12/01 13/12/01 17/12/01 20/12/01 14/01/02 17/01/02 21/01/02
24/01/02 28/01/02 31/01/02 04/02/02 07/02/02 18/02/02 21/02/02 25/02/02
4/03/02 14/03/02 18/03/02 21/03/02 25/03/02 4/04/02 8/04/02 11/04/02
15/04/02 18/04/02 22/04/02 29/04/02 2/05/02 6/05/02 9/05/02 13/05/02
16/05/02 20/05/02 23/05/02

 

 

data 5/11/2001
tipo lez
#ore 3
#ore tot 3
argomenti
  1. Introduzione al corso
  2. Definizione del termine informatica
  3. Nozione di rappresentazione delle informazioni
  4. Nozione di elaborazione delle informazioni
  5. Concetto di problema
  6. Classe di problemi
  7. Istanza di una classe di problemi
  8. Concetto di algoritmo
  9. Cenno alla correttezza e all'efficienza degli algoritmi
esempi algoritmo A1 per la risoluzione di equazioni di II grado
esercizi proposti correggere e perfezionare l'algoritmo A1
esercizi svolti  
listati  
commenti
per digitare tilde (simbolo ~), qualora non fosse disponibile sulla tastiera, si può operare così: mantenere premuto il tasto Alt, digitare la sequenza 126 sul tastierino numerico (che deve essere stato preventivamente attivato), quindi rilasciare il tasto Alt
l'attivazione del tastierino numerico è di norma segnalata dall'accensione di apposito led posto immediatamente sopra di esso e si ottiene premendo il tasto NumLock posto in alto a sinistra sul tastierino stesso; la successiva pressione su NumLock disabilita il tastierino numerico
la digitazione della sequenza 126 sui tasti numerici della tastiera estesa non produrrà l'effetto desiderato
il termine algoritmo deriva da Ar al-Khwarazmi, matematico arabo (IX secolo) originario del Khwarazm (Khiva) che per primo suggerì un metodo per sommare due numeri rappresentati nel sistema numerico Hindu
riferimenti [1] sez.: 2.1, 2.1.1
siti web sito web e bacheca del corso: http://www.dis.uniroma1.it/~damore/igea 

torna all'elenco delle lezioni

data 8/11/2001
tipo lez
#ore 2
#ore tot 5
argomenti
  1. Operazioni di I/O degli algoritmi
    l'input definisce una istanza
  2. Arresto degli algoritmi
  3. Concetto di ciclo
  4. Cenno alla descrizione degli algoritmi mediante diagrammi di flusso (flow-chart)
  5. La leggibilità degli algoritmi:
    indentazione
    commenti
    variabili con nomi evocativi
  6. Esempi di algoritmi
esercizi svolti
  1. algoritmo A1 per la risoluzione di equazioni di II grado
  2. algoritmo A2' per il calcolo della radice quadrata intera di un naturale (mediante flow-chart)
  3. algoritmo A3 per la ricerca del max in una sequenza di 100 numeri
esercizi proposti
  1. modificare A2' affinché contenga un solo test e scriverlo in forma "elenco di passi" (soluzione)
  2. modificare A3 affinché risolva il problema della ricerca del max fra m valori
  3. generalizzare A3 per la ricerca del max e del min nella sequenza
listati
commenti
riferimenti [1] sez.: 2.1.2
siti web

torna all'elenco delle lezioni

data 12/11/2001
tipo lez
#ore 3
#ore tot 8
argomenti
  1. Le qualità degli algoritmi: correttezza ed efficienza
  2. Ricerca sequenziale e ricerca binaria (o dicotomica)
    analisi dei casi peggiori
  3. Numerazione in base p
  4. Conversioni di base
    da base 2 a base 10
    da base 10 a base 2 (da completare)
esercizi svolti
  1. algoritmo A4 per giocare ad "alto-basso" sfruttando la ricerca binaria
esercizi proposti
  1. perfezionare A4 includendo tutti i possibili test sugli input
  2. costruire un algoritmo per il calcolo della radice quadrata reale tramite la ricerca binaria (soluzione)
  3. costruire un algoritmo per il calcolo del MCD e del mcm di due numeri naturali (soluzione)
listati
commenti algoritmo A2 per il calcolo della radice quadrata intera di un naturale; questo algoritmo risolve un esercizio assegnato l'8/11/2001, ma non è stato presentato a lezione
riferimenti [1] sez.: 2.2, 2.2.1, 2.2.2
siti web

torna all'elenco delle lezioni

data 15/11/2001
tipo lez
#ore 2
#ore tot 10
argomenti
  1. Conversione da base 10 a base p
  2. Le operazioni fra numeri binari
  3. L'overflow
  4. Rappresentazione in complemento a due degli interi relativi
esercizi svolti
  1. algoritmo A5 per il calcolo della radice quadrata reale tramite la ricerca binaria
esercizi proposti
  1. Scrivere un algoritmo per convertire un naturale dalla base 10 alla base p (soluzione)
listati
commenti
riferimenti [1] sez.: 2.2.2, 2.2.3
siti web

torna all'elenco delle lezioni

data 19/11/2001
tipo lab
#ore 3
#ore tot 3
argomenti
  1. Descrizione del laboratorio
  2. Sistemi operativi
    introduzione generale, piattaforma Windows 2000, piattaforma MS-DOS
  3. Editor e word processor
    file di testo e file formattati
    notepad e wordpad
  4. Comandi MS-DOS
    dir, cd, copy, md, del ....(vedi documento Principali comandi DOS)
  5. File system,direttorio corrente e path relativo, path assoluto
esercizi svolti
esercizi proposti
listati
commenti Esercitazione condotta da Tiziano Inzerilli
riferimenti
  1. Documento guida
  2. Principali comandi DOS
siti web

torna all'elenco delle lezioni

data 26/11/2001
tipo lez
#ore 3
#ore tot 13
argomenti
  1. Proprietà della rappresentazione in complemento a due
    Conversioni
    Overflow nel complemento a due
  2. Numeri frazionari
    Conversioni
  3. Numeri razionali
    Rappresentazioni in virgola fissa
    Notazione esponenziale normalizzata e rappresentazione in virgola mobile
    Approssimazioni e underflow
    Confronti di eguaglianza fra razionali
esercizi svolti
esercizi proposti
listati
commenti
riferimenti [1] sez.: 2.2.3, 2.2.4
siti web

torna all'elenco delle lezioni

data 29/11/2001
tipo lez
#ore 2
#ore tot 15
argomenti
  1. Rappresentazione dei caratteri e delle stringhe
    tavola ASCII
    tavola UNICODE
    convenzioni sul fine-linea
    cenno ai file di testo e ai file binari
  2. Rappresentazione delle immagini
    vettoriali
    raster
esercizi svolti
esercizi proposti
listati
commenti
riferimenti [1] sez.: 2.2.5
siti web

torna all'elenco delle lezioni

data 3/12/2001
tipo lab
#ore 3
#ore tot 6
argomenti
  1. cenni su Internet come insieme di reti
  2. cenni su protocolli TCP/IP, DNS, http e ftp
  3. concetto di URL: protocollo, dominio, path relativo
  4. modello client-server: esempio browser e web server
  5. linguaggio HTML: principali tag e attributi (vedi documento su tag HTML)
  6. linguaggio HTML- strumenti di sviluppo Notepad, Word 2000
  7. rappresentazione dei colori in formato RGB attraverso una stringa di 6 caratteri
  8. navigazione sui siti del GARR, NIC, W3
  9. creazione di un documento HTML con Notepad e Word 2000
  10. modifica del documento HTML CV.html con Notepad
esercizi svolti creazione di un documento HTML (documento creato)
esercizi proposti
listati
commenti
riferimenti
  1. Documento guida
  2. Principali tag HTML
  3. [1] sez.: 6.1, 6.2
siti web
  1. GARR (Gruppo per l'Armonizzazione delle Reti di Ricerca): http://www.garr.it e ftp://ftp.garr.it
  2. NIC (gestione e regolamentazione dei domini Internet italiani): http://www.nic.it
  3. Specificazione del linguaggio HTML, a cura del W3C (World Wide Web Consortium): http://www.w3.org/TR/html4
  4. Motori di ricerca: Google (http://www.google.it) e AltaVista (http://www.altavista.it)

torna all'elenco delle lezioni

data 6/12/2001
tipo lez
#ore 2
#ore tot 17
argomenti
  1. Tipi di elaboratori
    mainframe, minicomputer, workstation, personal computer (PC), notebook
  2.  Aspetto esterno di un PC
    cabinet (desktop, tower, mini-tower)
    monitor
    tastiera + mouse
    disk drive
    porte di comunicazione
    connessioni di rete
  3. Organizzazione interna (astratta) di un elaboratore tradizionale
    modello di von Neumann
esercizi svolti
esercizi proposti
listati
commenti
riferimenti [1] sez.: 3.1, 3.6.1
siti web

torna all'elenco delle lezioni

data 10/12/2001
tipo lez
#ore 3
#ore tot 20
argomenti
  1. Modello di Von Neumann
  2. memoria
    classificazione (volatilità, velocità, costo, modalità di accesso)
    RAM, parola, cella, indirizzo
    caratteristiche tipiche della RAM (costo, velocità)
    cache (I e II livello) e gerarchia di memorie
  3. bus
    bus indirizzi, dati e controlli
  4. CPU
    struttura interna
    registri (PC. dati, indirizzi, istruzione corrente)
    ALU (registri aritmetici, registro di stato)
    UC
    ciclo fetch-decode-execute
    clock e considerazioni sulle prestazioni
    repertorio istruzioni e linguaggio macchina
    macchine CISC e RISC
  5. interfacce per periferiche
    registri periferiche
  6. dischi magnetici
    settori e tracce, formattazione
    costi e prestazioni
    accesso per blocco
esercizi svolti
esercizi proposti
listati
commenti
riferimenti [1] sez.: 3.2, 3.3, 3.4.1, 3.5.2, 8.1.1 (CISC e RISC)
siti web

torna all'elenco delle lezioni

data 13/12/2001
tipo lez
#ore 2
#ore tot 22
argomenti
  1. Dischi magnetici
    frammentazione
    bufferizzazione
    scrittura write-through
    floppy, zip, hard disk
  2. Dischi ottici
    CD-ROM, CD-RW, DVD
  3. Nastri e back-up
  4. Ancora sulle memorie
    ROM, PROM, EEROM
  5. Dispositivi di puntamento
    Mouse, trackball, touchpad
  6. Tavoletta grafica
  7. Stampanti
  8. Modem
esercizi svolti
esercizi proposti
listati
commenti
riferimenti [1] sez.: 3.6.2, 3.6.3, 3.6.4
siti web

torna all'elenco delle lezioni

data 17/12/2001
tipo lab
#ore 3
#ore tot 9
argomenti
  1. motori di ricerca
    Altavista
    Google
  2. utilizzo di JCreator come editor html e sintax highlighting
  3. tag html: struttura, colore dello sfondo e formato RGB, paragrafi, font, collegamenti ...
esercizi svolti
esercizi proposti
listati
commenti
riferimenti
  1. Documento guida
siti web

torna all'elenco delle lezioni

data 20/12/2001
tipo lez
#ore 2
#ore tot 24
argomenti
  1. Software
    sistema operativo e sw di base
    sw applicativo
  2. Concetto di processo
  3. Sistema operativo
    modello a strati e concetto di virtualizzazione delle risorse
    nucleo e sue funzioni principali
    cenno alla multielaborazione e allo scheduling dei processi
    gestore della memoria
    gestore periferiche
    gestore file system
    interprete comandi
esercizi svolti
esercizi proposti
listati
commenti
riferimenti [1] sez.: 4.2.1, 4.2.2, 4.2.3, 4.2.4, 4.2.5, 4.2.6, 4.3, 4.3.1, 4.3.2, 4.3.3
siti web

torna all'elenco delle lezioni

data 14/1/2002
tipo lez
#ore 3
#ore tot 27
argomenti
  1. Linguaggi e programmi
  2. Linguaggi a basso livello
  3. Linguaggi ad alto livello
  4. Il processo di traduzione
    compilazione
    librerie
    interpretri
  5. La traduzione dei programmi Java
    dimostrazione su piattaforma Windows
  6. Linguaggi object-oriented
  7. Classi ed oggetti
  8. Primo programma Java
esercizi svolti
esercizi proposti
listati Hello.java download
commenti
riferimenti

[1] sez.: 4.1

[2] sez.: 1.6, 1.8, Errori comuni 1.1, 1.9, 1.10, parte di 1.11 

siti web
  1. sito Sun di supporto a Java: http://java.sun.com; in particolare, dalla url http://java.sun.com/j2se/ è possibile scaricare l'ultimo SDK, che contiene JDK
  2. sito ufficiale della Sun: http://www.sun.com
  3. browser Opera, supporta Java 2: http://www.opera.com

torna all'elenco delle lezioni

data 17/01/2002
tipo lez
#ore 2
#ore tot 29
argomenti
  1. Sequenze di escape
  2. Funzioni delle classi e degli oggetti
  3. Tipi
    int, double
    altri tipi
  4. Variabili
    dichiarazione
    assegnazione
    inizializzazione
  5. Cast
esercizi svolti
esercizi proposti
listati
commenti
riferimenti

[2] sez.: Argomenti avanzati 1.1, 2.1, Errori comuni 2.1, Suggerimenti per la qualità 2.1, Argomenti avanzati 2.2 (parte), 2.2, 2.3 (parte), 2.5 (parte), Errori comuni 2.3

Tabelle nel tutorial Java su:

tipi

variabili

operatori aritmetici

siti web

torna all'elenco delle lezioni

data 21/01/02
tipo lab
#ore 3
#ore tot 12
argomenti
  1. Spiegazioni Preliminari
    Concetti base programmazione: file sorgente, file eseguibile, compilatori ed interpreti
    Programmazione in Java: editing, compilazione, interpretazione
    Strumenti di sviluppo in Java: editor notepad (accenni su JCreator e syntax highlight), compilatore javac, interprete
    Vantaggi del doppio processo di traduzione in java e portabilità del software
  2. Laboratorio
    Esercizio 1 - Stampa di un albero di Natale con asterischi
    Esercizio 2 - Stampa di un nome in una cornice
    Notepad: Editing dei file sorgenti
    Shell di MS-DOS: compilazione e traduzione
    Discussione degli esercizi
    Notepad: scrittura del codice sorgente per l'Esercizio 1
    Shell di MS-DOS: compilazione ed interpretazione del codice
    Commento al codice Esercizio 2
esercizi svolti
esercizi proposti
listati
Albero di Natale download
Nome in cornice download
commenti
riferimenti
  1. Documento guida
  2. Note sulla costruzione dei programmi in Java
siti web

torna all'elenco delle lezioni

data 24/01/2002
tipo lez
#ore 2
#ore tot 31
argomenti
  1. Costruzione di oggetti tramite new
  2. Riferimenti ad oggetti
  3. import
  4. Classe Rectangle e metodi intersection() e translate()
  5. Classe JOptionPane e metodo statico showMessageDialog()
  6. Visualizzazione di vocali accentate in console
  7. Conversione di tipi
    concatenazione di stringhe vs. somma algebrica
esercizi svolti
esercizi proposti
listati
  1. PrimoRett.java download
  2. Giochiamo.java download
commenti
riferimenti

[2] sez.: 1.11, 2.3, 2.5, Errori comuni 2.3, Consigli per la produttività 2.2, 2.6.4 (in parte)

siti web
JDK SUN: http://java.sun.com/j2se/

torna all'elenco delle lezioni

data 28/1/2002
tipo lez
#ore 2
#ore tot 33
argomenti
  1. Tipo boolean
  2. Operatore ==
  3. Classe String e metodi notevoli
    length()
    substring()
    charAt()
    toUpperCase()
    toLowerCase
    trim()
  4. Metodo equals()
  5. Confrontare riferimenti e confrontare oggetti
esercizi svolti
esercizi proposti
listati Stringhe.java download
commenti La lezione è iniziata alle 16:15 a causa della concomitante conferenza del prof. Rivest.
riferimenti

[2] sez.: 2.6.1, 2.6.2, 2.6.3, 2.6.4 (parte), 3.8, 5.2.1 (solo ==), 5.2.3, Errori comuni 5.1, 5.2.4, 5.4.1

siti web

torna all'elenco delle lezioni

data 31/1/2002
tipo lez
#ore 2
#ore tot 35
argomenti
  1. Input nei programmi
  2. La classe ConsoleReader
    Metodi readLine(), readInt() e readDouble()
  3. Errori runtime ed eccezioni
  4. Intercettamento di eccezioni mediante try-catch
  5. Costanti e variabili final
  6. Cenno alla classe Math
    Metodo round()
  7. Concetto di campo
  8. Costanti notevoli: Math.PI
esercizi svolti
esercizi proposti
listati
ConsoleReader.java download
PrimoInput.java download
PrimoInputExc.java download
EuroConv.java download
Cerchio.java download
commenti
riferimenti

[2] sez.: 2.4, Suggerimenti per la qualità 2.2, 2.5, 2.7, 2.8.2, 3.3 (cenni), 

siti web

torna all'elenco delle lezioni

data 4/2/2002
tipo lab
#ore 3
#ore tot 15
argomenti
  1. spiegazioni:
    variabile di ambiente PATH (vedi foglio guida esercitazione)
    spiegazione esercizi 1 e 2 e chiarimenti
  2. parte pratica:
    Esercizio 1: I/O da console e gestione delle stringhe
    Esercizio 2: casting, alcune funzioni di libreria java.lang.Math, gestione delle eccezioni con costrutto try-catch
  3. dimostrazione:
    Discussione Esercizi 1 e 2: utilizzo della classe ConsoleReader, di stringhe, formattazione dell'output
    (caratteri speciali \n, \t), divisione per zero ed eccezioni
esercizi svolti
esercizi proposti
listati
  1. Una possibile soluzione all'Esercizio 1: IODaConsole2.java download
  2. Una possibile soluzione all'Esercizio 2: ProvaFunzione.java download
commenti
riferimenti
  1. Documento guida
siti web

torna all'elenco delle lezioni

data 7/2/2002
tipo lez
#ore 2
#ore tot 37
argomenti
  1. Sintassi per la definizione di una classe
  2. Variabili istanza
  3. Specificatori di accesso public e private
  4. Il riferimento a null
  5. Concetto di costruttore
    Costruttore esplicito
    Costruttore di default
  6. Sovraccaricamento dei costruttori
  7. Metodi
  8. Parametri formali ed attuali
  9. return
  10. Fattorizzazione del codice
  11. Cenno al concetto di incapsulamento
  12. Cenno all'istruzione if
esercizi svolti
esercizi proposti Esaminare la classe Contatore e discutere la scelta di dichiarare pubbliche le sue variabili di istanza
listati
  1. Classe Persona download
  2. Classe TestPersona download
  3. Classe Contatore download
commenti Ciò che a lezione è stato chiamato "parametro attuale" sul libro di testo è denominato "parametro effettivo" o "di argomento" (cfr. pag. 280)
riferimenti

[2] sez.: 3.1, 3.2, 3.3, 3.4, 3.5, Argomenti avanzati 3.1, 3.8, 3.9, 5.1 (parte), 7.1 (eccetto la parte su this), Suggerimenti per la qualità 7.1, 7.4

siti web

torna all'elenco delle lezioni

data 18/2/2002
tipo lez
#ore 3
#ore tot 40
argomenti
  1. istruzione if
    sintassi
    semantica
  2. concetto di blocco ({...})
  3. operatori di confronto (>, ==, <, <=, >=, !=) e operatore unario negazione logica (!)
    confronto di eguaglianza fra due valori in virgola mobile
  4. metodo System.exit(.)
  5. variabili istanza public e private
    incapsulamento come strumento per aumentare la robustezza del software e limitare la propagazione delle modifiche
  6. metodi JOptionPane.showInputDialog(.) e JOptionPane.showMessageDialog(.)
  7. notazioni -- e ++
  8. metodo Integer.parseInt(.)
    conversioni stringa->intero e intero->stringa
esercizi svolti
esercizi proposti
  1. realizzare usando opportunamente uno o più costrutti if un confronto di eguaglianza fra due valori in virgola mobile
listati
  1. Classe Contatore download
  2. Classe TestContatore download
  3. Classe ContatoreBetter download
  4. Classe IoWindow download
  5. Classe IoWindowExc download
commenti
riferimenti

[2] sez.: 3.7, 3.9, 4.8 (solo i metodi di JOptionPane), 5.1, 5.2.1, 5.2.2, Errori comuni 5.2

siti web

torna all'elenco delle lezioni

data 21/2/2002
tipo lez
#ore 2
#ore tot 42
argomenti
  1. Tipi di applicazioni Java
    da console
    grafiche
    applet
  2. Struttura delle applet
    metodi start, init, paint, stop, destroy
  3. Esecuzione delle applet
    da web browser
    tramite appletviewer
esercizi svolti
esercizi proposti
listati
  1. Classe PrimaApplet download
  2. File HTML per l'applet PrimaApplet (vedi applet)
  3. Classe SecondaApplet download
  4. File HTML per l'applet SecondaApplet (vedi applet)
commenti
riferimenti

[2] sez.: 4.1, 4.2, 4.3, Argomenti avanzati 4.1, 4.8

siti web

torna all'elenco delle lezioni

data 25/2/2002
tipo lab
#ore 3
#ore tot 18
argomenti
  1. tipi di programmi in Java (cap 4 Horstmann)
    applicazione con I/O da console
    applicazioni grafiche
    applet
  2. le applet ed il linguaggio HTML: tag applet, browser e web server
  3. metodo paint e classe Graphics2D: metodi di Graphics2D e casting del parametro di paint
  4. metodo init e classe JOptionPane: I/O grafico
  5. classe Color: formato RGB e costanti colore
  6. Riassunto classi e metodi:
    Applet: paint, init
    Graphics
    Graphics2D: costruttore, fill, draw, setColor
    Color: costruttore
    Rectangle: costruttore, translate
    Ellipse2D.Double: setFrame
    Polygon: costruttore (senza argomenti), addPoint
    JOptionPane: showInputDialog, showMessageDialog
esercizi svolti
esercizi proposti
listati
  1. Applet AppletGrafica1 download
  2. Applet AppletGrafica2 download
  3. Applet AppletGrafica3 download
  4. File HTML per lanciare un'applet (AppletGrafica3 - per lanciare le altre applet basta modificare il nome del file .class nel tag applet) (vedi applet)
commenti
riferimenti
  1. Documento guida
  2. Slide PowerPoint sui tipi di applicazioni Java
siti web

torna all'elenco delle lezioni

data 4/3/2002
tipo lez
#ore 3
#ore tot 45
argomenti
  1. Cicli
    a condizione iniziale
    a condizione finale
  2. Istruzione while
    sintassi e semantica
  3. Istruzione do-while
    sintassi e semantica
  4. Schemi di uso del while
    esempi sulla ricerca del max in una sequenza di valori
    con variabile di conteggio
    con valore "tappo"
  5. Confronto di eguaglianza fra valori in virgola mobile
  6. Operatori booleani (binari)
    tabelle di verità
    operatore and (&&)
    operatore or (||)
    leggi di De Morgan
esercizi svolti realizzazione del test di eguaglianza fra numeri in virgola mobile
esercizi proposti
listati
  1. Applet Bersaglio download
  2. File HTML per l'applet Bersaglio (vedi applet)
commenti
riferimenti

[2] sez.: 5.2.2, 5.3.1, 5.3.2, 5.4.2, Errori comuni 5.4, 5.4.3, 5.4.4, 6.1, Errori comuni 6.1, 6.3, 6.5.1, 6.5.2

siti web

torna all'elenco delle lezioni

data 7/3/2002
tipo lez
#ore 2
#ore tot 47
argomenti
  1. Richiami sull'operatore di autoincremento
  2. Assegnazioni multiple
  3. Esempi di uso di while e di do-while
  4. NullPointerException
  5. Considerazioni sulla fattorizzazione del codice
esercizi svolti
esercizi proposti
listati
  1. Applet Bersaglio2 download
  2. File HTML per l'applet Bersaglio2 (vedi applet)
  3. Applet Bersaglio3 download
  4. File HTML per l'applet Bersaglio3 (vedi applet)
commenti
riferimenti
siti web

torna all'elenco delle lezioni

data 14/3/2002
tipo lez
#ore 2
#ore tot 49
argomenti
  1. Ciclo for
  2. Equivalenza while-for
  3. Istruzione break e schemi tipi di uso
  4. Ottimizzazioni nelle valutazioni di espressioni booleane complesse
  5. Simbolo di fine-file e suo uso
  6. Standard input/output e loro ridefinizione
  7. Pipelining
esercizi svolti Algoritmo per determinare il secondo valore in una sequenza
esercizi proposti Scrivere un programma completo per il calcolo del secondo valore in una sequenza, gestendo le eccezioni e terminando l'input con il simbolo di fine-file o con la riga vuota
listati
  1. Classe TrovaMax (con ciclo for) download
  2. Classe TrovaSecondo download
commenti
riferimenti

[2] sez.: 6.2, Argomenti avanzati 6.1, Argomenti avanzati 6.2, Argomenti avanzati 6.3 (solo break), Consigli per la produttività 6.1, Argomenti avanzati 6.5

siti web

torna all'elenco delle lezioni

data 18/3/2002
tipo lez
#ore 3
#ore tot 52
argomenti
  1. Riepilogo metodi
    pubblici e privati, considerazioni progettuali
    statici e non
    parametri formali ed attuali
    parametro implicito (this) e suo uso
    signature (firma) di un metodo ed overloading 
  2. Variabili e loro ambito
    locali
    parametri formali
    di istanza
    statiche
esercizi svolti
esercizi proposti
listati
  1. Applet Cerchi download
  2. File HTML per l'applet Cerchi (vedi applet)
  3. Applet Cerchi2 download
  4. File HTML per l'applet Cerchi2 (vedi applet)
commenti
riferimenti

[2] sez.: Argomenti avanzati 3.1, 7.1, 7.3, Errori comuni 7.2, 7.5, 7.6, Errori comuni 7.4

siti web

torna all'elenco delle lezioni

data 21/3/2002
tipo lez
#ore 2
#ore tot 54
argomenti
  1. Metodi accessori e modificatori
  2. Esempio con if annidati (ordinamento di tre int)
  3. Introduzione agli array
    concetto
    tipi base
    dichiarazione
    accesso
    gli array sono oggetti
    creazione
    tecniche di utilizzo ed esempi
esercizi svolti
esercizi proposti Completare esempio di programma per l'ordinamento di tre interi
listati
commenti
riferimenti

[2] sez.: 7.2, 11.1.1, Errori comuni 11.1, Errori comuni 11.2, 11.1.2 (parte)

siti web

torna all'elenco delle lezioni

data 25/3/2002
tipo lab
#ore 3
#ore tot 21
argomenti
  1. Richiami sui cicli in Java
  2. Richiami sulla grafica con le applet
  3. Grafico di una funzione
  4. Trasformazione grafica dal piano d'utente al piano di dispositivo
esercizi svolti
esercizi proposti
listati
Applet GraficoFunzione download
File HTML per la visualizzazione dell'applet GraficoFunzione (vedi applet)
Applet RosaDeiVenti download
File HTML per la visualizzazione dell'applet RosaDeiVenti (vedi applet)
Applet Traiettoria1 download
Applet Traiettoria2 download
File HTML per la visualizzazione dell'applet Traiettoria1 (vedi applet)
commenti
riferimenti
Documento guida
Trasparenze pdf sulle trasformazioni grafiche 2-dimensionali
siti web

torna all'elenco delle lezioni

data 4/4/2002
tipo lez
#ore 2
#ore tot 56
argomenti Array sovradimensionati
  1. Array non ordinati
    Ricerca (sequenziale) di un elemento
    Inserimento di un elemento
    Cancellazione di un elemento
  2. Array ordinati
    Ricerca (binaria) di un elemento
    Inserimento di un elemento
    Cancellazione di un elemento
esercizi svolti
esercizi proposti
  1. Completare la scrittura del codice relativo alle operazioni di ricerca, inserimento e cancellazione. 
listati
commenti
riferimenti

[2] sez.: 11.1.3, 11.3.1, 11.3.3, 11.3.4

siti web

torna all'elenco delle lezioni

data 8/4/2002
tipo lez
#ore 3
#ore tot 59
argomenti
  1. modifica della dimensione di un array
  2. criteri di scelta fra array ordinato e non ordinato
  3. cicli annidati
    costruzione di una tavola pitagorica
    ordinamento di un insieme
    bubble sort
    versione con confronti fra coppie adiacenti di elementi
    versione con confronti fra un elemento e tutti i successivi
    cenno sulla complessità del bubble sort (n2)
  4. generazione di interi casuali (classe java.util.Random, costruttore di default, metodo nextInt)
  5. esempio: ordinamento di 10000 interi
    uso del reindirizzamento dell'input/output dal prompt di DOS
  6. classe java.util.Arrays, metodi sort e binarysearch
  7. metodo System.arraycopy
esercizi svolti
esercizi proposti
listati
  1. Classe Pitagora download
  2. Classe Pitagora2 download
  3. Classe GeneraInt download
  4. Classe MioArray download
  5. Classe Sort, per testare MioArray download
commenti
riferimenti

[2] sez.: 6.4, 6.6 (parte relativa alla classe Random), 11.1.2 (completo)

[2] appendice: A 2.10 classi java.util.Random e java.util.Arrays

siti web

torna all'elenco delle lezioni

data 11/4/2002
tipo lez
#ore 2
#ore tot 61
argomenti
  1. Array bidimensionali
  2. Introduzione alla ereditarietà
  3. Sottoclassi e superclassi
  4. Classe Object
  5. Metodo toString()
  6. Gerarchie di ereditarietà e gerarchia is-a
  7. Costruttori nelle sottoclassi
  8. super e this
esercizi svolti
esercizi proposti
  1. Realizzare un programma Java che riconosca se una data matrice quadrata rappresenta un quadrato magico, ovvero se ciascuna riga, ciascuna colonna e le due diagonali hanno la medesima somma.
  2. Realizzare un programma Java per il calcolo del prodotto righe per colonne di due matrici.
listati
commenti Una possibile soluzione all'esercizio proposto il 4/4 u.s. è stata discussa il 27/4/2001.
riferimenti

[2] sez.: 11.7, 9.1, Errori comuni 9.1, 9.3, 9.4, 9.5, 9.9 (cenni)

documentazione API Java: http://java.sun.com/j2se/1.4/docs/api/ (o documentazione installata localmente nell'ambito della piattaforma Java)

siti web http://java.sun.com/j2se/1.4/docs/api/

torna all'elenco delle lezioni

data 15/4/2002
tipo lab
#ore 1
#ore tot 22
argomenti
  1. array bidimensionali
    introduzione al concetto di array bidimensionale
    instanziare un array bidimensionale
    utilizzare array bidimensionali in cicli annidati
  2. array di oggetti
    instanziare array di oggetti
    stampare/disegnare array di oggetti con cicli.
  3. esercizio1: moltiplicazione di due matrici quadrate
    metodi: creazione matrice quadrata di interi casuali
    moltiplicazione di due matrici di interi
    stampa formattata su console di A*B=C
  4. esercizio2: istogrammi e array di rettangoli
    applet per disegnare istogramma di campioni casuali
    metodo paint ridefinito
    metodo ausiliario per creare array di barre con lunghezza casuale
    metodo ausiliario per disegnare barre
esercizi svolti
esercizi proposti
listati
  1. Classe MoltiplicaMatrici download
  2. Applet BarChart download
  3. File HTML per la visualizzazione dell'applet (visualizza applet)
commenti
riferimenti Documento guida
siti web

torna all'elenco delle lezioni

data 18/4/2002
tipo lez
#ore 2
#ore tot 63
argomenti
  1. Breve sommario sulla ereditarietà
  2. Conversioni fra tipi di classe
  3. Ereditare variabili di istanza e metodi
  4. Sovrascrittura (override) metodi della superclasse
  5. Polimorfismo
  6. Controllo di accesso
    privato, pubblico, di pacchetto
  7. Documentazione API: javadoc
esercizi svolti
esercizi proposti
listati
  1. Applet Disegno (esegui applet)
    classe Disegno download
    classe Rettangolo download
    classe Quadrato download
    file HTML per esecuzione applet download
commenti
riferimenti

[2] sez.: 7.7, Consigli per la produttività 7.1, 9.2, 9.4, 9.6, 9.8, Errori comuni 9.4

siti web

torna all'elenco delle lezioni

data 22/4/2002
tipo lez (ing. Inzerilli)
#ore 3
#ore tot 66
argomenti
  1. Cenni sulla ricorsione e sull'induzione matematica: successioni, frattali, induzione matematica
  2. Elementi base di un algoritmo ricorsivo:
    passo base, passo ricorsivo
    errori da evitare: dimenticare passo base, passo ricorsivo che non si semplifica, .....
  3. Ricorsione e programmazione: programma che chiama se stesso
  4. Esempio fattoriale: presentazione algoritmo e codice java
  5. Utilizzo inefficiente della ricorsione
    esempio della generazione di una successione di Fibonacci
    confronto con algoritmo utilizzante un ciclo al posto della ricorsione
  6. Programmi ricorsivi e programmi utilizzanti cicli: efficienza, semplicità
  7. Cenno al backtracking ed esempi di problemi risolvibili mediante backtracking: riempimento di una matrice, visita di un labirinto, attraversamento di una palude...
  8. Esempio riempimento matrice con backtracking: presentazione dell'algoritmo e discussione del codice
  9. Applet e grafica: disegno di un reticolo, scrittura e cancellazione di
    stringhe
esercizi svolti
esercizi proposti
listati
  1. Classe Fattoriale download
  2. Classe BackTracking2 download
  3. Applet BackTracking (visualizza applet)
    Classe BackTracking
    File HTML per la visualizzazione dell'applet
commenti
riferimenti

[2] sez.: 7.9, Errori comuni 7.5

siti web

torna all'elenco delle lezioni

data 29/4/2002
tipo lab
#ore 3
#ore tot 25
argomenti
  1. nozioni generali sui font
    carattere unicode, glyph, stili con grazie e senza grazie,
    grassetto, corsivo, numero punti, conversione da punti a pixel
    parametri di una stringa (ascesa, discesa, interlinea, giustezza)
  2. classi: Font, FontRenderContext, TextLayout
  3. esercizi
    applet GestioneFont
    applet GraficoFunzioneModificato
  4. discussione esercizi
    come stampare una stringa su una applet
    come posizionare un messaggio sfruttando le informazioni sui i paramentri dei font (ascesa,discesa, interlinea, giustezza)
    come risconoscere un punto di massimo o minimo
    relativo
esercizi svolti
esercizi proposti
listati
  1. Applet GestioneFont download
    File HTML per la visualizzazione dell'applet (visualizza applet)
  2. Applet GraficoFunzioneModificato download
    File HTML per la visualizzazione dell'applet (visualizza applet)
commenti
riferimenti
  1. Documento guida
  2. [2] sez.: 4.6

siti web

torna all'elenco delle lezioni

data 2/5/2002
tipo lez
#ore 2
#ore tot 68
argomenti
  1. interfacce
  2. classi/metodi abstract
  3. classi/metodi final
  4. eventi in Java
  5. classi evento
  6. interfacce "listener" e classi "adapter"
  7. intercettazione di eventi
  8. classi interne
esercizi svolti
esercizi proposti
listati
  1. Applet MouseSpyApplet download
    File HTML per la visualizzazione dell'applet (visualizza applet)
commenti
riferimenti

[2] sez.: 9.7, Argomenti avanzati 9.1, Argomenti avanzati 9.2, Argomenti avanzati 9.3, 10.1, 10.2, 10.3 (parte)

scaletta argomenti della lezione e brevi note

siti web

torna all'elenco delle lezioni

data 6/5/2002
tipo lez
#ore 3
#ore tot 71
argomenti
  1. classi interne
  2. eventi mouse
    interfacce MouseListener e MouseMotionListener, illustrate nella classe MouseSpyApplet2
  3. metodo repaint()
    esempi in EggApplet e EggDrag
  4. applicazioni grafiche e Swing
  5. cenno ai thread
  6. frame Java e JFrame
  7. eventi finestra (classe WindowEvent)
  8. interfaccia WindowListener e relativo adapter
  9. lastra dei contenuti (contentPane) ed altre lastre
  10. pannelli e JPanel
  11. disegno in un pannello 
    metodo paintComponent
  12. esempio di applicazione grafica: classe EggFrame
esercizi svolti
esercizi proposti
listati
  1. Applet MouseSpyApplet2 download
    File HTML per la visualizzazione dell'applet (visualizza applet)
  2. Applet EggApplet download
    File HTML per la visualizzazione dell'applet (visualizza applet)
  3. Applet EggDrag download
    File HTML per la visualizzazione dell'applet (visualizza applet)
  4. Classe EggFrame (applicazione grafica) download
commenti
riferimenti

[2] sez.: 10.3, Errori comuni 10.1, 10.4, 10.5, Errori comuni 10.2, Argomenti avanzati 10.3, 

scaletta argomenti della lezione e brevi note

siti web

torna all'elenco delle lezioni

data 9/5/2002
tipo lez
#ore 2
#ore tot 73
argomenti
  1. componenti
  2. contenitori
  3. layout manager
    FlowLayout
    BorderLayout
    GridLayout
  4. campi di testo
    JTextField
  5. eventi azione
  6. esempio
esercizi svolti
esercizi proposti
listati
  1. Classe EggFrame2 (applicazione grafica) download
commenti
riferimenti

[2] sez.: 10.6, 12.1, 12.2 (cenno)

scaletta argomenti della lezione e brevi note

siti web

torna all'elenco delle lezioni

data 13/5/2002
tipo lab
#ore 3
#ore tot 28
argomenti
  1. GUI
    classi JFrame e JApplet
  2. layout di una GUI
  3. come inserire oggetti grafici come origini di eventi in pannelli
  4. come inserire pannelli nel contenitore di un JFrame
  5. altre classi trattate: JPanel, JButton, JTextField, JLabel, Container
  6. esercizi
    tracciamento grafico di una funzione su una GUI, con possibilità di modifica della finestra di visualizzazione (input da tastiera attraverso campi testo nella GUI)
    spostamento e ridimensionamento di una forma ovale su un pannello tramite mouse
  7. discussione soluzioni
    utilizzo classi interne in Java
    intercettazione di un evento: inserimento testo tramite tastiera, trascinamento con mouse,
    movimento del mouse, pressione di un bottone
esercizi svolti
esercizi proposti
listati
Classe EggFrame2 download
Classe VisualizaGrafico download
commenti
riferimenti Documento guida
siti web

torna all'elenco delle lezioni

data 16/5/2002
tipo lez
#ore 1
#ore tot 74
argomenti
  1. interfaccia Shape
  2. classi che implementano Shape
  3. interfacce come tipo
  4. schema generale per il disegno di oggetti grafici
  5. cenno alla classe Vector
esercizi svolti
esercizi proposti
listati
commenti
riferimenti interfaccia Shape, classe Vector
siti web

torna all'elenco delle lezioni

data 20/5/2002
tipo lez
#ore 2
#ore tot 76
argomenti
  1. contesto grafico e classe Graphics2D
  2. attributi grafici
    metodi setStroke, setPaint, setComposite, setTransform
    classi BasicStroke, AffineTransform
  3. immagini
    metodi getImage, drawImage, getDocumentBase
    classi Image, BufferedImage
esercizi svolti
esercizi proposti
listati
commenti
riferimenti

scaletta argomenti della lezione e brevi note

tutorial grafica 2D in Java

siti web

torna all'elenco delle lezioni

data 23/5/2002
tipo lez 
#ore 2
#ore tot 78
argomenti esempi di ricapitolazione
esercizi svolti
esercizi proposti
listati
commenti ultima lezione del corso per il 2001-02
riferimenti
siti web

torna all'elenco delle lezioni

Questa è la bacheca di Informatica Grafica, corso di laurea specialistica in Ing. Edile-architettura
by FdA
ultima modifica: 02/02/2005 11.30