Programmazione 2 (canale P-Z)

Corsi di Laurea in Informatica/Tecnologie Informatiche

Anno Accademico 2007/08


Stefano Guerrini & Lorenzo Carlucci

guerrini at di.uniroma1.it



[ Lezioni ] [ Sorgenti ] [ Esercitazioni ] [ Corso 2007-08 ] [ Pagina principale ]



APPELLI A.A. 2007/08



ULTIMO APPELLO

10 febbraio 2009

Risultati dello scritto del 10/02/2009
Ammessi all'orale

L'orale si terrà giovedì 12/02 alle ore 10.00
in Sala Riunioni
(Dipartimento di Informatica, via Salaria 113)


Appelli Passati


Appello riservato a studenti immatricolati entro l'a.a. 2005/06:
18 giugno 2008

Risultati appello del 18 giugno 2008


Appello di fine corso (integrato con Programmazione 1):
1 luglio 2008

Risultati appello del 1 luglio 2008


Appello di recupero:
3 settembre 2008

L'orale si terrà venerdì 5 settembre
in aula alfa a partire dalle ore 9.30

Risultati scritto del 3 settembre 2008


Risultati esonero del 23 aprile 2008

Homework

Gli studenti che invieranno entro il 31 maggio tutti o alcuni degli esercizi proposti come homework potranno acquisire sino a un massimo di 2 punti da aggiungere al voto d'esame.


L'elenco degli homework ricevuti con la corrispondente
valutazione è disponibile alla seguente pagina web:

Valutazione Homework

N.B. Per poter ottenere l'incremento dei punti indicato,
gli studenti dovranno sostenere l'esame entro settembre.
Inoltre, all'orale dell'esame gli studenti dovranno essere in grado di
descrivere gli algoritmi usati per risolvere gli homework.





Orario delle Lezioni

Le lezioni si tengono in Aula 5 di Matematica

  • Lunedì 14.00-16.00

  • Mercoledì 14.00-16.00

Ricevimento

Durante il periodo delle lezioni, Martedì dalle 11.00 alle 12.00, nell'ufficio del docente in via Salaria.

Al termine del corso, su appuntamento, se non verrà comunicato un altro orario di ricevimento.

Passaggi di canale

Possono sostenere l'esame con le modalità e negli appelli di questo canale:

  1. gli studenti del primo anno regolarmente afferenti al canale P-Z, ovvero
    • gli studenti del primo anno con iniziale del cognome nell'intervallo P-Z che all'inizio dell'anno non hanno richiesto e ottenuto il passaggio ad un altro canale,
    • gli studenti del primo anno che all'inizio dell'anno hanno richiesto e ottenuto il passaggio al canale P-Z;
  2. gli studenti iscritti ad anno successivo al primo o fuori corso con iniziale del cognome nell'intervallo P-Z;
  3. gli studenti che non rientrano nella categorie precedenti che entro il 30 marzo segnalano al docente (via e-mail) di voler sostenere l'esame negli appelli e con il programma di questo canale.

NOTA! Come da regolamento del corso di laurea, la suddivisione per canali vale solo per gli studenti del primo anno, gli altri studenti possono decidere di frequentare e sostenere gli esami negli appelli e con il programma di questo canale indipendentemente dall'iniziale del cognome. Si fa però notare che, questa scelta deve corrispondere all'effettiva intenzione di frequentare le lezioni o quantomeno di studiare il programma di questo canale e che, una volta scelto il canale a cui si intende afferire non è possibile sostenere gli esami con gli altri canali. Per questo motivo, gli studenti che in base all'iniziale del cognome non afferirebbero a questo canale devono segnalare al docente che intendono passare al suo canale entro un mese dall'inizio delle lezioni.

Programma ( -- Bozza non definitiva -- )

Richiami di programmazione ricorsiva: i fondamenti della ricorsione; lo stack delle chiamate ricorsive; esempi di programmi ricorsivi su vettori e matrici. Richiami su strutture dinamiche ricorsive: le liste.

