Programmazione Turno 3/2005-2006
Informazioni generali
Programma del corso
http://www.dsi.unimi.it/files/occorrenza/programma/programma258676.doc
Docenti
Prof. Pighizzini / Prof. Marra per il laboratorio
Orari e luogo delle lezioni
Lunedì | Mercoledì | Venerdì |
---|---|---|
18:30-21:30 Aula 405 (celoria) | 18:30-21:30 Aula 405 (celoria) | 18:30-21:30 Aula 405 (celoria) |
Orario di ricevimento studenti
Da definire.
Sito del corso
http://homes.dico.unimi.it/prog/turno3-05/
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)
altro materiale consigliato:
K. Arnold, J. Gosling, D. Holmes, Java - Manuale ufficiale, Addison Wesley, 2001.
Java Technology sito internet della Sun
video delle lezioni tenute lo scorso anno
si possono copiare facendo richiesta alla segreteria didattica in via Comelico.
Fruibili via streaming con account silab http://streaming.dico.unimi.it
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.
il prof ha già dato 3 date indicative per i 3 compitini
- 2 Novembre
- 2 Dicembre
- 20 Gennaio
I 3 progettini ed il progetto finale saranno organizzati da prof. Marra
Diario del corso
Lezione di Lunedì 3-10-05
Argomenti trattati nella lezione di 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 di Mercoledì 5-10-05
Argomenti trattati nella lezione di oggi :
- Analogico/Digitale
- Definizione Di BIT
- BIT/BYTE/Kb/KB.....
- IL CODICE ASCII
esempi di calcolo utilizzo della memeoria per una pagina in ascii
esempio calcolo memoria per un'immagine 800X600 fatta con 2/16/256/65536 colori non compressa
- Computer/calcolatrice le differenze
- Breve classificazione HARDWARE
- processore
- memoria centrale
- memoria di massa
- periferiche
- Differenze e caratteristiche memoria centrale/ memoria di massa
- Classificazione SOFTWARE
- sistema operativo
- utility
- software applicativi
- Modello di VON NEUMANN
- La CPU fetch/decode/execute
- I registri della CPU / la RAM e le sue Locazioni
- LINGUAGGI ASSEMBLER
- comandi trasferimento dati
- comandi aritmetico logici
- istruzioni di controllo e salto
esempio codice per sommare 2 numeri e salvarne il risultato nella cella X
Compito per casa
provare a scrivere con i comandi assembler imparati del codice che, utilizzando l'algoritmo di Euclide, calcoli il massimo comun divisore tra 2 numeri. supposto di avere i due numeri in 2 celle 101 e 102 e di dover lasciare il risultato nella cella 103 e tenendo presente che non mi interessa salvare i dati inizialmente contenuti nelle celle 101 e 102
ok spero di non essermi dimenticato niente
Lezione di Venerdì 7-10-05
Argomenti trattati nella lezione di oggi :
- correzione compito per casa (programmino in assembler)
- osservazione approposito degli svantaggi della programmazione in assembler
- I linguaggi ad alto livello
- il compilatore
- il linker
- L'interprete
- Errori
- durante la compilazione
- usando il linker
- la fase di testing
- I limiti della portabilità del codice
esempio somma di interi su 2 architetture diverse (una con interi rappresentati da 16 bit ed una da 32 bit)
- JAVA
- il compilatore
- il BYTECODE
- la JVM
- i vantaggi di questa architettura
- La portabilità del codice
- la portabilità del compilatore
- svantaggi
- prestazioni
- le funzioni normalmente solte dal linker in Java( controllo e colegamento negli altri ling. svolti dal linker)
- le applet Java