Differenze tra le versioni di "Fondamenti di architettura e programmazione T1/2005-2006"

Da WikiDsy.
Riga 1: Riga 1:
'''Docenti'''
+
==Informazioni Generali==
 +
 
 +
===Docenti===
  
 
''Teoria:''Meregretti C.
 
''Teoria:''Meregretti C.
Riga 5: Riga 7:
 
''Pratica:''Malchiodi D.
 
''Pratica:''Malchiodi D.
  
'''Orario Lezioni'''
+
===Orario Lezioni===
  
 
''Teoria''
 
''Teoria''
Riga 28: Riga 30:
  
  
'''Orario ricevimento Prof.Malchiodi '''
+
===Orario ricevimento Prof.Malchiodi===
  
 
Giovedi dalle 15.30
 
Giovedi dalle 15.30
Riga 34: Riga 36:
  
  
'''Canale ufficiale informazioni per questo corso'''
+
===Canale ufficiale informazioni per questo corso===
  
 
FAP: http://homes.dsi.unimi.it/~mereghet/fap/   
 
FAP: http://homes.dsi.unimi.it/~mereghet/fap/   
Riga 41: Riga 43:
  
  
'''Organizzazione del corso:'''
+
===Organizzazione del corso===
  
 
Il corso si organizzera grosso modo in 2 parti:
 
Il corso si organizzera grosso modo in 2 parti:
Riga 50: Riga 52:
  
  
'''Testi Consigliati'''
+
===Testi Consigliati===
  
 
''I Parte:''
 
''I Parte:''
Riga 62: Riga 64:
  
  
'''Modalità Esami'''
+
===Modalità Esami===
  
 
Durante l'anno verranno organizzati tre compitini che si svolgeranno intorno a primi novembre, metà dicembre, e al termine del corso
 
Durante l'anno verranno organizzati tre compitini che si svolgeranno intorno a primi novembre, metà dicembre, e al termine del corso
Riga 77: Riga 79:
 
di 2 punti per gli studenti che abbiano consegnato oltre il 75% delle esercitazioni.
 
di 2 punti per gli studenti che abbiano consegnato oltre il 75% delle esercitazioni.
  
 +
==Diario del Corso==
  
 
+
===Lezione de 03/10/2005===
----
 
 
 
'''Lezione de 03/10/2005'''
 
 
 
  
 
*Introduzione al Corso.
 
*Introduzione al Corso.
 
 
*Definizone e brevi esempi di algoritmi.
 
*Definizone e brevi esempi di algoritmi.
  
 
+
===Lezione de 06/10/2005===
 
 
----
 
 
 
'''Lezione de 06/10/2005'''
 
 
 
  
 
*Che cos'è un programma.
 
*Che cos'è un programma.
 
 
*Correzione del compito a casa.
 
*Correzione del compito a casa.
 
 
*Risoluzione piccoli algoritmi matematici.
 
*Risoluzione piccoli algoritmi matematici.
 
 
*Introduzione agli alaboratori.
 
*Introduzione agli alaboratori.
 
 
*Il bit
 
*Il bit
 
 
*Comportamento dell'elaboratore
 
*Comportamento dell'elaboratore
 
 
*Hardware
 
*Hardware
 
 
*Software
 
*Software
 
 
*Calcolatore ideale
 
*Calcolatore ideale
 
 
*CPU/Memoria centrale/Bus/Periferiche/HardDisk
 
*CPU/Memoria centrale/Bus/Periferiche/HardDisk
  
 
+
===Lezione de 10/10/2005===
 
 
----
 
 
 
 
 
'''Lezione de 10/10/2005'''
 
  
 
*Esercitazione su memorizzazione di immagini: risoluzione e profondità d'immagine.  
 
*Esercitazione su memorizzazione di immagini: risoluzione e profondità d'immagine.  
 
 
*Esecuzione dei programmi sull'architettura di von Neumann, ciclo macchina: fetch-decode-execute.
 
*Esecuzione dei programmi sull'architettura di von Neumann, ciclo macchina: fetch-decode-execute.
 
 
*Registri di lavoro nella CPU. Dal linguaggio macchina all'assembly, assemblatore.  
 
*Registri di lavoro nella CPU. Dal linguaggio macchina all'assembly, assemblatore.  
 
 
*Forma di un'istruzione assembly (codice operativo + operandi), un semplice assembly.
 
