Differenze tra le versioni di "Fondamenti di architettura e programmazione T2/2006-2007"

Da WikiDsy.
([DIARIO DEL CORSO - FAP])
([DIARIO DEL CORSO - FAP])
Riga 163: Riga 163:
  
 
*Istruzioni di salto condizionato/incondizionato (JZERO/JUMP) - esempi  
 
*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)
+
:(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
 
*Architettura della CPU: CU (Control Unit) - ALU - PC (Program Counter) - CLOCK - Registri
Riga 170: Riga 170:
  
 
*Digitalizzazione dei numeri: sistema decimale e sistema in base "b" - esempi da base decimale a base "b" e viceversa
 
*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])
+
:(in particolare: base 8 [ottale] e base 16 [esadecimale])
  
  

Versione delle 19:07, 10 ott 2006


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)


Input: x, y

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)

[DIARIO DEL CORSO - LABORATORIO]