28623 - Fondamenti di Informatica e Laboratorio T-AB
Strumenti

Sviluppo in C:

Strumenti
Progetto vuoto Visual Studio configurato per il linguaggio C
(con istruzioni)


Sei in: Home > Materiale > Lezioni in aula

Lezioni


Informazioni e materiale relativo alle lezioni in aula.

Lucidi delle lezioni

Nell'area sottostante puoi scaricare i file con le diapositive usate in aula.

Lez Argomento (indicativo)
T-1
Presentazione del corso. Karel (guida all'uso)
T-2
Algoritmi e programmi. Proprietà degli algoritmi. Metodologie top-down e bottom-up. Errori logici e sintattici.
T-3
Ambienti di programmazione. Linguaggi di programmazione. Alfabeto, sintassi e semantica. Il formalismo BNF. Struttura e sintassi di un programma C.
T-4
Identificatori, variabili, costanti, tipi di dato. Tipi scalari, qualificatori e quantificatori, operatori.
T-5
Overloading e casting. Dichiarazioni di tipo. Espressioni booleane. Istruzioni di assegnamento e incremento. Precedenza e associatività. Rappresentazione dei numeri interi e in floating point.
T-6
Input/Output con formato: printf e scanf. (GNU C Library: printf, scanf).
T-7
Introduzione alla programmazione strutturata. Teorema di Böhm-Jacopini. Istruzione composta. Istruzioni di alternativa: if. Cicli while, do..while, e for. Strutture annidate. Risorse: teorema di Bohm-Jacopini (Communications of the ACM 9(5), 1966)
T-8
Operatore condizionale. Break e continue. Switch. Tipi strutturati: vettori.
T-9
Tipi strutturati: Matrici, stringhe, e record.
T-10
Funzioni e procedure. Il modello cliente-servitore. Interfacce. Parametri formali e parametri effettivi. Funzioni in C: Binding e visibilità.
T-11
Puntatori e variabili dinamiche. Operatori aritmetici.
T-12
Vettori e puntatori. Problemi collegati all'uso dei puntatori.
T-13
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.
T-14
Il modello a run-time: lo stack. Spazio di indirizzamento. La ricorsione. Processi computazionalmente iterativi/ricorsivi. Ricorsione tail
T-15
Tipi di dato astratto. Implementazione mediante strutture dati dinamiche: liste e alberi (cenni). Notazione Big-O.
T-16
Progetti su più file. Funzioni come parametro. Esempio della funzione qsort. Parametri del main.
T-17
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
Organizzazione della memoria principale. Cache. Gerarchia di memorie. Memorie di massa. Bus. Interfacce I/O. [Credits: Zeynep Kiziltan]
T-19
I file. Accesso ai file di testo. Lettura/scrittura con formato. File binari. Lettura/scrittura di blocchi.
T-20
Esercizi sui file.
T-21
Cenni sulla complessità degli algoritmi. Big-O notation. Algoritmi di ricerca e di ordinamento: ricerca binaria, bubble sort, insertion sort, merge sort, quicksort
T-22
Introduzione ai Sistemi Operativi e a Unix. Funzionalità di un sistema operativo. Introduzione alla shell.
T-23
Gestione dei processi e linguaggio di scripting.
T-24
Gestione dei File in Unix: Open, close, read, write.
T-25
Gestione dei Processi in Unix.

 


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


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.