Il corso tratta a livello elementare alcuni aspetti generali e introduttivi dell'informatica e inoltre introduce lo studente alle attività di laboratorio.
Il corso viene svolto in complessive 40 ore di lezioni in aula e in laboratorio.
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.
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.