Esercitazioni di Informatica, A.A. 2010/2011 (Universita' di Trento)


Corsi di Laurea in Matematica e Laurea in Fisica.
Laurea di primo livello, I anno, 6 crediti.
Titolare del corso: Alessandro Moschitti



Comunicazioni agli studenti
Ecco le date per la sessione invernale: NOVITA'
Martedi' 10 Gennaio 2012
Dalle ore 9 in aula pc 104 FBK gli studenti dovranno sostenere una prova pratica al pc.
Chi supera la prova pratica puo' presentarsi alle ore 12.30 in aula 103 FBK per lo scritto
oppure mantenere il voto della pratica e sostenere l'esame scritto in un altro appello.
Mercoledi' 1 Febbraio 2012
Dalle ore 9 in aula pc 104 FBK gli studenti dovranno sostenere una prova pratica al pc.
Chi supera la prova pratica puo' presentarsi alle ore 12.30 in aula 106 FBK per lo scritto
oppure mantenere il voto della pratica e sostenere l'esame scritto in un altro appello.

Alcuni esempi di prova pratica e scritto si possono trovare nella pagina del corso del 2010.
I testi e le soluzioni dell'appello di giugno 2011 si possono scaricare qui.
I testi e le soluzioni dell'appello di luglio 2011 si possono scaricare qui.
I testi e le soluzioni dell'appello di agosto 2011 si possono scaricare qui.
Gli esiti saranno pubblicati a giorni su ESSE3. Dovreste riceverne notifica sulla vostra bacheca.



21 Febbraio 2011
Lezione in aula
Introduzione al corso: programma e modalita' d'esame.
Introduzione all'informatica: rappresentazione binaria.
Slides "InfoCorso.pdf"
Slides "Lezione1.pdf"


Nota sulle lezioni in laboratorio
Partizionamento degli studenti secondo ordine alfabetico
Aula A201 (Povo1): dalla A a MASSENZANA LEONARDO
Aula 104 (FBK): da MENEGHETTI MARCELLO alla Z
In aula A201 le prime lezioni di laboratorio saranno tenute in lingua inglese
ma a partire dalle lezioni di programmazione in C in entrambi i laboratori
le esercitazioni verranno effettuate in italiano!



28 Febbraio 2011
Introduzione a Linux ed all'uso della shell
Introduzione al sistema operativo Linux con descrizione del file system e gestione dei permessi.
Esercitazione all'utilizzo basilare della shell a riga di comando.
Slides "Introduzione alla Shell di Linux"


2 Marzo 2011
Lezione in aula
Introduzione all'informatica: cenni storici
Slides fino alla n.21


7 Marzo 2011
Algebra booleana
Algebra di Boole, variabili, e funzioni logiche:
esercizi con tabelle di verita' e forma canonica
Slides dalla n.22 alla n.45


9 Marzo 2011
Lezione in aula
Sistemi di numerazione e rappresentazione dei numeri in base binaria, ottale ed esadecimale.
Slides dalla n.46 fino alla n.93


14 Marzo 2011
Rappresentazione dei dati e aritmetica degli elaboratori.
Ripasso sulla conversione dei numeri in base binaria, ottale ed esadecimale.
Rappresentazione dei numeri positivi e negativi (modulo+segno, complemento a 1 e a 2)
Aritmetica degli elaboratori: somma, sottrazione, moltiplicazione e divisione binaria.
Rappresentazione dei numeri decimali ed errore di approssimazione. Overflow.
Slides dalla n.94 alla n.109

Slides dalla n.11 alla n.23

16 Marzo 2011
Lezione in aula
Numeri a virgola mobile: rappresentazione e operazioni
Codifica dell'informazione (caratteri, immagini)
Intro sulla struttura di un calcolatore (BUS, CPU)
Slides dalla n.110 fino alla n.129

Slides dalla n.1 fino alla n.15


21 Marzo 2011
Numeri a virgola mobile e macchina di Von Neumann
Esercizi con numeri a virgola mobile.
Struttura di un calcolatore (ALU, REGISTRI e memorie)
Slides dalla n.25 alla n.28
Slides dalla n.16 fino alla n.45


23 Marzo 2011
Lezione in aula
Linguaggio macchina, assembler e linguaggi di alto livello
Sistema operativo e gestione dei processi
Gestione della memoria, del file system e dei dispositivi di Input/output
Slides dalla n.46 fino alla n.101


28 marzo 2011
Lezione in laboratorio
Algoritmi, diagrammi a blocchi e analisi strutturata
Slides dalla n.1 fino alla n.64
Altri esempi di diagrammi di flusso


30 Marzo 2011
Lezione in aula
La pseudo-codifica
Gli algoritmi ricorsivi
Slides dalla n.65 fino alla fine


4 aprile 2011
Lezione in laboratorio
Linguaggi di alto livello
Compilatori ed interpreti
Slides fino alla 49


6 aprile 2011
Lezione in aula
Introduzione alla programmazione
Linguaggio C
Slides dalla 49 fino alla fine


11 aprile 2011
Esercitazione in laboratorio
Riepilogo utilizzo della shell.
Introduzione al compilatore GCC, scrittura, compilazione ed esecuzione di un semplice programma in C.
Dichiarazione, inizializzazione e assegnazione di variabili in C.
Tipi di dato essenziali (int, float, double, char).
Esercizi di assegnazione di valori/espressioni a variabili e stampa su schermo con printf.

Slides "Introduzione al Compilatore GCC"
Slides "Variabili in C e uso della printf"
helloworld.c

13 aprile 2011
Lezione in aula
Variabili e tipi
Funzione square()
Parametri formali e attuali
Esempi di assegnazione lvalue = rvalue
Slides


18 aprile 2011
Esercitazione in laboratorio
Tipi di dato essenziali (int, float, double, char).
Esercizi di assegnazione di valori/espressioni a variabili e stampa su schermo con printf.
Programmi svolti: sommaemedia.c, quadrato.c

Slides "Variabili in C"
sommaemedia.c
quadrato.c


28 aprile 2011
Lezione in aula
Le funzioni, in particolare le funzioni main, printf e scanf.
Il preprocessore e le direttive include e define.
I tipi di dati scalari (Interi, caratteri, floating point)
Le combinazioni di tipi, casting esplicito ed implicito
Slides fino a pag.22


2 maggio 2011
Esercitazione in laboratorio
Input/output da tastiera e utilizzo del costrutto condizionale.

Slides
sizeof.c
scanf.c
imc.c
diff.c
tastiera.c
tastieraLow.c
tastieraLowCtrl.c
cast.c


4 maggio 2011
Lezione in aula
Le combinazioni di tipi, casting esplicito ed implicito
I puntatori, dichiarazione, operatore di deferenziazione e di accesso
Slides dalla pag.23 alla fine


9 maggio 2011
Esercitazione in laboratorio
Esercizi su cast implicito ed esplicito, costanti floating point e puntatori

Slides
circle.c
octexa.c
cast.c
ptr.c


11 maggio 2011
Lezione in aula
I costrutti del C: condizionali (if, switch) e iterativi (while, do..while, for)
Slides fino a pagina 34


16 maggio 2011
Esercitazione in laboratorio
Esercizi su lettura iterativa di numeri e caratteri da tastiera (uso dei costrutti visti a lezione)
Slides
fact1.c
fact2.c
media.c
scelte.c
somma-n.c

18 maggio 2011
Lezione in aula
Gli array e l'aritmetica dei puntatori
Slides da 1 a 12 e da 19 a 27


23 maggio 2011
Esercitazione in laboratorio
Esercizi con array: lettura e scrittura di elementi in vettori di numeri e di caratteri (stringhe).
Slides
radici.c
radici2.c
sommaVettori.c
minimo.c
inverti-array-numerico.c
inverti-stringa.c

25 maggio 2011
Lezione in aula
Stringhe
Dalla 29 alla fine


30 maggio 2011
Esercitazione in laboratorio
Esercizi con stringhe
Slides
parola_palidroma.c
frase_palidroma.c
conteggio_eta'.c

1 giugno 2011
Lezione in aula
Complessita' computazionale e ordinamento.
Slides


6 giugno 2011
Simulazione d'esame
Lezione di preparazione alla prova pratica
Testo esame
Soluzione n.1
Soluzione n.2