DIPARTIMENTO   DI   INFORMATICA
Università di Torino

Programmazione II

Corso di Laurea in Informatica - Università del Piemonte Orientale (Sede di Alessandria)
a.a. 01/02

ESAMI DI PROGRAMMAZIONE II

  1. Il docente sara' disponibile per ESAMI ORALI e CONSULENZE (in particolare per la discussione della prova scritta):
    • Lunedi' 09/12/02 dalle 10:00 alle 12:00 (nell'Ufficio di Paola Giannini) [NOTA: per orali e consulenze OCCORRE PRENOTARSI INVIANDO UNA MAIL AL DOCENTE]
  2. La prossima PROVA SCRITTA sara':
    • Lunedi' 09/12/02 alle 14:00 (Aula C, palazzo Borsalino)
  3. Per prepararsi all'esame (scritto e orale) consultare gli ESERCIZI ASSEGNATI NEL PRIMO E SECONDO ESONERO (con soluzione), , gli ESERCIZI ASSEGNATI NEL COMPITO DELLO 08/07/2002 (con soluzione), , e gli esercizi di preparazione al primo e secondo esonero (DI SEGUITO RIPORTATI, CON SOLUZIONE).

PREPARAZIONE AL SECONDO ESONERO DI PROGRAMMAZIONE II

  • Gli "esercizi di preparazione" sono (disponibili nei formati: SOLO TESTO e WORD ). Tali esercizi sono stati discussi con gli studenti durante la lezione di Mercoledi' 06/03/2002.
  • Gli studenti che hanno sostenuto entrambi gli esoneri, ottenendo un punteggio >= 18 in almeno uno dei due, possono decidere di ripetere uno dei due esoneri in uno qualunque dei due appelli della prima sessione di esame:
    1. Venerdi' 15/03/2002, ore 14:00, AULA MAGNA del "Volta"
    2. Giovedi' 04/04/2002, ore 14:00, AULA MAGNA del "Volta"

PREPARAZIONE AL PRIMO ESONERO DI PROGRAMMAZIONE II

  • Gli "esercizi di preparazione" (disponibili nei formati: SOLO TESTO e WORD ) sono stati svolti in classe durante la lezione del 15/02/02.
  • Gli studenti sono anche invitati a svolgere i seguenti ESERCIZI (con alcune soluzioni) - ultimo aggiornamento 06/03/02 (ATTENZIONE: la versione del 18/02/02 conteneva degli errori).

Informazioni generali

Il corso si svolge nel secondo trimestre (inizio il 14/01/02) con il seguente orario (circa 20 lezioni di 2 ore ciascuna, distribuite su periodo di circa otto settimane):

Giorno Ora Aula/Laboratorio
Lunedì 14:00-16:00 Aula Magna
Mercoledì 16:00-18:00 Aula Officina
Venerdì 14:00-16:00 Aula Officina

Scopo del corso

Il corso ha lo scopo di introdurre alcuni fondamenti della programmazione degli elaboratori elettronici. In particolare:
  • Saranno presentati i concetti di: struttura dati dinamica, ricorsione, tipo di dato astratto.
  • Verranno illustrati molti esempi di algoritmi.