*Forma di un'istruzione assembly (codice operativo + operandi), un semplice assembly.
 
 
*Istruzioni di lettura, scrittura, aritmetiche, salto (in)condizionato.  
 
*Istruzioni di lettura, scrittura, aritmetiche, salto (in)condizionato.  
 
 
*Esempi di programmazione assembly
 
*Esempi di programmazione assembly
 +
*Compiti a casa --> Stessi esercizi della settimana scorsa in pseudocodifica ma trasformarli in assembly
  
*Compiti a casa --> Stessi esercizi della settimana scorsa in pseudocodifica ma trasformarli in assembly.
+
===Lezione de 11/10/2005===
 
 
 
 
----
 
 
 
 
 
'''Lezione de 11/10/2005'''
 
 
 
  
 
*Ancora sulla programmazione assembly.  
 
*Ancora sulla programmazione assembly.  
 
 
*Struttura interna della CPU: registri, CU (control unit), ALU (arithmetic/logic unit).  
 
*Struttura interna della CPU: registri, CU (control unit), ALU (arithmetic/logic unit).  
 
 
*Rappresentazione dell'informazione, cenni alla digitalizzazione di immagini, suoni testi.
 
*Rappresentazione dell'informazione, cenni alla digitalizzazione di immagini, suoni testi.
 
 
*Importanza della digitalizzazione numerica.
 
*Importanza della digitalizzazione numerica.
 
 
*Rappresentazione dei numeri in base b, da base b a base decimale e ritorno, la base ottale ed esadecimale.  
 
*Rappresentazione dei numeri in base b, da base b a base decimale e ritorno, la base ottale ed esadecimale.  
 
 
*Rappresentazione binaria dei numeri, scorciatoie da base ottale/hex a binaria e viceversa. Esercizi
 
*Rappresentazione binaria dei numeri, scorciatoie da base ottale/hex a binaria e viceversa. Esercizi
  
 
+
===Lezione de 11/10/2005 Laboratorio===
 
 
 
 
----
 
 
 
'''Lezione de 11/10/2005 Laboratorio'''
 
  
 
*Panegirico sulla riforma Moratti
 
*Panegirico sulla riforma Moratti
 
 
*Introduzione al corso
 
*Introduzione al corso
  
 
+
===Lezione de 17/10/2005===
 
 
----
 
 
 
'''Lezione de 17/10/2005 '''
 
  
 
*Algoritmo di Euclide in assembly.  
 
*Algoritmo di Euclide in assembly.  
 
 
*Operazioni sui numeri binari: somma, propagazione del riporto, esempi.  
 
*Operazioni sui numeri binari: somma, propagazione del riporto, esempi.  
 
 
*Sottrazione, riduzione alla rappresentazione dei negativi.  
 
*Sottrazione, riduzione alla rappresentazione dei negativi.  
 
 
*Rappresentazione in modulo e segno, range di rappresentazione, overflow e underflow, esempi.  
 
*Rappresentazione in modulo e segno, range di rappresentazione, overflow e underflow, esempi.  
 
 
*Rappresentazione in complemento a due, conversione e traduzione, range di rappresentazione.
 
*Rappresentazione in complemento a due, conversione e traduzione, range di rappresentazione.
 
 
*Esempi di sottrazione mediante rappresentazione in complemento a due
 
*Esempi di sottrazione mediante rappresentazione in complemento a due
  
----
+
===Lezione de 18/10/2005===
 
 
'''Lezione de 18/10/2005 '''
 
  
 
*Esercizi su somme e sottrazioni in complemento a due.
 
*Esercizi su somme e sottrazioni in complemento a due.
 
 
*Rappresentazione dei reali, virgola fissa, virgola mobile (mantissa, esponente, IEEE 754).  
 
*Rappresentazione dei reali, virgola fissa, virgola mobile (mantissa, esponente, IEEE 754).  
 
 
*Rappresentazione dei caratteri, ASCII, ASCII esteso, UNICODE.  
 
*Rappresentazione dei caratteri, ASCII, ASCII esteso, UNICODE.  
 
 
*All'interno della ALU, circuiti elettronici e loro struttura.  
 
