Modules | Area | Type | Hours | Teacher(s) | |
FONDAMENTI DI INFORMATICA | ING-INF/05 | LEZIONI | 60 |
|
L’insegnamento ha l’obiettivo di fornire le conoscenze di base sulla rappresentazione dell'informazione, sull'architettura di un calcolatore e sui concetti di base della programmazione utilizzando il linguaggio C++.
La verifica delle conoscenze sarà oggetto della valutazione dell'elaborato scritto previsto per ogni sessione d'esame.
L'insegnamento ha l'obiettivo di sviluppare da un lato le capacità di apprendimento e di studio sistematico, e dall’altro le capacità di analisi di un problema informatico e il passaggio da un procedimento ad un programma.
Durante le esercitazioni saranno svolti esercizi tesi al comprendere la capacità dello studente di passare da un problema all'algoritmo che lo risolve, e successivamente al programma.
L'insegnamento ha l'obiettivo di sensibilizzare gli studenti sulla necessità di un approccio rigoroso (basato su modelli precisi) alle tecnologie e alle applicazioni informatiche.
Durante le esercitazioni saranno valutati sia la responsabilità, che la gestione e l'organizzazione delle attività svolte.
Nessuno.
Nessuno.
L'insegnamento e' un prerequisito per lo sviluppo di applicazioni informatiche.
Le lezioni saranno frontali con l'ausilio di slide.
Le esercitazioni saranno svolte in aula, con l'utilizzo dei PC personali degli studenti. Inoltre, le esercitazioni verranno svolte con l'ausilio di personale di supporto alla didattica.
Il sito web del corso verrà aggiornato con le lezioni e le esercitazioni svolte.
RAPPRESENTAZIONE DELL'INFORMAZIONE e organizzazione di un calcolatore: Modello generale dell'architettura del calcolatore. Rappresentazione dell'informazione all'interno dei calcolatori: numeri, testi ed immagini. Il linguaggio assembler.
FONDAMENTI DI PROGRAMMAZIONE: Il concetto di algoritmo. Il calcolatore come esecutore di algoritmi. Sintassi e semantica di un linguaggio di programmazione. Metodologie di programmazione strutturata e orientata alle procedure. Il linguaggio C++: tipi fondamentali. Istruzioni semplici, strutturate e di salto. Funzioni. Ricorsione. Riferimenti e puntatori. Array. Strutture e unioni. Memoria libera. Visibilità e collegamento.
Strutture dati: Liste, Code, Pile. Alcuni algoritmi di ricerca e di ordinamento. Limiti della programmazione a moduli. Tipi di dato astratto. Classi.
P. Corsini, G. Frosini, Note su organizzazione di un calcolatore: rappresentazione dell'informazione, Edizioni ETS, Piazza Carrara, 16-19, Pisa, 2017.
A. Domenici, G. Frosini, Introduzione alla Programmazione ed Elementi di Strutture Dati con il Linguaggio C++, Franco Angeli, Milano, 2001.
Le slide con gli argomenti svolti a lezione e le esecitazioni sono disponibili sulla pagina web del corso.
Prova scritta.
Nessuno.
http://www.iet.unipi.it/c.bernardeschi/FondamentiDiInformatica.html
Nessuno.
Nessuna.