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

15 cfu così ripartiti nelle aree:

  • 12 CFU nell'area C - Programmazione
  • 3 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.
    • * POO - Programmazione Orientata agli Oggetti
      Interfacce Grafiche (GUI) in Java. Tipi di oggetti di una GUI in Java. Eventi e Listener.
    • * SS - Sintassi e Semantica
      Descrizione della sintassi di un linguaggio. Grammatiche. Diagrammi sintattici e BNF. La sintassi delle espessioni. Semantica dei linguaggi di programmazione (cenni)
    • * POO - Programmazione Orientata agli Oggetti
      Programmazione Orientata agli Oggetti in Java. Struttura di un programma Java. Reference e oggetti. Ereditarieta'.
    • * POO - Programmazione Orientata agli Oggetti
      Programmazione Orientata agli Oggetti in Java. Gerarchia di classi. Tipi "wrapper". Interfacce e implementazioni. Esempi di interfacce di librerie standard.
  • D - Linguaggi
    • * TTCI - Tecniche di Traduzione: Compilatori e Interpreti
      Compilazione ed interpretazione. Struttura e funzionamento di un compilatore. Modello d'esecuzione di programmi Java.
    • MP - Metodologie di Programmazione
      La nozione di modulo. Interfaccia ed implementazione. Forme di modularizzazione. Progettazione ''object-oriented''. Classi e modularizzazione in C++.
    • MP - Metodologie di Programmazione
      Programmazione strutturata. Sviluppo programmi ''per raffinamenti successivi''. Ciclo di sviluppo dei programmi. ''Programming-in-the-large'' vs. ''Programming-in-the-small''.

(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa