Fondamenti di architettura e programmazione T1/2006-2007

Da WikiDsy.


ATTENZIONE! PAGINA IN FASE DI COSTRUZIONE! MOLTE INFORMAZIONI DEVONO ANCORA ESSERE INSERITE PERCHè IL LABORATORIO INIZIA IL 18 OTTOBRE!


Informazioni Generali

Docenti

Teoria: Boldi Paolo.

Laboratorio: Cazzola Walter.


Contatto docenti

Prof. Boldi: boldi@dsi.unimi.it

Prof. Cazzola:


Orario Lezioni

Teoria

Lun: 10.30 - 13.30 in Aula 200

Mar: 08:30 - 10:30 in Aula V1 (solo per lezioni di recupero! Normalmente la lezione in questo giorno non c'è e sarà il prof. a farci sapere quando si dovrà andare)

Ven: 08.30 - 11.30 in Aula 200

Attenzione! L'orario effettivo di inizio/fine lezioni sarà alle 9:00 anzichè alle 8:30 e finirà alle 10:30; mentre l'altro sarà dalle 10:30 alle 13:00 anzichè alle 13:30


Laboratorio

Mer: 10.30 - 12.30 in Aula V3 (lezione teorica)

Gio: 10:30 - 11:30 in Aula 309 (esercitazione pratiche al computer)


Per gli studenti degli anni precedenti

Avrete notato che i professori hanno cambiato il turno; inoltre, il laboratorio di programmazione verrà fatto in Via Venezian nella nuova aula computer 309 con il professore e non più in Comelico con i tutor.


Orario ricevimento

Prof. Boldi:

Prof. Cazzola:


Pagina web del corso

Teoria(FAP): [1]

Programmazione (LP):


Organizzazione del corso

Il corso si organizzera grosso modo in 2 parti:

I°: Architettura

II°: Programmazione


Testi Consigliati

I Parte: Architetture

Il prof mette a disposizione delle dispense che si possono scaricare dalla sua pagina web del Prof. Boldi: inoltre, il prof invita ad avvertirlo per eventuali errori (se notate le indica con le versioni dall'1 in poi, quindi la versione più recente, in un futuro, sarà quella con il numero più alto).

Comunque, per approfondimenti viene consigliato il testo: S. Ceri, D. Mandrioli, L.Sbattella: Informatica arte e mestiere (II edizione), McGraw-Hill,2004.


II parte: Programmazione

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

Attenzione: questa seconda edizione utilizza già Java 1.5, quindi è sconsigliato comprare la prima edizione (che è a Java 1.4) anche se è a metà prezzo.


Modalità Esami

Sono previsti 3 compitini (non obbligatori) molto probabilmente fissati per:

  1. 24 Ottobre 2006
  2. 4 Dicembre 2006
  3. 22 Gennaio 2007

Se verranno superati tutti e tre con la sufficienza, cioè un 18, si potrà evitare di fare l'appello scritto (quello completo).

Se si perde anche un solo compitino, non si potrà recuperare, quindi si dovrà fare l'appello completo.

Il voto ottenuto con i compitini vale un anno, cioè fino a Gennaio 2007

Gli appelli completi cominceranno da Febbraio e saranno a:

  1. Febbraio e Aprile (in forse, perchè stanno valutando di eliminere gli appelli di Aprile)
  2. Giugno e Luglio
  3. Settembre e Gennaio

Per ogni "coppia" di appelli viene presentato un progetto da svolgere (della parte di laboratorio) qualche settimana prima del primo appello ad esso relativo (cioè: il progetto per gli appelli di teoria di Febbraio e Aprile sarà dato a circa metà Gennaio; il progetto degli appelli di teoria di Giugno e Luglio sarà dato circa a metà Maggio; il progetto per gli appelli di teoria di Settembre e Gennaio sarà dato a circa metà Gennaio), quindi ci saranno tre possibilità di fare il progetto nell'arco dell'anno.

Il progetto verrà dunque consegnato se si avrà intenzione di dare l'appello scritto in uno dei due mesi in coppia. Attenzione! Solo se si è fatto giusto il progetto (con l'approvazione del prof Cazzola), si può dare l'appello di teoria! Se invece si è bocciati nel primo scritto della coppia, si può ridare il secondo scritto della coppia; in caso contrario, cioè si passa il progetto ma non si passa nessuno dei due scritti della coppia, bisogna ridare tutto, anche il progetto.

Passati tutti e due gli esami (teoria + progetto), si dovrà sostenere un colloquio sul progetto (con il prof Cazzola) per verificare la "paternità" del lavoro.

Il voto finale del corso (che vale 18 cfu) sarà dato da 2/3 voto della teoria + 1/3 voto del progetto; sarà anche possibile sostenere un esame orale (facoltativo) per migliorare il voto (ma se va male, il voto si abbassa!!!).

Attenzione! Per dare gli esami bisogna iscriversi al SIFA.


Links e suggerimenti utili

Dsi: [2]

Wikipedia: [3]


Lezioni

Lezione 02/10/2006 (teoria)

Cos'è un computer?

  • Un elaboratore programmabile, lavora secondo una logica programmata.
  • Un lettore dvd lavora sotto logica cablata, il programma è fisso non è modificabile.

"Come un cuoco, data una ricetta sa crearla qualunque essa sia"


Diversificazione PC

  • palmtop --> stanno in un palmo della mano
  • notebook --> della grandezza di un quaderno
  • laptop --> "posabile sulle ginocchia"
  • desktop --> PC da scrivania
  • workstation --> PC con prestazioni particolarmente buone (rendering)
  • server --> un PC che da dei servizi (vuol dire tutto e niente in quanto ogni pc da dei servizi)


Com'è fatto un computer fisicamente?

  • uno "scatolotto", un video, una tastiera, un mouse

tutto ciò fuori dallo "scatolotto" (Case) sono Periferiche Esterne, ci sono anche periferiche interne al Case.


Cosa c'è dentro il Case?

  • Un alimentatore: commuta la corrente casalinga alternata in corrente continua e da energia a tutte le periferiche interne (in alcuni casi anche esterne, vedi USB).
  • Ventole per raffreddare il case, indispensabili per un corretto funzionamento e per far si che il computer non bruci, letteralmente.
  • Scheda Madre (MotherBoard): il cuore del computer, tutto ciò a lei esterne sono periferiche.
  • La piu importante è la CPU (Central Process Unit): il cervello del computer.
  • Clock: tutte le parti del computer devono funzionare in sincronia, per ottenere questo si usa il clock il quale invia un segnare il Hz (1 segnale al secondo) o multipli dell'Hz, MHz (1'000'000 segnali al secondo), GHz (1'000'000'000 segnali al secondo).
  • Memoria: se si trova sulla MotherBoard si chiama Memoria Centrale e tutti i dati per essere elaborati devono risiedere nella Memoria Centrale.

