FONDAMENTI DI INFORMATICA M - Z
Anno accademico 2016/2017 - 1° annoCrediti: 9
Organizzazione didattica: 225 ore d'impegno totale, 183 di studio individuale, 42 di lezione frontale
Semestre: 2°
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
* | Argomenti | Riferimenti testi | |
---|---|---|---|
1 | * | Algoritmi e programmazione strutturata | Dispense del docente - Per approfondimenti, Capitoli 3 e 4 (da par. 4.5 in poi) del testo di riferimento |
2 | * | Architettura del calcolatore | Dispense del docente - Per approfondimenti, Capitolo 1 del testo di riferimento |
3 | * | Sistema operativo e software di base | Dispense del docente - Per approfondimenti, Capitolo 2 del testo di riferimento |
4 | * | Linguaggi di programmazione | Dispense del docente - Per approfondimenti, Capitolo 4 (da par. 4.1 a par. 4.3) del testo di riferimento |
5 | * | Rappresentazione dell'informazione | Dispense del docente - Per approfondimenti, Appendice D del testo di riferimento |
6 | * | Algebra booleana | Dispense del docente |
7 | * | Linguaggio C: Tipi di dato e variabili | Dispense del docente - Per approfondimenti, Capitolo 5 del testo di riferimento |
8 | * | Linguaggio C: Espressioni e operatori | Dispense del docente - Per approfondimenti, Capitolo 8 del testo di riferimento |
9 | * | Linguaggio C: istruzioni di selezione | Dispense del docente - Per approfondimenti, Capitolo 7 del testo di riferimento |
10 | * | Linguaggio C: Istruzioni iterative | Dispense del docente - Per approfondimenti, Capitolo 9 del testo di riferimento |
11 | * | Linguaggio C: Tipi strutturati | Dispense del docente - Per approfondimenti, Capitoli 10 e 16 del testo di riferimento |
12 | * | Linguaggio C: Stringhe | Dispense del docente - Per approfondimenti, Capitolo 13 del testo di riferimento |
13 | * | Linguaggio C: Puntatori | Dispense del docente - Per approfondimenti, Capitolo 14 del testo di riferimento |
14 | * | Linguaggio C: Funzioni | Dispense del docente - Per approfondimenti, Capitolo 11 del testo di riferimento |
15 | * | Linguaggio C: Files | Dispense del docente - Per approfondimenti, Capitolo 17 del testo di riferimento |
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