INFORMATICA I
Anno accademico 2016/2017 - 1° annoCrediti: 6
Organizzazione didattica: 150 ore d'impegno totale, 115 di studio individuale, 35 di lezione frontale
Semestre: 2°
Obiettivi formativi
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.
Prerequisiti richiesti
Nessuno
Frequenza lezioni
Consigliata
Contenuti del corso
Architettura del Computer e Rappresentazione delle Informazioni
- Cenni alla struttura del calcolatore moderno (Architettura della CPU, la memoria principale, la memoria di massa, concetti di rete di calcolatori)
- Il sistema operativo (scheduling dei processi, gestione dei file e della memoria)
- Digitalizzazione dei segnali analogici (campionamento e quantizzazione)
- Sistemi di Numerazione (binario, ottale, esadecimale)
- Rappresentazione di numeri interi e razionali
- Rappresentazione del testo (codifica ASCII)
- Rappresentazione delle immagini raster (cenni)
Introduzione alla Programmazione
- Concetto di Algoritmo
- Diagrammi di flusso
- Strutture Condizionali: if-else, if-then-else
- Iterazioni e Cicli: while, for
- Linguaggi: traduzione, intepretazione e compilazione.
- Struttura di un programma
- Concetto di variabile in programmazione, tipi di dati. Modificatori sulle variabili
- Array
- Algoritmi di Ordinamento
- Funzioni e funzioni ricorsive
- La struttura dati albero e operazioni fondamentali su esso
- Algoritmi di Ordinamento
- Introduzione al linguaggio di programmazione Python
Testi di riferimento
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
Programmazione del corso
* | 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 |
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
Prova scritta e di laboratorio
Esempi di domande e/o esercizi frequenti
- 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