28623 - Fondamenti di Informatica e Laboratorio T-AB
Testi consigliati

H. M. Deitel, J. Deitel
C: Corso completo di Programmazione
Apogeo, 2007, Terza Edizione.

D. Mandrioli, S. Ceri, L. Sbattella, P. Cremonesi, G. Cugola
Informatica: arte e mestiere
Mc Graw-Hill, 2008, Terza Edizione.

Possono andar bene anche altri testi o altre edizioni degli stessi testi. Riferimenti ulteriori saranno forniti a lezione.


Sei in: Home > Contenuti

Calendario delle lezioni


Argomenti trattati a lezione, giorno per giorno.

Calendario (provvisorio) delle lezioni

Il corso comprende lezioni in aula (T-x), sessioni di laboratorio (P-x) ed esercizi in aula (E-x). Le lezioni e gli esercizi si terranno nelle aule 0.1, 2.6 e 4.2, mentre le sessioni di laboratorio si teranno in Lab 3.

Lez
Data
Ora
Aula
Argomento (indicativo)
T-1
23-Feb
11-14
0.1
Presentazione del corso. Karel.
T-2
24-Feb
12-14
2.6
Algoritmi e programmi. Proprietà degli algoritmi. Metodologie top-down e bottom-up. Errori logici e sintattici
P-1
27-Feb
9-13
L3
Introduzione al laboratorio. Account, password. Ambiente di programmazione, file system, browser. Karel
T-3
2-Mar
11-13
0.1
Ambienti di programmazione. Linguaggi di programmazione. Alfabeto, sintassi e semantica. Il formalismo BNF. Struttura e sintassi di un programma C.
E-1
2-Mar
13-14
0.1
Esercizi sulle grammatiche BNF.
P-2
3-Mar
12-14
L3
Introduzione a Visual Studio. Compilatore C. Hello World! Come creare un progetto in C in Visual Studio. Utilizzo del debugger.
T-4
6-Mar
9-11
4.2
Identificatori, variabili, costanti, tipi di dato. Tipi scalari, qualificatori e quantificatori, operatori.
P-3
6-Mar
11-13
L3
Tipi di dato. Tipi semplici in C. Problemi legati alla rappresentazione dei numeri. Overìflow e underflow.
T-5
9-Mar
11-13
0.1
Overloading e casting. Dichiarazioni di tipo. Espressioni booleane. Istruzioni di assegnamento e incremento. Precedenza e associatività. Rappresentazione dei numeri interi e in floating point.
E-2
9-Mar
13-14
0.1
Esercizi su rappresentazioni dei numeri e valutazioni di espressioni.
P-4
10-Mar
12-14
L3
Precedenza e associatività negli operatori. Assegnamento, incremento, overloading e casting.
T-6
13-Mar
9-11
4.2
Input/Output con formato: printf e scanf.
P-5
13-Mar
11-13
L3
Input/Output con formato: printf e scanf.
T-7
16-Mar
11-13
0.1
Introduzione alla programmazione strutturata. Teorema di Böhm-Jacopini. Istruzione composta. Istruzioni di alternativa: if. Cicli while, do..while, e for. Strutture annidate.
E-3
16-Mar
13-14
0.1
Esercizi su cicli e condizioni.
P-6
17-Mar
12-14
L3
Espressioni e cicli.
T-8
20-Mar
9-11
4.2
Operatore condizionale. Break e continue. Switch. Tipi strutturati: vettori.
P-7
20-Mar
11-13
L3
Espressioni e cicli.
T-9
23-Mar
11-13
0.1
Tipi strutturati: Matrici, stringhe, e record.
E-4
23-Mar
13-14
0.1
Esercizi su vettori e stringhe.
P-8
24-Mar
12-14
L3
Cicli e array.
T-10
27-Mar
9-11
4.2
Funzioni e procedure. Il modello cliente-servitore. Interfacce. Parametri formali e parametri effettivi. Funzioni in C: Binding e visibilità.
P-9
27-Mar
11-13
L3
Array e record.
T-11
30-Mar
11-13
0.1
Puntatori e variabili dinamiche. Operatori aritmetici sui puntatori.
E-5
30-Mar
13-14
0.1
Esercizi su strutture e puntatori.
P-10
31-Mar
12-14
L3
Funzioni.
T-12
3-Apr
9-11
4.2
Vettori e puntatori. Problemi collegati all'uso dei puntatori.
P-11
3-Apr
11-13
L3
Puntatori.
T-13
6-Apr
11-13
0.1
Passaggio per riferimento. Passaggio di un vettore come parametro di funzione. Dichiarazioni di funzione. Effetti collaterali nelle funzioni. Tempo di vita delle variabili. Variabili static.
E-6
6-Apr
13-14
0.1
Esercizi sulle funzioni: visibilità e tempo di vita delle variabili, vettori come parametri.
P-12
7-Apr
12-14
L3
Puntatori.
10-Apr
 
