Gli asterischi (*) indicano le competenze minime.
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. (*)
Il materiale didattico sarà fornito su Studium (https://studium.unict.it) nell'area dedicata al corso.
Argomenti | Riferimenti testi | |
---|---|---|
1 | Rappresentazione dell'Informazione. Sistema numerico binario. Sistema esadecimale, sistema ottale. Conversione tra sistemi numerici. Rappresentazione dei numeri interi, reali. Codice ASCII. | - Dispense del docente.- Libro di testo: Appendice D |
2 | Architettura e funzionamento elementare del calcolatore. Esecuzione delle istruzioni. Interrupt. Algebra di Boole | - Dispense del docente.- Libro di testo: Capitolo 1 |
3 | Sistema operativo. Politiche di gestione della CPU, della memoria centrale e di massa. | - Dispense del docente.- Libro di testo: Capitolo 2 |
4 | Algoritmi e programmi. Linguaggi di Programmazione.• Traduzione ed esecuzione dei programmi • Linker • Notazione grafica per la rappresentazione degli algoritmi: Diagrammi di flusso | - Dispense del docente.- Libro di testo: Capitoli 3 e 4 |
5 | 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 | - Libro di testo: Capitoli 5,6,7,8,9,23 |
6 | 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 | - Libro di testo: Capitoli 10,13,14,16 |
7 | Funzioni • Istruzione return • Passaggio di Parametri • Ricorsione • Variabili locali, regole di visibilità e tempo di vita | - Libro di testo: Capitoli 11,15,17,19,20 |
8 | Algoritmi di ricerca e di ordinamento | - Libro di testo: Capitolo 12 |
9 | Strutture dati lineari: Liste | - Libro di testo: Capitolo 21 |
10 | Esercizi sugli argomenti svolti | Libro di testo casi di studio III e IV - Dispense del docente. |
La prova d'esame è composta da una prova scritta (obbligatoria) e una prova orale (opzionale). La prova scritta, della durata di due ore, consiste in un elaborato al calcolatore, del valore di 24/30 punti, e da una sezione teorica, composta da una o più domande a risposta aperta, del valore complessivo di 6/30 punti. L'elaborato al calcolatore consiste di vari quesiti, il cui punteggio è indicato esplicitamente nel testo del compito (es. 3 funzioni da 6 punti ciascuna, etc.). La prova scritta si considera superata se si ottiene una valutazione complessiva 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.
La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
Sono previste due prove in itinere durante il corso. La prima prova consiste in domande sulla parte teorica e ha durata di un'ora. La seconda prova, al calcolatore, consiste di vari quesiti di programmazione e ha durata di due ore. Il punteggio delle domande e dei vari quesiti è indicato esplicitamente nel testo delle due prove. 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.
Verrà accertata la capacità di sviluppare programmi in linguaggio C per la gestione di strutture dati complesse tramite quesiti inerenti:
Le domande della sezione teorica potranno essere simili a, ma non limitate a, quelle sottoelencate: