Docente
|
TEMPERINI MARCO
(programma)
Programma del corsoPrima Parte
- Architettura elementare: macchina di von Neumann, memoria centrale, bus, unità centrale, interfacce di I/O.
- Codifica dell’informazione: non numerica, Floating point, Complemento a 2
- Software di base: il sistema operativo.
- I linguaggi di programmazione e loro descrizione: carte sintattiche (e notazione Backus-Naur.)
- tipi e variabili; operatori ed espressioni, istruzioni e funzioni
- Passaggio dei parametri per valore e per riferimento.
- Visibilità e durata delle variabili. Le funzioni predefinite della standard library.
- File ad accesso sequenziale e diretto. File di testo.
- Strumenti per la produzione di programmi. Scrittura ed editing di un programma. Compilazione, collegamento ed esecuzione
- Sviluppo di algoritmi notevoli su vettori e matrici: calcolo del minimo e del massimo, prodotto scalare, prodotto matriciale, calcolo della trasposta e della traccia di una matrice.
- Sviluppo di programmi con I/O su file. Algoritmi: ricerca lineare, ricerca dicotomica, bubble sort, selection sort.
Seconda parte
Riguardo alla programmazione in C,
- allocazione dinamica della memoria; funzioni malloc e free; funzione realloc
- array statici e array dinamici; stringhe con allocazione "esatta"
- strutture
- puntatori e strutture di dati
- ricorsione
Riguardo alle metodologie e tecniche di programmazione
- metodologie di sviluppo del software
- tecniche di test dei programmi
Riguardo agli approfondimenti sulle strutture di dati in C
- tabelle di dati (array di strutture).
- Strutture di dati dinamiche: liste concatenate, alberi, alberi di ricerca
Testi di riferimento
- Deitel and Deitel: C Corso completo di programmazione. Apogeo
- D.Calvanese, P.Liberatore, F.Massacci, R.Rosati: Programmazione di strutture dati in C. Progetto Leonardo, Bologna
- Dispense di esercitazione autoguidata (disponibili in laboratorio e via internet)
- Materiale relativo agli esercizi presentati in classe e alle esercitazioni autoguidate (disponibile via internet)
|