Il corso si propone di fornire le nozioni fondamentali dell’informatica e far sperimentare alcune attività di programmazione al fine di fornire le competenze informatiche necessarie utili nell’ambito delle scienze matematiche.
Nessuno
Consigliata
Architettura del Computer e Rappresentazione delle Informazioni
Introduzione alla Programmazione
1) Libro di riferimento: Brookshear J. Glenn, Informatica – Una panoramica generale, Pearson- Education Italia, 2012
2) Libro di riferimento: Brad Miller, David Ranum, Problem Solving with Algorithms and Data Structures, The Runestone Interactive Library, 2013
3) Introduzione a Python, Tony Gaddis, Pearson- Education Italia, 2016
Pagina web del corso:
http://www.dmi.unict.it/farinella/inf1mat/
* | Argomenti | Riferimenti testi | |
1 | * | Cenni alla struttura del calcolatore moderno (Architettura della CPU, la memoria principale, la memoria di massa, concetti di rete di calcolatori) | 1 |
2 | * | Il sistema operativo (scheduling dei processi, gestione dei file e della memoria) | 1 |
3 | * | Digitalizzazione dei segnali analogici (campionamento e quantizzazione) | 1 |
4 | * | Sistemi di Numerazione (binario, ottale, esadecimale) | 1 |
5 | * | Rappresentazione di numeri interi e razionali | 1 |
6 | * | Rappresentazione del testo (codifica ASCII) | 1 |
7 | * | Rappresentazione delle immagini raster (cenni) | 1 |
8 | * | Concetto di Algoritmo | 1, 2, 3 |
9 | * | Diagrammi di flusso | 1, 2, 3 |
10 | * | Strutture Condizionali: if-else, if-then-else | 1, 2, 3 |
11 | * | Iterazioni e Cicli: while, for | 1, 2, 3 |
12 | * | Linguaggi: traduzione, intepretazione e compilazione. | 1, 2, 3 |
13 | * | Struttura di un programma | 1, 2, 3 |
14 | * | Concetto di variabile in programmazione, tipi di dati. Modificatori sulle variabili | 1, 2, 3 |
15 | * | Array | 1, 2, 3 |
16 | * | Funzioni e funzioni ricorsive | 1, 2, 3 |
17 | * | La struttura dati albero e operazioni fondamentali su esso | 1, 2, 3 |
18 | * | Algoritmi di Ordinamento | 1, 2, 3 |
19 | * | Introduzione al linguaggio di programmazione Python | 2,3 |
Prova scritta e di laboratorio
Sono previste due prove in itinere. La prima prova in itinere sarà effettuata mediante la somministrazione di un test scritto e si svolgerà al completamento della prima parte del corso (Architettura del Computer e Rappresentazione delle Informazioni). La seconda prova in itinere sarà effettuata mediante un test di programmazione in laboratorio e si svolgerà a completamento della seconda parte del corso (Introduzione alla Programmazione). Lo studente che abbia superato entrambe le prove in itinere (con una votazione di almeno 18 ), può ritenere superato l’esame finale con il voto pari alla media dei voti ottenuti nelle due prove. Lo studente che abbia superato solo una delle prove potrà sostenere l'esame (prova scritta oppure di laboratorio) solo sulla parte di programma relativo alla prova che non è stata superata. Il voto finale sarà calcolato come la media del voto della prova superata e di quello ottenuto all'esame. Lo studente ha la possibilità di sostenere l'intero esame (scritto e di laboratorio) nel caso in cui voglia migliorare i voti ottenuti nella/e prova/e superate.
non previste
- Discutere il funzionamento dell’algoritmo Quick Sort
- Scrivere il codice Phyhon dell’algoritmo Quick Sort
- Sia S un insieme composto da 123 elementi. Qual è il numero minimo di bit necessario per la codifica degli elementi dell'insieme S?
- Discutere il problema della frammentazione della memoria RAM e le possibili soluzioni da adottare