Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di...
Transcript of Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di...
introduzione al corso 2012-13 (canale L-Z, prof. d’Amore) Corso di Fondamenti di Informatica II
1/10/2012 sito FI2: www.dis.uniroma1.it/~fiii Pagina 2
il corso
• corso contenente due parti (o “anime”) – A: algoritmi (50%) – M: modelli (50%)
• otto ore settimanali di lezioni/esempi – lunedì (due, a. 1), mercoledì (quattro, a.1),
giovedì (due, a.13) – ore di A e di M fissate – inizio lezioni: 1/10/2011; termine: 21/12/2012
• quattro ore settimanali di esercitazioni in laboratorio – laboratorio v. Tiburtina 205 – ogni venerdì (14 - 15:15) – due aule parallele (17, più un'altra)
• unico docente per tutto il corso – solo canale L-Z – tutori (entrambi i canali): Donatella Firmani, Vincenzo Bonifaci
• la frequenza (aula e laboratorio) è da ritenersi indispensabile
struttura e organizzazione
P.S. Le ore sono da intendersi accademiche (45 minuti)
il corso
descrizione qualitativa degli argomenti • parte A (algoritmi); prerequisito: Fondamenti di informatica I, cenni di
matematica discreta – ricorsione – analisi costo di esecuzione degli algoritmi – alberi – code di priorità – mappe, dizionari, alberi di ricerca – algoritmi di ordinamento – grafi
• parte B (modelli): prerequisito: cenni di matematica discreta – logica e calcolo proposizionale – linguaggi formali, grammatiche ed espressioni regolari – linguaggi regolari e automi a stati finiti – linguaggi context free e automi a pila – macchine di Turing e calcolabilità – complessità e NP-completezza
1/10/2012 sito FI2: www.dis.uniroma1.it/~fiii Pagina 3
argomenti
il corso
• in ciascun incontro in laboratorio viene presentato un problema la cui soluzione richiede l’impiego degli argomenti (strumenti) svolti a lezione (parte A) nelle due ultime settimane
– indispensabile buona dimestichezza con Java!
• il problema potrà riguardare anche temi relativi alla parte M – es.: progettare classi Java che simulino il comportamento di un automa a stati finiti
• l’incontro di norma prevede – introduzione al problema (tutore) – presentazione di alcune classi di supporto e/o ulteriori specifiche (tutore) – attività analisi/progetto/sviluppo (studenti, singolarmente o a gruppi di due/tre) – discussione finale su possibili soluzioni (tutore)
• nell’incontro vengono presentati anche possibili approfondimenti (casi particolari, varianti di problema ecc.) da svolgere successivamente (a casa)
• ogni esercitazione è supportata dal sito Web del corso – il materiale vi comparirà ad inizio esercitazione
• il problema oggetto di esercitazione può essere introduttivo a un homework (v. slide dedicata)
1/10/2012 sito FI2: www.dis.uniroma1.it/~fiii Pagina 4
il laboratorio
1/10/2012 sito FI2: www.dis.uniroma1.it/~fiii Pagina 5
il corso
• l’appartenenza degli studenti ai canali è determinata dall’iniziale del cognome
– programmi/esami/attività di laboratorio dei due canali: identici – non è possibile cambiare canale – è possibile, ma sconsigliato per ragioni di continuità didattica, seguire le lezioni dell’altro canale – docenti del canale A-K: proff. Nanni (A) e Marchetti Spaccamela (M)
• si sostiene l’esame con il docente competente per il canale – la competenza è riferita all’anno in cui si sostiene l’esame!
• sito Web del corso: http://www.dis.uniroma1.it/~fiii/ o http://www.dis.uniroma1.it/%7efiii/ (netbook, notebook)
canali, frequenza, esame, Web
il corso
l’esame è scritto 1. prova di accesso all’esame (nel 2012: 15 min)
– domande a risposta multipla su argomenti elementari della materia – risultato della prova: ammesso o non ammesso – la prova non concorre alla formazione del voto – è prevista una soglia minima di risposte corrette
2. prova scritta di algoritmi (nel 2012: 90 min) – risoluzione scritta di alcuni (tre, di norma) problemi, strutturati in sotto-problemi – voto in trentesimi
3. prova scritta di modelli (nel 2012: 90 min) – risoluzione scritta di alcuni (tre, di norma) problemi, strutturati in sotto-problemi – voto in trentesimi
formazione del voto • media dei voti conseguiti nelle prove di algoritmi e di modelli • è necessario ottenere la sufficienza in entrambi le prove
– se solo una prova è sufficiente se ne può mantenere il risultato per tutto il 2013 – non ci si può presentare all’esame per sostenere solo una delle due prove (a meno che non si sia già
superata l’altra) • il voto finale può essere incrementato attraverso il bonus degli homework (v. slide
dedicata)
1/10/2012 sito FI2: www.dis.uniroma1.it/~fiii Pagina 6
modalità d’esame
gli homework
cosa • problemi di programmazione in Java da risolvere autonomamente a casa, in
un preciso intervallo di tempo (una o due settimane) come • istruzioni di partecipazione pubblicate - al momento opportuno - sul sito del
corso perché • la consegna di un certo numero di homework svolti correttamente incrementa
il voto finale attraverso un bonus di due punti – la correzione è automatica – i contributi consegnati debbono superare un test antiplagio – il bonus non può essere usato per rendere sufficiente il risultato di un esame che non ha raggiunto
18/30
• incentivazione della frequenza del corso (lezioni & laboratorio) – gli homework si basano sugli argomenti svolti a lezione nel periodo immediatamente antecedente
la loro data di pubblicazione – vengono in genere introdotti dagli argomenti svolti in una esercitazione di laboratorio
1/10/2012 sito FI2: www.dis.uniroma1.it/~fiii Pagina 7
cosa, come, perché
materiale di studio
• due libri di testo
– parte A: M. Goodrich, R. Tamassia. Strutture dati e algoritmi in Java. Zanichelli 2007
– parte M: G. Ausiello, F. d'Amore, G. Gambosi. Linguaggi, Modelli, Complessità. Franco Angeli 2003
• varie slide – disponibili sul sito Web del corso – per ragioni di copyright le slide tratte da [GT2007] sono protette da password, comunicata solo a
lezione
• altro materiale – listati, problemi d’esame, esercitazioni svolte, nomi di testi integrativi ecc.: sito Web del corso
1/10/2012 sito FI2: www.dis.uniroma1.it/~fiii Pagina 8
libri, slide, appunti
il docente
Fabrizio d’Amore • Dip. di Ingegneria informatica, automatica e gestionale “Antonio Ruberti”
– già Dip. di Informatica e sistemistica – http://www.dis.uniroma1.it/
• studio: via Ariosto 25, 2° piano, studio B210 – ricevimento: martedì, dalle 14:30 alle 16:30 (prenotare ricevimento tramite Google
Apps su apposito link in http://www.dis.uniroma1.it/~damore/teaching.html) • Web: http://www.dis.uniroma1.it/~damore/ (merita una revisione) • email: [email protected]
– non risponde a messaggi anonimi – non risponde quando la risposta è pubblicata sul Web – non risponde a domande sulla data di esame (che non dipende dal docente) – specificare “oggetto” (subject) esplicativo
• es.: [studente FI2, dubbio su esercizio svolto a lezione] – ricordarsi di specificare il corso, poiché il docente insegna più corsi
• telefono studio – numero sul sito Web del dipartimento – telefonare solo per comunicazioni rapide ed urgenti
1/10/2012 sito FI2: www.dis.uniroma1.it/~fiii Pagina 9
chi, dove, quando
1/10/2012 sito FI2: www.dis.uniroma1.it/~fiii Pagina 10
facce