13-Apr
 
14-Apr
 
T-14
17-Apr
9-11
0.1
Il modello a run-time: lo stack. Spazio di indirizzamento. La ricorsione. Processi computazionalmente iterativi/ricorsivi. Ricorsione tail.
P-13
17-Apr
11-13
L3
Fuzioni e vettori.
T-15
20-Apr
11-13
0.1
Tipi di dato astratto. Implementazione mediante strutture dati dinamiche: liste e alberi (cenni). Notazione Big-O.
E-7
20-Apr
13-14
0.1
Esercizi sui tipi di dato astratto.
P-14
21-Apr
12-14
L3
Funzioni ricorsive.
T-16
24-Apr
9-11
0.1
Progetti su più file. Funzioni come parametro. Esempio della funzione qsort. Parametri del main.
P-14
24-Apr
11-13
L3
Funzioni ricorsive (continuazione).
T-17
27-Apr
11-14
0.1
Architettura a livelli. Microprogrammazione e Sistema Operativo. Storia del computer. Architettura di Von Neumann. Organizzazione della CPU. Ciclo fetch-decode-execute. Parallelismo a livello di istruzione e di CPU.
T-18
28-Apr
12-14
1.3
Organizzazione della memoria principale. Cache. Gerarchia di memorie. Memorie di massa. Bus. Interfacce I/O.
1-May
 
T-19
4-May
11-13
0.1
I file. Accesso ai file di testo. Lettura/scrittura con formato. File binari. Lettura/scrittura di blocchi.
E-8
4-May
13-14
0.1
Esercizi sui file.
P-15
5-May
12-14
L3
Progetti su più file e file di testo
T-20
8-May
9-11
0.1
Esercizi sui file.
P-16
8-May
11-13
L3
File binari
T-21
11-May
11-14
0.1
Cenni sulla complessità degli algoritmi. Big-O notation. Algoritmi di ordinamento: bubble sort, insertion sort, merge sort
P-17
12-May
12-14
L3
Set-up per misurare la performance di un algoritmo. Implementazione e confronto tra bubble sort, insertion sort e merge sort
T-21
15-May
9-11
0.1
Algoritmi di ordinamento (continuazione).
P-17
15-May
11-13
L3
Algoritmi di ordinamento (continuazione).
T-22
18-May
11-14
0.1
Introduzione ai Sistemi Operativi e a Unix. Funzionalità di un sistema operativo. Introduzione alla shell.
P-18
19-May
12-14
L4
Shell dei comandi.
T-23
22-May
9-11
0.1
Gestione dei processi e linguaggio di scripting.
P-19
22-May
11-13
L4
Shell dei comandi (sostituzione).
T-24
25-May
11-13
0.1
Gestione dei file in Unix: open, close, read, write.
E-9
25-May
13-14
0.1
Esercizi su file di script
P-20
26-May
12-14
L4
File di script.
T-25
29-May
9-11
0.1
Gestione dei processi in Unix: fork e exec.
E-10
29-May
11-13
0.1
Presentazione dei progetti. Preparazione all'esame: esercizi di analisi e domande di teoria
P-21
1-Jun
11-13
L4
Lab4 a disposizione per esercitazioni individuali su C e shell Linux
2-Jun
 
E-11
5-Jun
9-13
L3
Preparazione all'esame: parte di programmazione C

 

Calendario delle lezioni

Periodo
23/02/2009 - 05/06/2009

Orario
LUN 11.00 - 14.00
Aula 0.1

MAR 12.00 - 14.00
Lab 3 oppure Aula 1.3

VEN 09.00 - 11.00
Aula 0.1

VEN 11.00 - 13.00
Lab 3 oppure Aula 0.1

Festività
Venerdì 10/04/2009
Lunedì 13/04/2009
Martedì 14/04/2009
Venerdì 01/05/2009
Martedì 02/06/2009


Appelli

Sessione estiva
1o appello: 15/06/2009
2o appello: 06/07/2009
Registrazioni: 21/07/2009
Orali: 21/07/2009

Sessione autunnale
3o appello: 04/09/2009
4o appello: 18/09/2009
Registrazioni: 25/09/2009
Orali: 25/09/2009

Sessione invernale
5o appello: 13/01/2010
6o appello: 8/02/2010
Registrazioni: 11/02/2010
Orali: 11/02/2010


Licenze

Creative Commons License
Handouts and all other material for Fondamenti di Informatica e Laboratorio T-AB per Ingegneria dell'Automazione, Università di Bologna - A.A. 2008/2009 by Paolo Torroni, Federico Chesani, Marco Montali and Rebecca Montanari is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Italy License.
Based on a work at University of Bologna, Italy.