FONDAMENTI DI INFORMATICA P - Z
Anno accademico 2019/2020 - 1° anno - Curriculum Ingegneria IndustrialeCrediti: 9
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 225 ore d'impegno totale, 138 di studio individuale, 42 di lezione frontale, 45 di esercitazione
Semestre: 2°
ENGLISH VERSION
Obiettivi formativi
Il corso ha la finalità di fornire conoscenze: - sulla rappresentazione dell’informazione nei calcolatori, sull’architettura dell’elaboratore, sul software di base, sul sistema operativo, sugli algoritmi, sui linguaggi di programmazione, su compilatori e interpreti e sulle reti di calcolatori - sulla programmazione strutturata e sulla programmazione in linguaggio C. Sviluppo di programmi in C per la gestione di strutture dati complesse (biblioteche, archivi, etc.).
Modalità di svolgimento dell'insegnamento
Lezioni frontali. Esercitazioni di laboratorio.
Prerequisiti richiesti
Notazione esponenziale o scientifica. Arrotondamento dei valori numerici. Numeri reali. Operazioni con numeri reali. Potenza ad esponente razionale e reale. Logaritmo di un numero reale positivo. Concetto di funzione. Vettori e Matrici: Operazioni con vettori e matrici.
Frequenza lezioni
La frequenza non è obbligatoria, ma fortemente consigliata, per sostenere sia le prove in itinere sia la prova d’esame.
Contenuti del corso
Rappresentazione dell'informazione: Sistemi di numerazione e algoritmi di conversione. Aritmetica intera e in virgola mobile. (*)
Struttura di un elaboratore: La struttura di un elaboratore: memoria centrale, unità centrale, funzionamento elementare dell'elaboratore. (*)
Sistema Operativo: Traduzione ed esecuzione di programmi. Ambiente di Programmazione. Compilatori vs. interpreti. Sistema Operativo. (*)
Algoritmi e Programmi: Elaborazione automatica dell'informazione. Algoritmi e programmi. Linguaggi di programmazione. Il progetto di un programma. (*)
Reti di Calcolatori e Internet: Reti di calcolatori. Reti locali. Reti geografiche. Internet e le più diffuse applicazioni di rete. (*)
Il linguaggio di programmazione "C": sintassi e semantica Controllo: Assegnazione. Strutture di controllo. Tipi di dato in C: tipi semplici (int, char, float, double) e strutturati (array e stringhe, strutture). Il tipo puntatore. Le funzioni. Campo d'azione degli identificatori. Dichiarazioni e campo d'azione degli identificatori. Variabili locali, globali e statiche. Tecniche di legame dei parametri. La ricorsione. I File: file di testo e file binari. Primitive di accesso ai file. (*)
Algoritmi di ordinamento: Algoritmi di ordinamento e ricerca. Ricerca sequenziale e binaria. (*)
Allocazione dinamica della memoria.(*)
Strutture dati: Liste. (*)
Strutture dati: Pile, Code ed Alberi.
Testi di riferimento
- A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4a Ed o 5a Ed., McGraw-Hill
- Dispense della Docente
Programmazione del corso
Argomenti | Riferimenti testi | |
---|---|---|
1 | Rappresentazione dell'Informazione. Sistema numerico binario. Conversione tra sistemi numerici. Rappresentazione dei numeri interi, reali. Codice ASCII. Architettura e funzionamento elementare del calcolatore. Algebra di Boole.Sistema operativo. | Dispense della docente. Bellini Guidi: Capitolo 1,2 |
2 | Algoritmi e programmi. Linguaggi di Programmazione.• Traduzione ed esecuzione dei programmi • Linker • Notazione grafica per la rappresentazione degli algoritmi: Diagrammi di flusso | Capitolo 3,4. Dispense della Docente. |
3 | Linguaggio C: Tipi di dato. Identificatori. Variabili. Classi di memorizzazione. Costanti. Operatori. Strutture di Controllo.Istruzioni di selezione, iterazione, salto,espressione, blocco. Preprocessore, include, define | Capitolo 5,6,7,8,9,23 |
4 | Array•Puntatori •Puntatori ad array •Stringhe •Strutture •Array di strutture • Lettura e scrittura di caratteri e stringhe •I/O formattato •File di testo • Allocazione dinamica della memoria •Puntatori a strutture | Capitolo 10,13,14,16 |
5 | Funzioni • Istruzione return • Passaggio di Parametri • Ricorsione • Variabili locali, regole di visibilità e tempo di vita | Capitolo 11,15,17,19,20 |
6 | Puntatori a Funzioni | Capitolo 20 |
7 | Algoritmi di ricerca e di ordinamento | Cap.12 |
8 | Cenni sulla complessità computazionale | Cap.12 |
9 | Strutture dati lineari: Liste, Pile, Code | Capitolo 21 Caso di studio V Dispense della docente |
10 | Esercizi sugli argomenti svolti | Caso di studio I, II, III, IV e V. Dispense della docente |
11 | Sistema esadecimale, sistema ottale • Esecuzione delle istruzioni. Interrupt. • Politiche di gestione della CPU, della memoria centrale e di massa. | Dispense della docente. Bellini Guidi: Capitolo 1,2 |
12 | Cenni su Alberi. | Cap.22. |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
La prova d'esame è composta da una prova scritta e una prova orale (opzionale). La prova scritta è rappresentata da un elaborato al calcolatore (obbligatorio) della durata di due ore. L'elaborato consiste di vari quesiti, il cui punteggio è indicato esplicitamente nel compito (es. 4 funzioni da 6 punti ciascuna, etc.). La prova si considera superata se si ottiene una valutazione di almeno 18/30. Lo studente che lo desideri può integrare la prova scritta con la prova orale da svolgere in un qualunque appello regolare (entro la fine dell’a.a.), per il superamento dell’esame. Prenotazione obbligatoria tramite portale di Ateneo.
Sono previste due prove in itinere durante il corso. La prima, a risposte multiple, ha durata di un'ora, la seconda, al calcolatore, ha durata di due ore. Lo studente che abbia superato pienamente entrambe le prove in itinere, ossia ottenendo una valutazione complessiva di almeno 18/30, può accettare il voto proposto (media delle due prove) o, se lo desidera, può integrare le due prove in itinere con una prova orale da svolgere negli appelli regolari (entro la fine dell’a.a.), al fine di poter ottenere una migliore valutazione. Nel caso in cui una delle due prove sia superata pienamente (ossia, con voto maggiore di, o uguale a, 18/30) e l’altra con riserva (ossia, con voto superiore a 15/30, ma inferiore a 18/30) per il superamento dell’esame è prevista una prova integrativa (orale o al calcolatore), concordata con la Docente, che va svolta negli appelli regolari (entro la fine dell’a.a.).
Esempi di domande e/o esercizi frequenti
Relativamente al linguaggio C:
- Funzioni e passaggio di parametri.
- Ricorsione ed esempio di funzioni ricorsive.
- Costruzione di menu' a scelta multipla.
- Implementazione di liste.