Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di...

10
introduzione al corso 2012-13 (canale L-Z, prof. d’Amore) Corso di Fondamenti di Informatica II

Transcript of Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di...

Page 1: Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di ordinamento – grafi • parte B (modelli): prerequisito: cenni di matematica discreta

introduzione al corso 2012-13 (canale L-Z, prof. d’Amore) Corso di Fondamenti di Informatica II

Page 2: Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di ordinamento – grafi • parte B (modelli): prerequisito: cenni di matematica discreta

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)

Page 3: Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di ordinamento – grafi • parte B (modelli): prerequisito: cenni di matematica discreta

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

Page 4: Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di ordinamento – grafi • parte B (modelli): prerequisito: cenni di matematica discreta

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

Page 5: Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di ordinamento – grafi • parte B (modelli): prerequisito: cenni di matematica discreta

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

Page 6: Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di ordinamento – grafi • parte B (modelli): prerequisito: cenni di matematica discreta

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

Page 7: Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di ordinamento – grafi • parte B (modelli): prerequisito: cenni di matematica discreta

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é

Page 8: Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di ordinamento – grafi • parte B (modelli): prerequisito: cenni di matematica discreta

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

Page 9: Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di ordinamento – grafi • parte B (modelli): prerequisito: cenni di matematica discreta

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

Page 10: Corso di Fondamenti di Informatica II · – mappe, dizionari, alberi di ricerca – algoritmi di ordinamento – grafi • parte B (modelli): prerequisito: cenni di matematica discreta

1/10/2012 sito FI2: www.dis.uniroma1.it/~fiii Pagina 10

facce