Principali infrastrutture hardware: processore, memorie, dispositivi di I/O. Algebra di Boole e relativo utilizzo nella progettazione di circuiti. Sistemi di numerazione e aritmetica binaria. Analisi di un problema e definizione dell'algoritmo di risoluzione. Linguaggi di programmazione e codifica di istruzioni e dati. Programmazione in C: dati e istruzioni; funzioni di I/O; strutture di controllo del flusso; array e stringhe; funzioni; puntatori. Esercitazioni in laboratorio.
- D. Sciuto, G. Buonanno, L. Mari, Introduzione ai sistemi informatici, McGraw Hill.
- K. N. King, Programmazione in C, Apogeo.
- L. M. Barone, E. Marinari, G. Organtini, F. Ricci-Tersenghi, Programmazione Scientifica, Pearson Education
Obiettivi Formativi
Il corso si propone di avviare lo studente ad alcune delle principali tematiche dell'informatica, con particolare riferimento alla programmazione. Al termine del corso, lo studente avrà acquisito un linguaggio, dei metodi e delle tecniche che gli permetteranno di comprendere e risolvere semplici problemi di natura informatica.
CFU: 6
Numero di ore totali del corso: 150
Numero di ore relative alle attività in aula: 24
Numero di ore relative ad attività di laboratorio (lezioni in laborato-rio): 24
Altre Informazioni
Leonardo Lanzi
Orario di ricevimento: una volta a settimana durante il corso, su appuntamento nella parte restante dell'anno.
Dipartimento di Fisica e Astronomia, Via G. Sansone 1, 50019, Sesto Fiorentino (FI), tel. 0554572053. Email:leonardo.lanzi@unifi.it
Simone Landi
Orario di ricevimento: Per appuntamento contattando il docente tramite e-mail o telefono. Dipartimento di Fisica e Astronomia,
Sezione di Astronomia e Scienza dello Spazio
Largo E. Fermi 2, 50125 Firenze
Tel: +39 055 205 5224
Email: simone.landi@unifi.it
Sito web:
e-l.unifi.it
Modalità di verifica apprendimento
Prova scritta e prova di laboratorio
Programma del corso
Problemi di elaborazione dell'informazione e concetto intuitivo di algoritmo. Le principali infrastrutture hardware: processore, memoria centrale e memorie di massa, principali periferiche e dispositivi di I/O.
Fondamenti di architettura degli elaboratori: cenni di teoria dell'algebra di Boole, utilizzo dell'algebra di Boole nella progettazione di circuiti combinatori. Sistemi di numerazione e aritmetica binaria. Analisi di un problema e definizione dell'algoritmo di risoluzione. Linguaggi di programmazione e codifica delle istruzioni e dei dati. Concetti generali di programmazione. Introduzione alla programmazione in C: dati e istruzioni; funzioni di input/output; strutture di controllo: flusso sequenziale, selezione e iterazione; array e stringhe; funzioni; puntatori. Esercitazioni in laboratorio.