Logo dell'Università di Catania: Siciliae Studium Generale 1434 Logo del Centro IPPARI, Programmazione
matite e gomma
Loghi istituzionali: Siciliae Studium Generale 1434, Centro ricerche IPPARI, Università di Catania, Facoltà di Scienze Matematiche, Fisiche, Naturali, Insegnamento di Programmazione

Guida rapida all'insegnamento

Programmazione 2

Docente: Giuseppe Scollo

Università di Catania, sede di Comiso (RG)
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Studi in Informatica applicata, AA 2007-8

Logo di Conformità WCAG-1 di Livello Tripla A, W3C-WAI Web Content Accessibility Guidelines 1.0 Validazione XHTML 1.0 Validazione CSS 2

Indice

  1. Guida rapida all'insegnamento
  2. Organizzazione dell'insegnamento
  3. Obiettivi formativi
  4. Attività formative
  5. Relazione con altri insegnamenti
  6. Programma delle lezioni (1)
  7. Programma delle lezioni (2)
  8. Modalità di valutazione
  9. Testi consigliati
  10. Strumenti per l'interazione formativa
  11. Alcuni siti utili

Organizzazione dell'insegnamento

Obiettivi formativi

Acquisizione e sviluppo della capacità di:

Attività formative

L'organizzazione dell'insegnamento prevede 48 ore di lezione (ed esercitazione)

L'acquisizione di metodi e competenze professionali nella disciplina è sostenuta da:

Relazione con altri insegnamenti

Quale bagaglio preliminare è

l'insegnamento di Programmazione 1

Programma delle lezioni (1)

  1. Introduzione ad algoritmi e strutture dati in C++
  2. Principi di progettazione degli algoritmi
  3. Elementi di analisi degli algoritmi
  4. Approssimazione asintotica di funzioni
  5. Ricorrenze e stima delle prestazioni
  6. Tipi di dati elementari
  7. Costrutti di base per strutture dati
  8. Liste concatenate
  9. Elaborazione elementare delle liste
  10. Allocazione di memoria per le liste
  11. Stringhe e array multidimensionali
  12. Liste multiple e rappresentazione di grafi

Programma delle lezioni (2)

  1. Algoritmi e strutture dati per il Problema 3x+1
  2. Riepilogo di fondamenti e strutture dati
  3. Tipi di dati astratti
  4. Sviluppo di ADT generici
  5. Ereditarietà e polimorfismo, ADT code
  6. Code generalizzate, ADT di prima categoria
  7. Ricorsione e induzione
  8. Algoritmi ricorsivi
  9. Programmazione dinamica
  10. Alberi, alberi binari
  11. Algoritmi ricorsivi su alberi binari e su grafi
  12. Riepilogo di ADT e ricorsione

Modalità di valutazione

Il superamento dell'esame porta all'acquisizione di 6 crediti.

Testi consigliati

Testo di riferimento (adottato)

R. Sedgewick
Algoritmi in C++, Terza Edizione: Fondamenti, strutture dati, ordinamento, ricerca
Addison-Wesley, Pearson Education Italia (2003)

Altri testi consigliati (per consultazione)

L. Joyanes Aguilar, Fondamenti di programmazione in C++, McGraw-Hill (2008)

H.M. Deitel, P.J. Deitel, C++, Fondamenti di programmazione, Seconda Edizione, Prentice-Hall, Apogeo (2005)

H.M. Deitel, P.J. Deitel, C++, Tecniche avanzate di programmazione, Seconda Edizione, Prentice-Hall, Apogeo (2006)

M.T. Goodrich, R. Tamassia, D.M. Mount, Data Structures and Algorithms in C++, John Wiley & Sons (2004)

B. Stroustrup, The C++ Programming Language, Third Edition, Addison-Wesley (2004)

Strumenti per l'interazione formativa

Forum e Wiki: cosa va dove?

Alcuni siti utili

Testi liberamente disponibili

Bjarne Stroustrup's C++ Glossary: http://public.research.att.com/~bs/glossary.html

Free electronic book by Bruce Eckel (2 voll): Thinking in C++, 2nd Ed.: http://mindview.net/Books/TICPP/ThinkingInCPP2e.html

Doug Schmidt's C++ Tutorials: http://www.cs.wustl.edu/~schmidt/C++

Strumenti open-source

GCC, the GNU Compiler Collection: http://gcc.gnu.org