Codice identificativo insegnamento: 083407
Programma sintetico: il corso si propone di fornire una visione d'insieme delle
potenzialita' offerte dall'analisi e dalla modellazione
informatica di problemi reali, e di formare gli studenti a comprendere i
principi per un possibile futuro utilizzo. Il corso presenta i concetti
fondamentali della programmazione con riferimento al linguaggio C, e
descrive brevemente le caratteristiche dei sistemi informatici
enfatizzandone gli aspetti di integrazione. Esso si propone inoltre di
formare gli studenti a una conoscenza sufficientemente approfondita dei
principi e dell'uso di un applicativo di interesse specifico per il
corso di studio a supporto del calcolo numerico. Piu' in dettaglio,
gli argomenti principali che verranno trattati sono: i concetti
fondamentali della programmazione (algoritmi e progettazione per
raffinamenti successivi), i fondamenti e le tecniche di programmazione
in C (struttura di un programma, tipi e istruzioni, sottoprogrammi, la
gestione dei file), i concetti introduttivi di programmazione avanzata
(le strutture dati dinamiche), la composizione e organizzazione dei
sistemi informatici, l'introduzione a una piattaforma di sviluppo
per sistemi di acquisizione e dati e controllo.
1. Concetti
introduttivi dell'informatica. Panoramica storica e contenuti
dell'informatica. Risoluzione automatica di problemi: algoritmi,
linguaggi di rappresentazione, catena di programmazione. Calcolatore
digitale programmabile: elementi base della tecnologia elettronica.
Natura e rappresentazione delle informazioni (numerica, alfanumerica, di
immagini, multimediale).
2. Concetti fondamentali della
programmazione. Introduzione agli algoritmi: rappresentazione del flusso
di controllo. Introduzione alla progettazione per raffinamenti
successivi.
3. Fondamenti di programmazione in linguaggio C -
Meccanismi di astrazione. Struttura di un programma C. Astrazione di
dato mediante i tipi di dato (numerici, caratteri e stringhe, vettori,
strutture, puntatori). Meccanismi strutturati per il controllo della
sequenza di esecuzione. Le librerie standard del linguaggio C e le
funzioni di ingresso e uscita.
4. Tecniche di programmazione.
Il concetto di sottoprogramma: funzioni e procedure come astrazioni.
Parametri, modalità di passaggio dei parametri, effetto di un
sottoprogramma. Ambienti, visibilità e cenno al supporto di esecuzione.
La gestione dei file. La struttura dell'ambiente di programmazione
e la modularizzazione. Gestione dinamica della memoria.
5.
Composizione e organizzazione dei sistemi informatici. Struttura di un
calcolatore (unità funzionali e uso) e classificazione dei calcolatori.
Introduzione alle funzioni di sistema operativo e al software di rete.