2009
2009
Sei collegato come utente non registrato
Riepilogo dell'insegnamento: FONDAMENTI DI PROGRAMMAZIONE e LABORATORIO DI PROGRAMMAZIONE
Informazioni generali
Corso di Laurea Informatica Percorso
CFU 10 Università PARMA
Ore di didattica frontale per CFU 8 Settore Scientifico Disciplinare INF/01
Commento

10 cfu così ripartiti nelle aree:

  • 8 CFU nell'area C - Programmazione
  • 2 CFU nell'area D - Linguaggi

Sillabo dell'insegnamento

  • C - Programmazione
    • * SDTD - Strutture Dati e Tipi di Dati astratti
      Tipi di dato astratti (ADT). Classi parametriche: dichiarazione, istanziazione. Realizzazione di tipi di dato astratti in C++. Problematiche con allocazione dinamica della memoria.
    • * POO - Programmazione Orientata agli Oggetti
      Classi e oggetti. Motivazioni. Dichiarazione di classe in C++. Creazione ed uso di oggetti. Inizializzazione di oggetti: costruttori.
    • * POO - Programmazione Orientata agli Oggetti
      ''Incapsulamento'' e ''Information hiding''. ''Overloading'' di funzioni ed operatori in C++. Ereditarieta': motivazioni, meccanismi.
    • * R - Ricorsione
      Ricorsione. Definizioni e funzioni ricorsive. Esempi (in partic., ordinamento basato su ''merge-sort''). Gestione della memoria: record d'attivazione, pila di sistema. Ricorsione vs. iterazione.
    • * P - Procedure
      Dichiarazione e chiamata di funzione in C++. Passaggio parametri: per valore, per riferimento. Struttura a blocchi. Nomi, ambienti e regole di ''scope''. Tempo di vita di un oggetto. Gestione delle eccezioni: motivazioni, meccanismi.
    • * SDTD - Strutture Dati e Tipi di Dati astratti
      Strutture dati astratte vs. concrete. Array in C++ (realizzazione vettori, matrici, stringhe). Struct in C++ (realizzazione record, tabelle). Puntatori ed allocazione dinamica della memoria.
    • * PSA - Problem Solving e Algoritmi
      Il concetto di algoritmo. Rappresentazione di algoritmi. Diagrammi di flusso. Variabili e assegnamento. Strutture di controllo. Risoluzione di problemi: esempi (in partic., ordinamento).
    • * CB - Costrutti di Base
      Dichiarazioni. Tipi di dato primitivi. Tipi semplici del C++. Assegnamento. Espressioni ed operatori. Struttura di un programma. Input/output di base. Comandi per il controllo di sequenza.
  • D - Linguaggi
    • * TTCI - Tecniche di Traduzione: Compilatori e Interpreti
      Diagrammi sintattici e BNF. Struttura e funzionamento di un compilatore. Compilazione ed interpretazione. Ambienti di programmazione. Strumenti di sviluppo software.
    • MP - Metodologie di Programmazione
      Programmazione strutturata. Sviluppo programmi ''per raffinamenti successivi''. ''Programming-in-the-large'' vs. ''Programming-in-the-small''. La nozione di modulo. Interfaccia ed implementazione. Forme di modularizzazione. Progettazione ''object-oriented''. Classi e modularizzazione in C++.

(*) Le sottoaree con asterisco sono quelle che il GRIN ritiene essenziali