FONDAMENTI DI INFORMATICA M - Z

Anno accademico 2016/2017 - 1° anno
Docente: Giuseppe Di Modica
Crediti: 9
Organizzazione didattica: 225 ore d'impegno totale, 183 di studio individuale, 42 di lezione frontale
Semestre:

Obiettivi formativi

Il corso Fondamenti di Informatica si propone di introdurre gli allievi ingegneri del 1° anno del corso di laurea in Ingegneria Civile ed Ambientale ai principi ed agli strumenti di base dell'informatica. In particolare gli obiettivi principali del corso sono:

  • conoscere l'architettura del calcolatore e i sistemi di numerazione;
  • saper esprimere la soluzione a un piccolo problema (algoritmo) e codificarlo in un linguaggio di programmazione (C);
  • saper implementare un singolo componente software che rispecchi una certa specifica;
  • conoscere e saper utilizzare le più comuni strutture dati (in C)

Prerequisiti richiesti

Numeri interi e reali. Operazioni aritmetiche. Arrotondamento dei valori numerici. Elevamento a potenza.

Vettori, Matrici e relative operazioni


Frequenza lezioni

Fortemente consigliata, ma non necessaria


Contenuti del corso

  • Introduzione

    Concetti di base. Algoritmi e programmi. Proprietà di un algoritmo. Una notazione grafica per esprimere gli algoritmi. Notazione lineare per descrivere gli algoritmi (pseudo-codice). Programmazione strutturata. Esercitazioni sulla implementazione di semplici algoritmi.

  • Architettura del calcolatore

    Struttura di un elaboratore: memoria centrale, unità centrale, unità di memoria ausiliaria, unità di ingresso-uscita, interfacciamento di unità periferiche. Funzionamento elementare dell'elaboratore.

  • Software di base

    Sistema Operativo. Ambiente di Programmazione. Traduzione ed esecuzione di programmi. Compilatori vs. interpreti.

  • Rappresentazione dell'informazione

    Sistemi di numerazione e algoritmi di conversione. Aritmetica intera e in virgola mobile. Algebra booleana. Esercitazioni sulla conversione.

Parte II - Il linguaggio C

  • Il linguaggio C

    Struttura di un programma C. Assegnazione. Espressioni. Strutture di controllo: if-else, switch, while, do-while, for, break, return. Tipi di dato in C: tipi semplici (int, char, float, double) e strutturati (array e stringhe, strutture). Operatori aritmetici, relazionali e logici. Il tipo puntatore. Astrazioni funzionali: funzioni. Dichiarazioni e campo d'azione degli identificatori. Tecniche di legame dei parametri. Allocazione dinamica della memoria: vettori dinamici, funzioni di libreria malloc() e free(). Files e operazioni sui files. Esercitazioni al calcolatore.

Parte III - Seminario

  • Fogli di calcolo

    Definizioni. Il programma Microsoft Excel. Il concetto di dato e la tipizzazione. Calcoli elementari. Le funzioni. I grafici. Esercitazioni al calcolatore.


Testi di riferimento

Bellini, GuidiLinguaggio C. Guida alla programmazione (quarta edizione) - McGraw-Hill



Programmazione del corso

 *ArgomentiRiferimenti testi
1*Algoritmi e programmazione strutturataDispense del docente - Per approfondimenti, Capitoli 3 e 4 (da par. 4.5 in poi) del testo di riferimento 
2*Architettura del calcolatoreDispense del docente - Per approfondimenti, Capitolo 1 del testo di riferimento 
3*Sistema operativo e software di baseDispense del docente - Per approfondimenti, Capitolo 2 del testo di riferimento 
4*Linguaggi di programmazioneDispense del docente - Per approfondimenti, Capitolo 4 (da par. 4.1 a par. 4.3) del testo di riferimento 
5*Rappresentazione dell'informazioneDispense del docente - Per approfondimenti, Appendice D del testo di riferimento 
6*Algebra booleanaDispense del docente 
7*Linguaggio C: Tipi di dato e variabiliDispense del docente - Per approfondimenti, Capitolo 5 del testo di riferimento 
8*Linguaggio C: Espressioni e operatoriDispense del docente - Per approfondimenti, Capitolo 8 del testo di riferimento 
9*Linguaggio C: istruzioni di selezioneDispense del docente - Per approfondimenti, Capitolo 7 del testo di riferimento 
10*Linguaggio C: Istruzioni iterativeDispense del docente - Per approfondimenti, Capitolo 9 del testo di riferimento 
11*Linguaggio C: Tipi strutturatiDispense del docente - Per approfondimenti, Capitoli 10 e 16 del testo di riferimento 
12*Linguaggio C: StringheDispense del docente - Per approfondimenti, Capitolo 13 del testo di riferimento 
13*Linguaggio C: PuntatoriDispense del docente - Per approfondimenti, Capitolo 14 del testo di riferimento 
14*Linguaggio C: FunzioniDispense del docente - Per approfondimenti, Capitolo 11 del testo di riferimento 
15*Linguaggio C: FilesDispense del docente - Per approfondimenti, Capitolo 17 del testo di riferimento 
* Conoscenze minime irrinunciabili per il superamento dell'esame.

N.B. La conoscenza degli argomenti contrassegnati con l'asterisco è condizione necessaria ma non sufficiente per il superamento dell'esame. Rispondere in maniera sufficiente o anche più che sufficiente alle domande su tali argomenti non assicura, pertanto, il superamento dell'esame.

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

  • Prove in itinere
  • Esame finale