Fisicamente è inserita in slot presenti nella MotherBoard, le memorie hanno capacità di memorizzazione differenti. La quantità di memoria è uno dei fattori fondamentali per la velocità del computer, maggiore è la capienza maggiore è la velocità di calcolo.

  • Interfacce: scheda eletronica che regola la comunicazione tra MB e le periferiche

Monitor-->Scheda Video-->MotherBoard, la Scheda Video è un'interfaccia di comunicazione, attiva e non passiva. Un'interfaccia standard, dei ultimi tempi, è l'USB (1.1 e 2.0, variano nella velocità di comunicazione).
Altri standard non molto usati sono: Firewire, LPT, COM ed altri.


Memorie di massa
Sono dispositivi sui quali è possibile registrare dei dati. Le memorie sono costituite da una serie di bit in codice binario (0 e 1).
Vi sono vari tipi di memorie di massa:

  • memoria centrale: (RAM) di tipo transiente, se il pc viene spento i dati registrati nella RAM vengono persi.
  • memorie magnetiche: HardDisk, Foloppy, vari settori dei dischi vengono magnetizati e smagnetizati in modo da avere, in lettura, una data sequenza di 0 e 1 che identificano cosa vi è registrato sul disco.
  • memoria a stato solido: USB-PenDrive, RAM, memorie per fotocamere digitali.
  • memorie ottiche: CD e DVD.


Come funzionano le memorie ottiche?
Un CD è fatto da tante celle piene o bucate in modo tale che facendoci passare un laser esso viene riflesso se la cella è piena, passa attraverso se la cella è bucata, uno specchietto posto sopra il CD (nel lettore) rilleva il codice binario (0:1 = pieno:bucanto) e riesce a decifrare ciò che il CD contiene.
Un CD-R è fatto inizialmente da solo celle piene, un masterizzatore è in grado di bucare dove neccessario per far si che le informazioni vengano impresse su di esso.
Un CD-RW è fatto da bolle le quali possono essere modellate a piacimento in modo da poterlo scrivere e riscrivere più volte, ovviamente c'è un limite massimo di riscrittura a causa della continua usura dovuta alla modellazione.