| Data | Ora | Argomenti | |
| 16/2/2015 | 11 | 00 | Descrizione generale del corso, modalità di esame. Generalità sui sistemi informatici, componenti hardware e software, classi di calcolatori. Dispositivi di ingresso, uscita, memoria, CPU. Tastiere e mouse, monitor, stampanti, plotter. Memorie permanenti e volatili. Parametri caratteristici, parametri di qualità, costi. Tipi di cpu, architetture e velocità. Bus di sistema. |
| 17/2/2015 | 11 | 00 | Classificazione dei sistemi informatici. Processo di bootstrap. Dispositivi per la connessione in rete di calcolatori. Generalità sul sistema operativo; Windows e metafora della scrivania virtuale. |
| 18/2/2015 | 11 | 00 | Connessioni basate su modem, linea commutata e Internet Access Provider. Reti locali, schede di rete e mezzi di trasmissione: doppini e fibre ottiche. Protocolli di rete: tcp/ip, numeri ip e indirizzi, formazione gerarchica degli indirizzi. Protocollo http e pagine web, browser e server; protocollo ftp, protocollo smtp; concetto di server e di client. Cenni sul linguaggio html. |
| 23/2/2015 | 11 | 00 | Introduzione all'utilizzo del sistema di sviluppo Eclipse. Processo di sviluppo di un programma: problema, algoritmo, linguaggio di programmazione, codifica. Introduzione al concetto di algoritmo. Introduzione al concetto di variabile. |
| 24/2/2015 | 11 | 00 | Struttura di un programma C: variabili e istruzioni, incolonnamento. Istruzioni di assegnamento. Espressioni aritmetiche e logico-relazionali. Sequenze e ripetizioni. Ripetizioni basate sul conteggio. Esempi di algoritmi elementari. Calcolo delle medie aritmetiche e geometriche. Calcolo del fattoriale. Calcolo dell'esponenziale con sviluppo in serie di Maclaurin. Esempio del programma di calcolo della media aritmetica. Istruzioni di ripetizione: concetti generali, inizializzazione. Variabili di tipo int e double e loro casi di utilizzo. Istruzioni di input e output: Printf e scanf, uso dei "segnaposto" %d e %lf, uso del segnale di "a capo" \n. |
| 25/2/2015 | 11 | 00 | Codifica delle informazioni, tipi di files. Rappresentazione di valori numerici in ANSI C. Rappresentazione di interi in codifica binaria, complemento a 2 per rappresentare numeri interi negativi. Overflow. Rappresentazione di numeri in virgola mobile. Differenze tra i numeri in virgola mobile di ANSI C e i numeri reali. Precisione ed errore di rappresentazione. Proprietà aritmetiche delle operazioni in virgola mobile. |
| 2/3/2015 | 11 | 00 | Operatori logici ed espressioni logiche e leggi di De Morgan. Sequenza di istruzioni. Cicli con acquisizione di dati da input e messaggi di interfaccia utente. Definizione di "blocco" di istruzioni. Istruzione do ... while. Istruzione do...while e confronto con while. |
| 3/3/2015 | 11 | 00 | Esempi comparati di utilizzo. Istruzione for e confronto con le altre istruzioni per la specifica di cicli. Istruzione for per la ripetizione con conteggio. Cicli innestati. Incremento e decremento. Istruzioni if e Assegnamento con espressione += e simili. |
| 4/3/2015 | 11 | 00 | Lezione annullata per AlmaOrienta |
| 9/3/2015 | 11 | 00 | if...else per la specifica di blocchi condizionali. If innestati. Scambio dei valori di due variabili. Esempi di utilizzo. Esempio dell'equazione di secondo grado |
| 10/3/2015 | 11 | 00 | Esempi di trattamento di sequenze di valori. Ricerca di massimo. Utilizzo combinato delle varie istruzioni. |
| 11/3/2015 | 11 | 00 | La persistenza dei dati. Il tipo FILE, fopen e fclose. Relazioni tra files in un programma C e files del sistema operativo. Modalità di apertura r, w, a. Input e output formattato: fscanf e fprintf. fscanf, fprintf. Esempi di letture e scritture di files. Esempio del calcolo della media da file. |
| 16/3/2015 | 11 | 00 | Introduzione al concetto di astrazione funzionale. Scrittura e uso di funzioni in C. Passaggio di parametri per valore. Tipo di una funzione. Istruzione return. Uso di funzioni per il calcolo di valori. Parametri formali e parametri effettivi. Esempi. |
| 17/3/2015 | 11 | 00 | Funzioni con parametri riferimento, motivazione e tecnica di utilizzo. Operatore * per i parametri formali riferimento; operatore & per i parametri effettivi riferimento. Funzioni void. Prototipo di una funzione e regole di scrittura di programmi con funzioni. Esempi di utilizzo di procedure e funzioni. Introduzione di costanti con #define. |
| 18/3/2015 | 11 | 00 | Scelta a più vie: istruzione switch. Istruzione switch per la scelta tra più vie in base a un'espressione a valore intero. |
| 23/03/15 | 11 | 00 | Stringhe. Terminatore di stringa. Funzioni di "string.h" per la manipolazione di stringhe: strlen, strcpy, strcat, strcmp. Acquisizione di stringhe da input e visualizzazione su output. |
| 13/4/2015 | 11 | 00 | Dichiarazione e utilizzo di array. Dimensionamento e indici. Esempio di calcolo delle frequenze assolute delle modalità di un carattere in un insieme di osservazioni. Caso di insieme delle modalità isomorfo a un sottoinsieme contiguo di interi. Caso di conteggio di frequenze per classi di modalità. |
| 14/4/2015 | 11 | 00 | Uso di array in parametri di procedure. Discussione sull'uso degli operatori * per la dichiarazione di un puntatore e di & per l'estrazione di un indirizzo. Discussione sull'uso di * nei parametri formali di una procedura. |
| 15/4/2015 | 11 | 00 | Esempi di array a più dimensioni. Conteggio delle frequenze di coppie di variabili. Esempi con stringhe memorizzate in array. Dimensionamento statico dell'array e utilizzo dei primi n elementi dell'array. Esempi. |
| 20/4/2015 | 11 | 00 | Ricerca binaria iterativa. Discussione sul numero di operazioni di confronto in rapporto al numero di elementi nell'array. Ricerca binaria su array ordinato. |
| 21/4/2015 | 11 | 00 | Complessità computazionale della ricerca binaria. Problemi di ordinamento. Ordinamento per selezione e implementazione in C. Complessità del problema dell'ordinamento. |
| 22/4/2015 | 11 | 00 | Introduzione alla complessità computazionale. Complessità asintotica. Classi di complessità dei problemi: lineari, polinomiali, esponenziali, logaritmici. Complessità di algoritmi con cicli innestati. Caso peggiore e caso medio. Esempi |
| 27/4/2015 | 11 | 00 | Generazione di numeri pseudo-casuali. Funzioni rand() e srand() dalla libreria stdlib. Trasformazioni lineari per generare numeri casuali uniformemente distribuiti in intervallo assegnato. Generazione con distribuzione non uniforme. |
| 28/4/2015 | 11 | 00 | Generazione di numeri casuali con distribuzione assegnata: esempio della frequenza delle lettere nella lingua italiana |
| 29/4/2015 | 11 | 00 | Generazione di numeri casuali con distribuzioni di frequenze espresse matematicamente: teorema dell'inversione analitica. Generazione con distribuzione esponenziale. Generazione con distribuzione binomiale. |
| 4/5/2015 | 11 | 00 | Esercitazioni sulla generazione di numeri casuali |
| 5/5/2015 | 11 | 00 | Il linguaggio HTML per la composizionie delle pagine web: caratteristiche fondamentali |
| 6/5/2015 | 11 | 00 | Il software per la gestione di basi di dati: caratteristiche principali. Operazioni su tabelle: selezione, proiezione, join. |
| 11/5/2015 | 11 | 00 | Esempi di utilizzo di MS Access, collegamenti con MS Excel. |
| 12/5/2015 | 11 | 00 | Informatica e società. Tipi di licenze, copyright. |
| 13/5/2015 | 11 | Dati multimediali. Privacy e protezione delle informazioni. | |