Differenze tra le versioni di "Fondamenti di architettura e programmazione T2/2008-2009"
(→Diario del corso del Laboratorio di programmazione (H-Z)) |
|||
Riga 8: | Riga 8: | ||
== Info (H-Z) == | == Info (H-Z) == | ||
− | === Docenti === | + | === [Docenti] === |
*FAP: [http://www.ccdi.unimi.it/it/docenti/ALBERTI-MARIA%20ALBERTA-05S.html Maria Alberta Alberti]; | *FAP: [http://www.ccdi.unimi.it/it/docenti/ALBERTI-MARIA%20ALBERTA-05S.html Maria Alberta Alberti]; | ||
*LABORATORIO: [http://www.ccdi.unimi.it/it/docenti/ALBERTI-MARIA%20ALBERTA-05S.html Lorenzo Capra] | *LABORATORIO: [http://www.ccdi.unimi.it/it/docenti/ALBERTI-MARIA%20ALBERTA-05S.html Lorenzo Capra] | ||
− | === Orario lezioni === | + | === [Orario lezioni] === |
'''''Fondamenti di architettura e programmazione''''' | '''''Fondamenti di architettura e programmazione''''' | ||
Riga 31: | Riga 31: | ||
*Martedì: 8.30 - 12.30 (aula Sigma - Comelico) | *Martedì: 8.30 - 12.30 (aula Sigma - Comelico) | ||
− | === Materiale didattico === | + | === [Materiale didattico] === |
*[http://homes.dico.unimi.it/~alberti/Fond08/#materiale Fondamenti di Architettura e programmazione]; | *[http://homes.dico.unimi.it/~alberti/Fond08/#materiale Fondamenti di Architettura e programmazione]; | ||
*[http://homes.dico.unimi.it/~capra/FondProg08/#Materiale Laboratorio di programmazione] | *[http://homes.dico.unimi.it/~capra/FondProg08/#Materiale Laboratorio di programmazione] | ||
− | === Testi consigliati === | + | === [Testi consigliati] === |
*G. Pighizzini, M. Ferrari: Dai fondamenti agli oggetti. Corso di programmazione JAVA (II o III edizione), Addison-Wesley, Pearson Education Italia, 2005. | *G. Pighizzini, M. Ferrari: Dai fondamenti agli oggetti. Corso di programmazione JAVA (II o III edizione), Addison-Wesley, Pearson Education Italia, 2005. | ||
− | === Modalità esami === | + | === [Modalità esami] === |
Sono previsti quattro compitini ('''non obbligatori''') molto probabilmente fissati per: | Sono previsti quattro compitini ('''non obbligatori''') molto probabilmente fissati per: | ||
Riga 57: | Riga 57: | ||
== Diario del corso di FAP (H-Z) == | == Diario del corso di FAP (H-Z) == | ||
− | === Prima lezione, 1.10.08 === | + | === [Prima lezione], 1.10.08 === |
* Il calcolatore nella storia | * Il calcolatore nella storia | ||
Riga 67: | Riga 67: | ||
* Criteri di bontà degli algoritmi | * Criteri di bontà degli algoritmi | ||
− | === Seconda lezione, 3.10.08 === | + | === [Seconda lezione], 3.10.08 === |
*Ripasso generale, rivolto in particolare alla dimostrazione della quarta caratteristica dell'algoritmo, soddisfatto per l'algoritmo di Euclide | *Ripasso generale, rivolto in particolare alla dimostrazione della quarta caratteristica dell'algoritmo, soddisfatto per l'algoritmo di Euclide | ||
Riga 80: | Riga 80: | ||
*Struttura del programma Java | *Struttura del programma Java | ||
− | === Terza lezione, 7.10.08 === | + | === [Terza lezione], 7.10.08 === |
*Il processore e il suo linguaggio | *Il processore e il suo linguaggio | ||
Riga 94: | Riga 94: | ||
*Componenti dei linguaggi funzionali | *Componenti dei linguaggi funzionali | ||
− | === Quarta lezione, 8.10.08 === | + | === [Quarta lezione], 8.10.08 === |
*Sintassi e semantica | *Sintassi e semantica | ||
Riga 107: | Riga 107: | ||
*Gli errori (sintattici, di compilazione, logici) | *Gli errori (sintattici, di compilazione, logici) | ||
− | === Quinta lezione, 10.10.08 === | + | === [Quinta lezione], 10.10.08 === |
*Introduzione agli oggetti | *Introduzione agli oggetti | ||
Riga 127: | Riga 127: | ||
*L'operatore new | *L'operatore new | ||
− | === Sesta lezione, 14.10.08 === | + | === [Sesta lezione], 14.10.08 === |
*Riferimenti | *Riferimenti | ||
Riga 144: | Riga 144: | ||
*La classe ConsoleOutputManager | *La classe ConsoleOutputManager | ||
− | === Settima lezione, 15.10.08 === | + | === [Settima lezione], 15.10.08 === |
*Ripresa di argomenti vari (oggetti, classi, metodi, ecc..) riferendosi all'esempio di una moneta | *Ripresa di argomenti vari (oggetti, classi, metodi, ecc..) riferendosi all'esempio di una moneta |
Versione delle 18:06, 27 ott 2008
Indice
News & Avvisi (H-Z)
- Venerdì 17 ottobre, causa sciopero dei mezzi, la lezione di FAP sarà sospesa.
Info (H-Z)
[Docenti]
- FAP: Maria Alberta Alberti;
- LABORATORIO: Lorenzo Capra
[Orario lezioni]
Fondamenti di architettura e programmazione
- Martedì: 14.30 - 17.30 (aula V3 - Venezian)
- Mercoledì: 15.30 - 18.30 (aula V3 - Venezian)
- Venerdì: 14.30 - 16.30 (aula V3 - Venezian)
Laboratorio di Programmazione
Turno A
- Lunedì: 10.30 - 12.30 (aula V5 - Venezian)
- Giovedì: 9.30 - 13.30 (aula 309 - Celoria)
Turno B
- Lunedì: 10.30 - 12.30 (aula V5 - Venezian)
- Martedì: 8.30 - 12.30 (aula Sigma - Comelico)
[Materiale didattico]
[Testi consigliati]
- G. Pighizzini, M. Ferrari: Dai fondamenti agli oggetti. Corso di programmazione JAVA (II o III edizione), Addison-Wesley, Pearson Education Italia, 2005.
[Modalità esami]
Sono previsti quattro compitini (non obbligatori) molto probabilmente fissati per:
Fondamenti di architettura e programmazione
- 12 novembre
- 12 dicembre
Laboratorio di programmazione
- 25 novembre (Turno B) o 27 novembre (Turno A)
- 13 gennaio (Turno B) o 15 gennaio (Turno A)
[Sezione da completare]
Diario del corso di FAP (H-Z)
[Prima lezione], 1.10.08
- Il calcolatore nella storia
- Gli algoritmi
- L'algoritmo di Euclide
- Come si trovano gli algoritmi
- I programmi
- Algoritmi e programmi
- Criteri di bontà degli algoritmi
[Seconda lezione], 3.10.08
- Ripasso generale, rivolto in particolare alla dimostrazione della quarta caratteristica dell'algoritmo, soddisfatto per l'algoritmo di Euclide
- Analisi dei tempi di esecuzione dei vari algoritmi
- Massima istanza
- Miglioramento tecnologico
- I linguaggi di programmazione
- Il compilatore
- L'interprete
- Confrontro tra compilatore e inteprete
- Java virtual Machine
- Struttura del programma Java
[Terza lezione], 7.10.08
- Il processore e il suo linguaggio
- Il ciclo del processore (fetch-decode-execute)
- Linguaggio di basso livello, svantaggi
- Somma di due numeri e Algoritmo di Euclide in assembler
- L'esigenza e il ruolo di una macchina astratta
- I tre livelli dei linguaggi
- Storia del linguaggio ad alto livello (dagli anni '50 agli anni '80)
- I paradigmi di programmazione
- Influenza del modello di macchina
- La macchina Von Neumann
- Componenti dei linguaggi funzionali
[Quarta lezione], 8.10.08
- Sintassi e semantica
- Descrizione delle regole sintattiche
- Esempi di sintassi nella forma BNF
- Grammatiche
- Linguaggi regolari
- Le carte sintattiche
- Concetti di base della programazione oo
- Java, le sue caratteristiche, la struttura
- Componenti di Java (commenti, spazi vuoti, lessico, identificatori, separatori e operatori, costanti)
- Gli errori (sintattici, di compilazione, logici)
[Quinta lezione], 10.10.08
- Introduzione agli oggetti
- Astrazione
- Gli oggetti Software
- Oggetti e cassi
- Gli oggetti come astrazione
- Le istanze
- Incapsulamento dei dati
- I messaggi
- Interfaccia
- Inviare messaggi
- Invocazione dei metodi
- Metodi e oggetti
- I membri delle classi
- I campi statici di classe
- La classe predefinita rectangle
- Creare oggetti
- L'operatore new
[Sesta lezione], 14.10.08
- Riferimenti
- Gli oggetti e i loro riferimenti
- Aree di memoria (Stack, Heap)
- Variabili
- Assegnamento
- Variabili e riferimenti a oggetti
- Alias
- Garbage collection
- Espressioni
- Tipi di dati
- Tipi e astrazioni
- Dichiarazione e inizializzazione
- La classe ConsoleInputManager
- La classe ConsoleOutputManager
[Settima lezione], 15.10.08
- Ripresa di argomenti vari (oggetti, classi, metodi, ecc..) riferendosi all'esempio di una moneta
- Flusso di controllo dei metodi
- Analisi di alcuni esempi in Java riguardanti il lancio di una moneta
Diario del corso del Laboratorio di programmazione (H-Z)
Premessa: Il lunedì è giorno di teoria, in cui vengono spesso trattati argomenti già noti in FAP, mentre il giovedì è giorno di laboratorio.
[Prima settimana]
Lunedì 6.10.08
Giovedì 9.10.08
[Seconda settimana]
Lunedì 12.10.08
- Importazioni di classi
- Le variabili Classpath
- ConsoleInputManager
- Metodi di String
Giovedì 16.10.08
[Terza settimana]
Lunedì 20.10.08
- Le stringhe e metodi da conoscere:
- charAt, replace, length, to Overcase/Uppercase, substring, indexOf, lastIndexOf, valueOf.
- Esercizio: Istruzione che permette di trovare la stringa corrispondente ad s con l'iniziale in maiuscolo