Progettazione e Analisi di Algoritmi
(Prof. Roberto Cordone)
Risultati degli appelli
Appello del 31 marzo 2010
Appello del 10 dicembre 2009
Appello del 4 novembre 2009
Appello del 17 settembre 2009
Appello del 16 luglio 2009
Appello del 11 giugno 2009
Appello del 17 aprile 2009
Appello del 12 febbraio 2009
Appello del 15 gennaio 2009
Alcune avvertenze generali sul corso
- Generalità (23 settembre 2008): informazioni generali sul corso
- Prima lezione (23 settembre 2008): problemi, istanze, soluzioni e linguaggi formali
- Seconda lezione (25 settembre 2008): automi a stati finiti, automi con pila, reti di Petri, macchina di Turing, macchina RAM
- Terza lezione (30 settembre 2008): modelli computazionali, UTM e innumerabilità dei problemi
- Quarta lezione e primo laboratorio (2 ottobre 2008): le liste come tipo di dati astratto
- Dispensa sul laboratorio di algoritmi (utile per la parte pratica dell'esame:
guardarsi almeno la lezione 2 sulle liste)
- Quinta lezione (7 ottobre 2008): definizioni di complessità e complessità asintotica
- Sesta lezione e secondo laboratorio (9 ottobre 2008): un simulatore di Macchina di Turing
- Settima lezione (16 ottobre 2008): complessità di problemi
- Ottava lezione (30 ottobre 2008): la classe NP
- Nona lezione (4 novembre 2008): trasformazioni e riduzioni polinomiali
- Decima lezione (4 novembre 2008, recupero del 14 ottobre): NP-completezza
- Riduzione di SAT al Vertex Colouring: il gadget per rappresentare le porte logiche AND
- Undicesima, dodicesima e tredicesima lezione (6, 11 e 13 novembre 2008): progetto di algoritmi per induzione matematica
- Quattordicesima lezione e terzo laboratorio (18 novembre 2008): un algoritmo ricorsivo progettato per induzione (ricerca della coppia di punti più vicini)
- Quindicesima lezione e quarto laboratorio (20 novembre 2008): un algoritmo iterativo progettato per induzione (eliminazione di intervalli dominati)
- Sedicesima e diciassettesima lezione (25 novembre e 2 dicembre 2008):
- Diciottesima lezione (4 dicembre 2008): algoritmi iterativi
- Diciannovesima lezione (9 dicembre 2008): Dispensa sugli algoritmi iterativi
- Bicchieri: un problemino sugli invarianti di ciclo
- Tasselli: un altro problemino sugli invarianti di ciclo
- Ventesima lezione (11 dicembre 2008): complessità degli algoritmi iterativi
- Quinto laboratorio (16 e 18 dicembre 2008)
- Dispensa sugli algoritmi di branching (utile per il progetto)
Avvertenze per il laboratorio:
In laboratorio hanno installato il compilatore Dev C++, che è un
ambiente di sviluppo integrato piuttosto semplice, ma completo (si può scaricare
dal sito della Bloodshed Software).
Ogni tanto presenta qualche problema, ma in generale funziona bene.
In alternativa, per chi ci si orientasse bene, è disponibile il Visual.Net
Altri buoni compilatori C gratuiti per ambiente Windows (in Unix e Linux, ovviamente,
c'è il gcc) sono (elenco tutt'altro che esaustivo)
Perché programmiamo in C?
Una finta (verosimile?) intervista
a Bjarne Stroustrup a proposito del C++
Pagina aggiornata il