Fondamenti di architettura e programmazione T1/2005-2006
Docenti
Teoria:Meregretti C.
Pratica:Malchiodi D.
Orario Lezioni
Teoria
Lun: 10.30 - 13.30
Mer: 10.30 - 12.30 - Giornata soppressa! Quindi non si farà mai lezione eccetto i casi di recupero ore o simili e cmq comunicate sul canale ufficiale, Chiaro!
Gio: 09.30 - 12.30
Pratica
Mar: 08.30 - 12.30 -Domani 4 ottobre No lezione! Inizio da definirsi...si prevede verso novembre.
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.
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