Efficienza degli algoritmi: spazio e tempo. Lo spazio: stack e heap. Il tempo: costo delle operazioni elementari, costo di un ciclo, operazione dominante, caso peggiore, analisi asintotica. Analisi di un esempio: ricerca lineare e ricerca dicotomica. Caso peggiore e caso medio: le tavole hash.

Commentare i programmi: descrizione dell'algoritmo, asserzioni sui dati, condizioni di ingresso e uscita delle funzioni. Generazione automatica della documentazione.

Strutturazione dei programmi: sottoprogrammi e moduli. Tipi di dato astratti.

Pile e code: definizione e implementazione mediante liste e vettori. Pile e programmi ricorsivi. Implementazione dello stack delle chiamate di funzione. Dalla ricorsione all'iterazione. Ricorsione in coda.

Invarianti e verifica della correttezza di un ciclo. Invarianti come strumenti di progettazione di cicli. Applicazione del metodo al problema dell'ordinamento.

Alberi binari: definizione e implementazione. Semplici proprietà degli alberi binari. Visite ricorsive di alberi binari. Generalizzazione ad alberi n-ari. Esempi di alberi binari: gli alberi binari di ricerca.

Alberi e foreste: definizione e implementazione. Rappresentazione di alberi e foreste mediante alberi binari.

Testing: scelta dei dati di test. Black-box testing: analisi e suddivisione in classi dei dati di input; analisi dei casi di confine. Glass-box testing: copertura delle istruzioni e dei cammini; casi limite o rilevanti.

Materiale didattico

Il principale materiale didattico sono i lucidi e gli esempi mostrati a lezione e pubblicati sulla pagina delle lezioni.

Libri consigliati

Per una introduzione graduale al linguaggio C, si segnalano:

  • Al Kelley, Ira Phol. C - Didattica e Programmazione. Pearson Education Italia, 2004.
  • Deitel. C - Corso completo di programmazione. Apogeo, 2004.

Il miglior riferimento per lo studio del linguaggio C rimane comunque:

  • Brian W. Kernighan, Dennis M. Ritchie. Il linguaggio C - Principi di programmazione e manuale di riferimento. Pearson Education Italia, 2004.

Si segnalano inoltre:

  • Brian W. Kernighan, Rob Pike. Programmazione nella pratica. Pearson Education Italia, 1999.
  • Jon Bentley. Programming Pearls, Second Edition. Addison-Wesley, Inc., 2000. (parzialmente disponibile online)

Modalità di Esame

...

Esoneri

La prima prova intermedia si terrà mercoledì 23 aprile alle ore 14.00 in aula 5 di matematica. (orario e aula della lezione del mercoledì).

Si controlli anche la comunicazione ufficiale alla pagina degli orari lezioni e esami del corso di laurea.

È fortemente raccomandata la prenotazione: Cliccare qui per accedere al foglio prenotazioni.

Date degli Appelli

Saranno pubblicate sulla pagina degli orari lezioni e esami del corso di laurea.

Argomenti delle Lezioni

Il calendario delle lezioni, gli argomenti svolti e materiale didattico di supporto sono disponibili sulla pagina delle lezioni svolte e degli argomenti trattati.

Esercitazioni

Gli argomenti delle esercitazioni, il codice dei programmi svolti durante le esercitazioni, esercizi integrativi ed altro materiale di supporto sono disponibili sulla pagina delle esercitazioni del corso.

Anni precedenti


-- StefanoGuerrini - 26 Mar 2007

Topic attachments
I Attachment History Action Size Date Who CommentSorted ascending
PDFpdf Homework.pdf r1 manage 84.1 K 2008-05-13 - 10:15 StefanoGuerrini Homework su alberi binari
PDFpdf Voti080701.pdf r1 manage 18.9 K 2008-07-03 - 05:24 StefanoGuerrini  
PDFpdf Voti080903.pdf r1 manage 15.7 K 2008-09-04 - 12:28 StefanoGuerrini  
Edit | Attach | Watch | Print version | History: r17 < r16 < r15 < r14 < r13 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r17 - 2009-02-11 - StefanoGuerrini






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback