Obiettivi formativi

Il corso tratta a livello elementare alcuni aspetti generali e introduttivi dell'informatica e inoltre introduce lo studente alle attività di laboratorio.

Attività formative

Il corso viene svolto in complessive 40 ore di lezioni in aula e in laboratorio.

Programma del corso

Modulo di teoria.

1. Operazioni e Algoritmi Classi, Sequenze, Relazioni, Operazioni, Funzioni, Predicati. Diagrammi operatori. Calcoli e Algoritmi.

2. Espressioni e Comandi Espressioni operatorie e calcoli di valutazione. Espressioni condizionali, lambda-espressioni. Comandi e costrutti di controllo.

3. Istruzioni e Programmi Spazi di dati. Calcolo simbolico e calcolo imperativo. Programmi, Macchine e Automi. Programmi a registri. Linguaggi procedurali ad alto livello.

4.Circuiti e Macchine Funzioni booleane e circuiti combinatori. Circuiti sequenziali. Circuiti di trasferimento e sincronizzazione. Struttura di una macchina von Neumann e ciclo di esecuzione.

5. Dati e Tipi Grafi e alberi. Stringhe, Vettori e Liste. Memorie indirizzabili e memorie sequenziali. File. Record e Puntatori.

6. Simboli e Codici Caratteristiche dell'informazione digitale. Misure informative. Codici e alberi di codifica. Codice ASCII e UNICODE. Codici istantanei. Algoritmo di Huffman. Entropia informativa.

7. Automi e Linguaggi Linguaggi e operazioni su linguaggi. Automi a stati finiti. Espressioni regolari. Calcolabilita', semidecidibilita' e decidibilita'. Macchine di Turing, tesi di Church e indecidibilita'. Complessita' di calcolo.

8. Sistemi operativi Livelli di programmazione. Funzioni e struttura di un sistema operativo. Nucleo di sistema. Struttura di un file system. Linguaggi di comandi. Applicazioni di base. Interfacce grafiche.

9. Reti e Servizi Livelli di rete. Risorse e Indirizzi. Servizi e Protocolli. Modello Client-server (HTTP, SMTP). Testi, Formati, Ipertesti. Modalita' di accesso e di uso dei servizi. Sistemi di autenticazione e di protezione.

Modulo di laboratorio.

1. Comandi basilari di un sistema operativo tipo Unix. Formato dei comandi di Shell. Accesso al sistema, identificazione, autenticazione. Parametri di configurazione e modalita' di interazione.

2. Comandi Shell su file testuali e text editing di base.

3. Struttura e uso del file system.

4. Elementi di programmazione della Shell.

5. Servizi client/server di base: FTP, login remoto e loro versioni sicure.

6. Struttura e usi di comandi multimediali

7. Struttura e usi dei principali servizi di rete.