Fondamenti di architettura e programmazione T2/2006-2007
Indice
- 1 News/Avvisi
- 1.1 [Docenti]
- 1.2 [Contatto docenti]
- 1.3 [Orario Lezioni]
- 1.4 [Orario ricevimento]
- 1.5 [Pagina web del corso]
- 1.6 [Organizzazione del corso]
- 1.7 [Testi Consigliati]
- 1.8 [Modalità Esami]
- 1.9 [DIARIO DEL CORSO - FAP]
- 1.10 Martedì 03.10.2006
- 1.11 Mercoledì 04.10.2006
- 1.12 Martedì 10.10.2006
- 1.13 [DIARIO DEL CORSO - LABORATORIO]
News/Avvisi
[FAP]
- Per poter sostenere gli scritti regolari di gennaio 2007 è necessario aver consegnato il progetto SymbolicManipulator ed aver ottenuto per quest'ultimo una valutazione positiva
[Laboratorio]
- Il corso avrà inizio lunedì 16.10.2006 e fino a giovedì 02.11.2006 seguirà il seguente calendario:
- Lunedì 16/23/30 ottobre: 15.30 - 17.30 (aula 200)
- Giovedì 19 ottobre e 2 novembre: 14.30 - 16.30 (aula 405)
- Giovedì 26 ottobre: 15.30 - 17.30 (aula 202)
[Docenti]
- FAP - Carlo Mereghetti
- LABORATORIO - Dario Malchiodi
[Contatto docenti]
Carlo Mereghetti: [1]
Dario Malchiodi : (da inserire)
[Orario Lezioni]
Fondamenti di Architetture e Programmazione
- Martedì: 14.30 - 17.30 (aula V1 - Didatteca Venezian)
- Mercoledì: 15.30 - 18.30 (aula G14 - Settore Didattico Golgi)
- Venerdì: solo in caso di recupero lezioni, compitini... (previo avviso da parte del docente)
1/2 pause a discrezione del docente
Laboratorio di Programmazione
LE LEZIONI NON SONO ANCORA INIZIATE (vedi: NEWS/AVVISI)
- Lunedì: 15.30 - 17.30 (aula 309 - Settore Didattico Celoria)
- Giovedì: 14.30 - 16.30 (aula 309 - Settore Didattico Celoria)
[Orario ricevimento]
- Carlo Mereghetti: Giovedì 14.30 - 16.30 (stanza S241)
- Dario Malchiodi: (da inserire)
[Pagina web del corso]
- Fondamenti di Architetture e Programmazione: [2]
- Laboratorio di Programmazione: (da inserire)
[Organizzazione del corso]
I parte: architetture
- Rappresentazione (digitale) dell'informazione
- Algebra di Boole
- Macchina di Von Neumann
II parte: programmazione
- Java (programmazione ad oggetti)
[Testi Consigliati]
Fondamenti di Architetture e Programmazione:
- Ceri, Mandrioli, Sbattella: Informatica, arte e mestiere (McGraw - Hill, 2004) [in particolare i capitoli 2 e 11]
- Ferrari, Pighizzini: Dai fondamenti agli oggetti - corso di programmazione in java (Addison - Wesley, 2003)
Laboratorio di Programmazione:
(da inserire)
[Modalità Esami]
Fondamenti di Architetture e Programmazione:
- Scritto (sostituibile da 3 compitini, se in ciascuno si è preso un voto maggiore o uguale a 18)
- Progetto e sua discussione (dev'essere sviluppato entro 3 settimane dalla consegna della traccia. Può essere sviluppato singolarmente o in gruppi di al massimo 3 persone, ciascuna delle quali sosterrà poi la discussione)
- Orale (facoltativo - Ad ogni modo, un suo eventuale esito negativo comprometterà la media generale)
Ipotetico calendario:
- Compitini: ottobre/dicembre/gennaio
- Scritto: febbraio/aprile/giugno/luglio/settembre/gennaio
- Progetto: aprile/settembre/gennaio
Laboratorio di Programmazione:
(da inserire)
[DIARIO DEL CORSO - FAP]
Martedì 03.10.2006
- Introduzione al corso
- Definizione di informatica secondo l'A.C.M. (Association for Computing Machinery) e mezzi attraverso i quali viene trattata l'informazione
- Algoritmi: definizione di algoritmo - l'algoritmo di Euclide - esempi
- Linguaggio di programmazione (programma) - informazione, bit e byte (e relativi multipli)
Esercizi assegnati:
Determinare i seguenti algoritmi:
Input: x, y
- Output: x + y (attenzione: l'utente è in grado di calcolare solo (+1, -1)
- Output: x * y (attenzione: l'utente è in grado di calcolare solo (+, -)
Mercoledì 04.10.2006
- Correzione degli esercizi
- Differenze fra una calcolatrice ed un calcolatore
- Software e Hardware: definizione e loro composizione
- La macchina di Von Neumann: CPU - RAM - Bus - Periferiche (loro definizione, struttura e unità di misura)
- Ciclo macchina (fetch/decode/execute) e linguaggio Assembly - istruzioni (LOAD/STORE/ADD/SUB/DIV/MULT/MOD/INCR/DECR)- esempi
Martedì 10.10.2006
- Breve ripasso del ciclo macchina e del linguaggio Assembly
- Istruzioni di salto condizionato/incondizionato (JZERO/JUMP) - esempi
- (in particolare: riportare in Assembly l'algoritmo input: a, b - output: a+b (risultato in "c") potendo utilizzare solo il comando INCR/DECR)
- Architettura della CPU: CU (Control Unit) - ALU - PC (Program Counter) - CLOCK - Registri
- Digitalizzazione delle informazioni: immagini - audio - testi
- Digitalizzazione dei numeri: sistema decimale e sistema in base "b" - esempi da base decimale a base "b" e viceversa
- (in particolare: base 8 [ottale] e base 16 [esadecimale])
Esercizi assegnati:
Convertire in Assembly i seguenti algoritmi:
input: a, b
- output: a*b (risultato in "c") potendo calcolare solo + e -
- output: a^b (risultato in "c")
- output: MCD(a, b) - riportare l'algoritmo di Euclide in Assembly
input: a
- output: 1+2+3+...+a (sommatoria)