*All'interno della ALU, circuiti elettronici e loro struttura.  
 
 
*Algebra di Boole, principali operazioni: and, or, not, xor, nand, nor, implica, sse, corrispettive porte logiche.  
 
*Algebra di Boole, principali operazioni: and, or, not, xor, nand, nor, implica, sse, corrispettive porte logiche.  
 
 
*Espressioni booleane, tabelle di verità, sintesi di circuiti.
 
*Espressioni booleane, tabelle di verità, sintesi di circuiti.
 
 
*Equivalenza logica di espressioni, verifica
 
*Equivalenza logica di espressioni, verifica
  
 
+
===Lezione de 20/10/2005 Laboratorio===
----
 
 
 
'''Lezione de 20/10/2005 Laboratorio'''
 
 
 
  
 
*Sistemi operativi  
 
*Sistemi operativi  
 
 
*Logica Booleana e circuiti
 
*Logica Booleana e circuiti
  
 
+
===Lezione de 24/10/2005===
----
 
 
 
'''Lezione de 24/10/2005 '''
 
  
 
*Approfondimento funzionamento ALU
 
*Approfondimento funzionamento ALU
 
 
*Approfondimento Algebra Di BOOL
 
*Approfondimento Algebra Di BOOL
  
----
+
===Lezione de 25/10/2005 Laboratorio===
 
 
'''Lezione de 25/10/2005 Laboratorio'''
 
 
 
 
 
*Implementare “da zero” algoritmi di
 
media complessità
 
 
 
*Verificare la correttezza di un algoritmo
 
eseguendolo “a mano”.
 
 
 
*Imparare a valutare le prestazioni di un
 
algoritmo.
 
  
*Scrivere alcuni algoritmi “tipici” da
+
*Implementare “da zero” algoritmi di media complessità
utilizzare come base per realizzarne altri.
+
*Verificare la correttezza di un algoritmo eseguendolo “a mano”.
 +
*Imparare a valutare le prestazioni di un algoritmo.
 +
*Scrivere alcuni algoritmi “tipici” da utilizzare come base per realizzarne altri.

Versione delle 09:53, 27 ott 2005

Informazioni Generali

Docenti

Teoria:Meregretti C.

Pratica:Malchiodi D.

Orario Lezioni

Teoria

Lun: 10.30 - 13.30 Aula V2

Mer: 10.30 - 13.30 Aula V2

Gio: 10.30 - 12.30 - Aula V1 - Giornata soppressa! Quindi non si farà mai lezione eccetto i casi di recupero ore o simili e cmq comunicate sul canale ufficiale, Chiaro!


Pratica

Mar: 08.30 - 12.30 - Aula V2


Avviso Importantissimo

Le ore di laboratorio che si dovrebbero tenere in via comelico nell'aula Sigma, non sono lezioni e nessun professore è presente. Ci sarà solamente il laboratorio prenotato per noi studenti del 1° turno, dove potremo esercitarci e fare programmi, quindi niente di obbligatorio, solo un'opportunità facoltativà per chi non vuole esercitarsi a casa!

NB:Nel laboratorio saranno presenti 1 o 2 "tutor" per aiutare l'utente nella programmazione.


Orario ricevimento Prof.Malchiodi

Giovedi dalle 15.30 Ufficio 5241 in sede del dipartimento in via Comelico.


Canale ufficiale informazioni per questo corso

FAP: http://homes.dsi.unimi.it/~mereghet/fap/

LP: http://homes.dsi.unimi.it/~malchiod/LP/


Organizzazione del corso

Il corso si organizzera grosso modo in 2 parti:

I°: Architettura

II°: Programmazione


Testi Consigliati

I Parte:

S. Ceri, D. Mandrioli, L.Sbattella: Informatica arte e mestiere (II edizione), McGraw-Hill,2004.


II parte:

G. Pighizzini, M. Ferrari: Dai fondamenti agli oggetti. Corso di programmazione JAVA (II edizione), Addison-Wesley, Pearson Education Italia, 2005.


Modalità Esami

Durante l'anno verranno organizzati tre compitini che si svolgeranno intorno a primi novembre, metà dicembre, e al termine del corso

Gli studenti che abbiano sostenuto tutti e tre i compitini e li abbiano superati con voti non inferiori a 12 e con una media finale non inferiore a 18 sono esentati dal sostenere l'appello d'esame

