INFORMATICA I
Anno accademico 2015/2016 - 1° anno - Curriculum Generale e Curriculum ApplicativoCrediti: 6
Organizzazione didattica: 150 ore d'impegno totale, 102 di studio individuale, 48 di lezione frontale
Semestre: 2°
Obiettivi formativi
Lo studente acquisirà le conoscenze per progettare algoritmi sia autonomamente che in gruppo di lavoro.
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