Libri di testo

  • Robert L. Kruse, Clovis L. Tondo, Bruce P. Leung.
    "Data Structures and Program Design in C"(II edizione).
    Pentice Hall International Editions.
    [Nel seguito indicato come "KRUSE"]
  • Brian W. Kernighan & Dennis M. Ritchie.
    Linguaggio C (ANSI C), seconda ed., Mc-Graw-Hill 1989.
    [Nel seguito indicato come "ANSIC"]
    (Ogni altro buon libro di C puo' essere utilizzato.)

Materiale integrativo

  • Paolo Terenziani
    " NOTE aggiuntive al corso di Programmazione II a.a. 2001-2002 ".
    [Nel seguito indicato come "NOTE1"]
    ATTENZIONE: ci sono alcune differenze rispetto alle note dell' a.a. 2000-2001 ; usate la versione dell'a.a. 2001-2002.

Indice delle lezioni (ATTENZIONE: QUESTE PAGINE VENGONO CONTINUAMENTE MODIFICATE, controllate quindi la DATA DELL'ULTIMO AGGIORNAMENTO)

    PARTE 0 (il costrutture di tipo "struct" in C)
  1. Lezione di Lunedi' 14/01/02 - ultimo aggiormamento: 24/01/02
  2. Lezione di Mercoledi' 16/01/02 - ultimo aggiormamento: 24/01/02

    PARTE 1 (strutture dati dinamiche: liste linkate)
  3. Lezione di Venerdi' 25/01/02 - ultimo aggiormamento: 29/01/02
  4. Lezione di Lunedi' 28/01/02 - ultimo aggiormamento: 31/01/02
  5. Lezione di Mercoledi' 30/01/02 - ultimo aggiormamento: 31/01/02
  6. Lezione di Venerdi' 1/02/02 - ultimo aggiormamento: 7/02/02
  7. Lezione di Lunedi' 4/02/02 - ultimo aggiormamento: 7/02/02
  8. Lezione di Mercoledi' 6/02/02 - ultimo aggiormamento: 7/02/02

    PARTE 2 (algoritmi ricorsivi)
  9. Lezione di Venerdi' 8/02/02 - ultimo aggiormamento: 12/02/02
  10. Lezione di Lunedi' 11/02/02 - ultimo aggiormamento: 12/02/02
  11. Lezione di Mercoledi' 13/02/02 - ultimo aggiormamento: 25/02/02
  12. Lezione di Venerdi' 15/02/02 - ultimo aggiormamento: 22/02/02
  13. Lezione di Mercoledi' 20/02/02 - ultimo aggiormamento: 22/02/02
  14. Lezione di Venerdi' 22/02/02 - ultimo aggiormamento: 28/02/02
  15. Lezione di Lunedi' 25/02/02 (LEZIONE DI ESERCIZI)
  16. Lezione di Mercoledi' 27/02/02 - ultimo aggiormamento: 28/02/02
  17. Lezione di Venerdi' 01/03/02 - ultimo aggiormamento: 05/03/02
  18. Lezione di Lunedi' 04/03/02 - ultimo aggiormamento: 11/03/02
  19. Lezione di Mercoledi' 06/03/02
  20. Lezione di Venerdi' 08/03/02 (LEZIONE DI ESERCIZI)

Modalita' d'esame

L'esame prevede una prova scritta (CHE PUO' ESSERE SOSTITUITA DA DUE ESONERI, CHE SARANNO SVOLTI A META' E A FINE CORSO), che sara' poi discussa con il docente prima della registrazione del voto.

Programma del corso (versione preliminare)

  • Il "costruttore di tipo" struct in C. [NOTE1]
  • La "struttura dati" lista
    • Introduzione [KRUSE: sez. 2.2.1 pag 40-44; sez 5.1 pag. 188-189]
    • Implementazione contigua [KRUSE: sez. 2.3.1 pag 55-56; sez 5.2.1 pag. 190-191]
    • Implementazione linkata con array [KRUSE: sez. 5.5 pag. 214-221]
    • Puntatori C e liste linkate [KRUSE: sez. 4.5 pag. 152-160; sez 5.2.2 pag. 191-195]
    • Esercizi: algoritmi iterativi su liste (realizzate tramite puntatori) in C [NOTE1: Iterazione su Liste]
    • Liste doppiamente linkate [KRUSE: sez. 5.2.4, pag. 197-201]
  • Ricorsione
    • Introduzione generale [KRUSE: sez. 3.2.1, 3.2.2, 3.2.3 pag. 91-95; sez. 3.4 pag. 110-122]
    • Complessita' in spazio e in tempo di procedure/funzioni ricorsive [NOTE1]
    • Record di attivazione per procedure/funzioni ricorsive [NOTE1]
    • Esercizi: algoritmi ricorsivi in C [NOTE1]
    • Torri di Hanoi [KRUSE: sez. 3.2.4 pag. 91-95]
    • Esercizi: algoritmi ricorsivi su liste in C [NOTE1]
    • Ricorsione lineare, ricorsione di coda e iterazione (cenni)
    • Quicksort, Mergesort [KRUSE]


[Ferruccio Damiani - DIDATTICA] [Corsi di Studi in Informatica]

Last update: Dec 04, 2002