Poi ci sarà da realizzare un progetto anche a gruppi e questo dovrà essere anche sostenuto e giustificato da un orale.

Alla fine di tutto questo...il voto se positivo potra essere registrato oppure sostenere un ulteriore orale per alzare (o abbassare OCCCHIO!!) la media.

In piu ci saranno dei punti bonus: di 0 punti per gli studenti che abbiano consegnato meno del 50% delle esercitazioni proposte durante l'anno; di 1 punto per gli studenti che abbiano consegnato fra il 50% e il 75% delle esercitazioni; di 2 punti per gli studenti che abbiano consegnato oltre il 75% delle esercitazioni.

Diario del Corso

Lezione de 03/10/2005

  • Introduzione al Corso.
  • Definizone e brevi esempi di algoritmi.

Lezione de 06/10/2005

  • Che cos'è un programma.
  • Correzione del compito a casa.
  • Risoluzione piccoli algoritmi matematici.
  • Introduzione agli alaboratori.
  • Il bit
  • Comportamento dell'elaboratore
  • Hardware
  • Software
  • Calcolatore ideale
  • CPU/Memoria centrale/Bus/Periferiche/HardDisk

Lezione de 10/10/2005

  • Esercitazione su memorizzazione di immagini: risoluzione e profondità d'immagine.
  • Esecuzione dei programmi sull'architettura di von Neumann, ciclo macchina: fetch-decode-execute.
  • Registri di lavoro nella CPU. Dal linguaggio macchina all'assembly, assemblatore.
  • Forma di un'istruzione assembly (codice operativo + operandi), un semplice assembly.
  • Istruzioni di lettura, scrittura, aritmetiche, salto (in)condizionato.
  • Esempi di programmazione assembly
  • Compiti a casa --> Stessi esercizi della settimana scorsa in pseudocodifica ma trasformarli in assembly

Lezione de 11/10/2005

  • Ancora sulla programmazione assembly.
  • Struttura interna della CPU: registri, CU (control unit), ALU (arithmetic/logic unit).
  • Rappresentazione dell'informazione, cenni alla digitalizzazione di immagini, suoni testi.
  • Importanza della digitalizzazione numerica.
  • Rappresentazione dei numeri in base b, da base b a base decimale e ritorno, la base ottale ed esadecimale.
  • Rappresentazione binaria dei numeri, scorciatoie da base ottale/hex a binaria e viceversa. Esercizi

Lezione de 11/10/2005 Laboratorio

  • Panegirico sulla riforma Moratti
  • Introduzione al corso

Lezione de 17/10/2005

  • Algoritmo di Euclide in assembly.
  • Operazioni sui numeri binari: somma, propagazione del riporto, esempi.
  • Sottrazione, riduzione alla rappresentazione dei negativi.
  • Rappresentazione in modulo e segno, range di rappresentazione, overflow e underflow, esempi.
  • Rappresentazione in complemento a due, conversione e traduzione, range di rappresentazione.
  • Esempi di sottrazione mediante rappresentazione in complemento a due

Lezione de 18/10/2005

  • Esercizi su somme e sottrazioni in complemento a due.
  • Rappresentazione dei reali, virgola fissa, virgola mobile (mantissa, esponente, IEEE 754).
  • Rappresentazione dei caratteri, ASCII, ASCII esteso, UNICODE.
  • All'interno della ALU, circuiti elettronici e loro struttura.
  • Algebra di Boole, principali operazioni: and, or, not, xor, nand, nor, implica, sse, corrispettive porte logiche.
  • Espressioni booleane, tabelle di verità, sintesi di circuiti.
  • Equivalenza logica di espressioni, verifica

Lezione de 20/10/2005 Laboratorio

  • Sistemi operativi
  • Logica Booleana e circuiti

Lezione de 24/10/2005

  • Approfondimento funzionamento ALU
  • Approfondimento Algebra Di BOOL

Lezione de 25/10/2005 Laboratorio

  • Implementare “da zero” algoritmi di media complessità
  • Verificare la correttezza di un algoritmo eseguendolo “a mano”.
  • Imparare a valutare le prestazioni di un algoritmo.
  • Scrivere alcuni algoritmi “tipici” da utilizzare come base per realizzarne altri.