Informazioni
Questa pagina contiene informazioni riguardo al corso.
Trovate altre informazioni su
Moodle, incluso il link Zoom per partecipare alle lezioni e le lezioni
precedentemente registrate.
Testi di riferimento:
Per il laboratorio su Java, potete anche fare riferimento a questo testo,
ignorando le parti relative all'orientamento agli oggetti.
- Java. A Beginner's Guide. Herbert Schildt. Oracle Press.
Letture avanzate per chi desidera approfondire:
- Introduzione agli algoritmi e strutture dati.
Cormen, Leiserson, Rivest, Stein.
McGraw-Hill Education.
- The formal semantics of programming languages: an introduction.
Winskel.
MIT press. (disponibile anche in Italiano)
Si ricorda che il syllabus del corso è su
ESSE3.
Ricevimento
Il ricevimento viene svolto su appuntamento. Per richiederlo basta
mandarmi una email.
Note
Durante il corso verrà reso disponibile il materiale mostrato a lezione.
Le presentazioni sono in formato Open Document, e leggibili su tutti i principali sistemi operativi
usando per esempio LibreOffice.
Dove questo non sia possibile, le metto a disposizione anche in formato
PDF.
- Parte 2
(PDF)
- insiemistica e notazione
- Parte 3
(PDF)
- definizioni ricorsive e punti fissi
- Parte 3b
(PDF)
- ulteriori esempi su definizioni ricorsive
- Parte 4
(PDF)
- programmazione imperativa: sintassi e semantica
- Parte 5
(PDF)
- programmazione imperativa: dimostrazioni di correttezza sui programmi
- Parte 5b
(PDF)
- programmazione imperativa: dimostrazione del teorema di correttezza
Esercizi sulla parte di teoria
Le presentazioni di sopra contengono a tratti qualche esercizio sulla parte
di teoria. Durante il corso verranno resi disponibili
ulteriori esercizi teorici.
Contribuire al materiale
Un rappresentante degli studenti ha manifestato il desiderio di alcuni
studenti di contribuire al materiale didattico. Sentitevi liberi di
inviarmi correzioni, migliorie, esempi, o quant'altro vi sembra sia
opportuno. Valuterò l'inclusione del vostro materiale tra quello ufficiale
del corso. Chi volesse modificare le presentazioni deve installare,
oltre a LibreOffice, anche
LaTeX e
TeXMaths.
Nella configurazione di TeXMaths dovete specificare
questo file come file di preambolo LaTeX.
Tutorato e esercizi proposti
Verrà attivato durante il corso il tutorato di Informatica.
I tutor saranno disponibili a dialogare con gli studenti
in un incontro settimanale.
Agli studenti sarà quindi possibile
chiarire eventuali dubbi inerenti alla parte di teoria del corso.
Dopo l'attivazione del tutorato, ogni settimana verranno
proposti alcuni esercizi da svolgere
a casa, in modo da poterli consegnare e verificare assieme ai tutor
durante le ore di tutorato.
Gli esercizi saranno disponibili su
Moodle.
Le soluzioni degli esercizi possono essere consegnate online,
sempre su Moodle, inviando una foto leggibile del loro elaborato
(con tanto di nome e matricola).
La consegna degli esercizi è facoltativa ma raccomandata.
Gli studenti che consegnano le soluzioni di almeno il 58%
dei fogli di esercizi proposti, entro le scadenze, e risolvendoli
correttamente o almeno mostrando un serio tentativo, ricevono un punto
bonus (+1/30) al voto dell'esame (se inferiore a 30/30).
Gli studenti che non possono (o non vogliono) partecipare al tutorato in
presenza, ma che vogliono comunque consegnare gli esercizi, possono farlo.
Laboratorio
Durante le esercitazioni in aula PC, seguiremo questi esempi ed esercizi:
Oltre agli esercizi proposti in classe, potete trovare
un elenco di esercizi aggiuntivi su
Project Euler.
Per il ricevimento su argomenti di laboratorio potere chiedere un
appuntamento, oltre a me, anche all'esercitatore
Michele Romani.
Potete anche accedere anche al materiale fornito negli anni precedenti
(sito del laboratorio AA 2017/18 -
sito del laboratorio AA 2016/17 -
sito AA 2015/16 -
sito AA 2014/15 -
sito AA 2013/14).
Per chi desidera approfindire, mettiamo a disposizione anche
alcuni esempi aggiuntivi di
programmi Java che illustrano alcuni costrutti del linguaggio.
Esami
La prova d'esame è composta da due parti: una parte pratica e una
parte teorica, svolte lo stesso giorno.
La parte pratica dura 1 ora e consiste in esercizi di programmazione
in Java al computer. Viene valutata fino a 10 punti.
Una valutazione minore di 5 punti per la parte pratica comporta il non superamento dell'intera prova d'esame per l'appello corrente.
La parte teorica dura 2 ore e consiste in esercizi teorici su carta.
Viene valutata fino a 20 punti.
Una valutazione minore di 10 punti per la parte pratica comporta il
non superamento dell'intera prova d'esame per l'appello corrente.
Allo studente può venire chiesto di fornire alcune definizioni,
enunciati o dimostrazioni affrontati durante il corso. Inoltre, gli
esercizi d'esame possono richiedere, per esempio, di dimostrare una
proprietà data usando qualche teorema visto nel corso, o di
giustificare formalmente la correttezza di un piccolo programma.
La prova d'esame viene quindi superata se si raggiungono almeno 18 punti
nelle due parti.
Si rimanda al syllabus del corso per ulteriori informazioni.
La prova d'esame viene svolta a libro chiuso.
Se sono stati svolti gli esercizi proposti per il tutorato durante il corso,
come descritto sopra, il voto viene aumentato
di un punto (+1/30) se inferiore a 30/30.
Anche senza questo punto bonus, è comunque
possibile raggiungere qualunque punteggio, inclusa la lode.
I voti della prova d'esame vengono comunicati dal sistema ESSE3.
È possibile "rifiutare" il voto su ESSE3, e in quel caso
il voto viene annullato definitivamente, senza possibilità di
recupero in un appello. A tutti gli effetti, l'intera prova
si considera non superata (e non verbalizzata) -- quindi lo studente
dovrà ripetere la prova in un appello successivo.
Il non superamento di una prova d'esame non invalida l'eventuale punto bonus
relativo agli esercizi proposti, che continuerà ad applicarsi
a tutte le prove successive fino al quinto appello incluso.
La partecipazione a una prova d'esame comporta il rifiuto di un eventuale
voto su ESSE3 dei voti negli appelli precedenti, anche nel caso non
si consegnino le proprie risposte.
In questo caso, è compito dello studente rifiutare il voto
precedente su ESSE3 prima di presentarsi all'esame.
Gli studenti che hanno superato l'esame con 30
e che ambiscono alla lode possono richiedere un orale integrativo.
Tale orale contiene domande e/o esercizi volutamente impegnativi,
visto il suo obiettivo -- la lode è intenzionalmente
ardua da ottenere.
L'orale può anche alterare il voto negativamente
se rivela lacune significative, anche se il non raggiungimento della
lode non comporta necessariamente l'abbassamento del voto
(caveat discipulus!).
Non vengono svolti esami orali in altri casi.
Vi ricordo di iscrivervi su ESSE3
per i vari appelli. In caso di problemi su ESSE3 mandatemi una mail per
iscrivervi.
- Appello 1
- Previsto per il 2027-01-??
- Appello 2
- Previsto per il 2027-02-??
- Appello 3
- Previsto per il 2027-06-??
- Appello 4
- Previsto per il 2027-07-??
- Appello 5
- Previsto per il 2027-09-??
Non verranno fatti appelli straordinari "su richiesta".
Esami passati
Si fa notare che prima dell'anno accademico 2026/27, le prove scritte
sotto duravano 2 ore e mezza. A partire dall'anno accademico 2026/27
la prova teorica viene ridotta a due ore, e il numero di esercizi
viene coerentemente diminuito.
- Appello 1
- Progetto: da consegnare entro il 15 giugno 2014 (incluso) -
valutazione
- Scritto: 2014-06-25 ore 14:30 aula A104 -
soluzioni
- Appello 2
- Progetto: da consegnare entro il 5 luglio 2014 (incluso) -
valutazione
- Scritto: 2014-07-15 ore 14:30 aula A104 -
soluzioni
- Appello 3
- Progetto: da consegnare entro il 31 agosto 2014 (incluso) -
valutazione
- Scritto: 2014-09-10 ore 14:30 aula A104 -
soluzioni
- Appello 4
- Progetto: da consegnare entro il 6 gennaio 2015 (incluso) -
valutazione
- Scritto: 2015-01-16 ore 14:30 aula A207 -
soluzioni
- Appello 5
- Progetto: da consegnare entro il 23 gennaio 2015 (incluso) -
valutazione
- Scritto: 2015-02-02 ore 14:30 aula A207 -
soluzioni
- Appello 1
- Progetto: da consegnare entro il 2015-06-08 (incluso) -
valutazione
- Scritto: previsto per 2015-06-22 ore 14:30 -
soluzioni
- Appello 2
- Progetto: da consegnare entro il 2015-07-01 (incluso) -
valutazione
- Scritto: previsto per 2015-07-13 ore 14:30 -
soluzioni
- Appello 3
- Progetto: da consegnare entro il 2015-08-31 (incluso) -
valutazione
- Scritto: previsto per 2015-09-11 ore 14:30 -
soluzioni
- Appello 4 AA 2014/15 - Appello 1 AA 2015/16
- Appello 5 AA 2014/15 - Appello 2 AA 2015/16
- Appello 3 AA 2015/16
- Progetto: da consegnare entro il 2016-06-06 (incluso) -
valutazione
- Scritto: previsto per 2016-06-20 ore 14:30 -
soluzioni
- Appello 4 AA 2015/16
- Progetto: da consegnare entro il 2016-06-27 (incluso) -
valutazione
- Scritto: previsto per 2016-07-12 ore 14:30 -
soluzioni
- Appello 5 AA 2015/16
- Progetto: da consegnare entro il 2016-08-26 (incluso) -
valutazione
- Scritto: previsto per 2016-09-09 ore 14:30 -
soluzioni
- Appello 1
- Progetto: da consegnare entro il 2017-01-09 (incluso) -
valutazione
- Scritto: previsto per il 2017-01-23 ore 14:30 -
soluzioni
- Appello 2
- Progetto: da consegnare entro il 2017-01-30 (incluso) -
valutazione
- Scritto: previsto per il 2017-02-13 ore 14:30 -
soluzioni
- Appello 3
- Progetto: da consegnare entro il 2017-06-12 (incluso) -
valutazione
- Scritto: previsto per il 2017-06-27 ore 14:30 -
soluzioni
- Appello 4
- Progetto: da consegnare entro il 2017-07-07 (incluso) -
valutazione
- Scritto: previsto per il 2017-07-24 ore 14:30 -
soluzioni
- Appello 5
- Progetto: da consegnare entro il 2017-08-25 (incluso) -
valutazione
- Scritto: previsto per il 2017-09-11 ore 14:30 -
soluzioni
- Appello 1
- Progetto: da consegnare entro il 2018-01-08 (incluso) -
valutazione
- Scritto: previsto per il 2018-01-22 ore 14:30 -
soluzioni
- Appello 2
- Progetto: da consegnare entro il 2018-01-29 (incluso) -
valutazione
- Scritto: previsto per il 2018-02-12 ore 14:30 -
soluzioni
- Appello 3
- Progetto: da consegnare entro il 2018-06-07 (incluso) -
valutazione
- Scritto: previsto per il 2018-06-22 ore 14:30 -
soluzioni
- Appello 4
- Progetto: da consegnare entro il 2018-07-08 (incluso) -
valutazione
- Scritto: previsto per il 2018-07-23 ore 14:30 -
soluzioni
- Appello 5
- Progetto: da consegnare entro il 2018-08-21 (incluso) -
valutazione
- Scritto: previsto per il 2018-09-05 ore 14:30 -
soluzioni
- Appello 1
- Progetto: da consegnare entro il 2019-01-07 (incluso)
- valutazione
- Scritto: previsto per il 2019-01-18 ore 14:30 -
soluzioni
- Appello 2
- Progetto: da consegnare entro il 2019-01-25 (incluso)
- valutazione
- Scritto: previsto per il 2019-02-07 ore 14:30 -
soluzioni
- Appello 3
- Progetto: da consegnare entro il 2019-06-10 (incluso)
- valutazione
- Scritto: previsto per il 2019-06-24 ore 14:30 -
soluzioni
- Appello 4
- Progetto: da consegnare entro il 2019-07-04 (incluso)
- valutazione
- Scritto: previsto per il 2019-07-18 ore 14:30 -
soluzioni
- Appello 5
- Progetto: da consegnare entro il 2019-08-22 (incluso)
- valutazione
- Scritto: previsto per il 2019-09-05 ore 14:30 -
soluzioni
- Appello 1
- Progetto: da consegnare entro il 2020-01-08 (incluso)
- valutazione
- Scritto: previsto per il 2020-01-20 ore 14:30
- soluzioni
- Appello 2
- Progetto: da consegnare entro il 2020-01-27 (incluso)
- valutazione
- Scritto: previsto per il 2020-02-10 ore 14:30
- soluzioni
- Appello 3
- Progetto: da consegnare entro il 2020-06-08 (incluso)
- valutazione
- Scritto: previsto per il 2020-06-22 ore 14:30
- soluzioni
- Appello 4
- Progetto: da consegnare entro il 2020-07-06 (incluso)
- valutazione
- Scritto: previsto per il 2020-07-20 ore 14:30
- soluzioni
- Appello 5
- Progetto: da consegnare entro il 2020-08-31 (incluso)
- valutazione
- Scritto: previsto per il 2020-09-11 ore 14:30
- soluzioni
- Appello 1
- Progetto: da consegnare entro il 2021-01-12 (incluso) -
valutazione
- Scritto: previsto per il 2021-01-27 -
soluzioni
- Appello 2
- Progetto: da consegnare entro il 2021-02-02 (incluso) -
valutazione
- Scritto: previsto per il 2021-02-15 -
soluzioni
- Appello 2bis (appello straordinario causa COVID)
- Progetto: da consegnare entro il 2021-03-21 (incluso) -
valutazione
- Scritto: previsto per il 2021-03-31 -
soluzioni
- Appello 3
- Progetto: da consegnare entro il 2021-06-14 (incluso) -
valutazione
- Scritto: previsto per il 2021-06-28 -
soluzioni
- Appello 4
- Progetto: da consegnare entro il 2021-07-12 (incluso) -
valutazione
- Scritto: previsto per il 2021-07-26 -
soluzioni
- Appello 5
- Progetto: da consegnare entro il 2021-08-23 (incluso) -
valutazione
- Scritto: previsto per il 2021-09-03 -
soluzioni
- Appello 1
- Progetto: da consegnare entro il 2022-01-10 (incluso) -
valutazione
- Scritto: previsto per il 2022-01-24 -
soluzioni
- Appello 2
- Progetto: da consegnare entro il 2022-01-31 (incluso) -
valutazione
- Scritto: previsto per il 2022-02-14 -
soluzioni
- Appello 3
- Progetto: da consegnare entro il 2022-06-10 (incluso) -
valutazione
- Scritto: previsto per il 2022-06-24 -
soluzioni
- Appello 4
- Progetto: da consegnare entro il 2022-07-04 (incluso) -
valutazione
- Scritto: previsto per il 2022-07-18 -
soluzioni
- Appello 5
- Progetto: da consegnare entro il 2022-08-26 (incluso) -
valutazione
- Scritto: previsto per il 2022-09-09 -
soluzioni
- Appello 1
- Progetto: da consegnare entro il 2023-01-09 (incluso) -
valutazione
- Scritto: previsto per il 2023-01-23 -
soluzioni
- Appello 2
- Progetto: da consegnare entro il 2023-01-30 (incluso) -
valutazione
- Scritto: previsto per il 2023-02-13 -
soluzioni
- Appello 3
- Progetto: da consegnare entro il 2023-06-14 (incluso) -
valutazione
- Scritto: previsto per il 2023-06-28 -
soluzioni
- Appello 4
- Progetto: da consegnare entro il 2023-07-10 (incluso) -
valutazione
- Scritto: previsto per il 2023-07-24 -
soluzioni
- Appello 5
- Progetto: da consegnare entro il 2023-08-25 (incluso) -
valutazione
- Scritto: previsto per il 2023-09-08 -
soluzioni
- Appello 1
- Progetto: da consegnare entro il 2024-01-14 (incluso) -
valutazione
- Scritto: previsto per il 2024-01-29 -
soluzioni
- Appello 2
- Progetto: da consegnare entro il 2024-02-04 (incluso) -
valutazione
- Scritto: previsto per il 2024-02-19 -
soluzioni
- Appello 3
- Progetto: da consegnare entro il 2024-06-10 (incluso) -
valutazione
- Scritto: previsto per il 2024-06-24 -
soluzioni
- Appello 4
- Progetto: da consegnare entro il 2024-07-01 (incluso) -
valutazione
- Scritto: previsto per il 2024-07-15 -
soluzioni
- Appello 5
- Progetto: da consegnare entro il 2024-08-26 (incluso) -
valutazione
- Scritto: previsto per il 2024-09-04 -
soluzioni
- Appello 1
- Progetto: da consegnare entro il 2025-01-15 (incluso) -
valutazione
- Scritto: previsto per il 2025-01-30 -
soluzioni
- Appello 2
- Progetto: da consegnare entro il 2025-02-04 (incluso) -
valutazione: vedi Moodle
- Scritto: previsto per il 2025-02-19 -
soluzioni
- Appello 3
- Progetto: da consegnare entro il 2025-06-09 (incluso) -
valutazione: vedi Moodle
- Scritto: previsto per il 2025-06-23 -
soluzioni
- Appello 4
- Progetto: da consegnare entro il 2025-06-30 (incluso) -
valutazione: vedi Moodle
- Scritto: previsto per il 2025-07-14 -
soluzioni
- Appello 5
- Progetto: da consegnare entro il 2025-08-20 (incluso) -
valutazione: vedi Moodle
- Scritto: previsto per il 2025-09-01 -
soluzioni
- Appello 1
- Progetto: da consegnare entro il 2026-01-12 (incluso)
- Scritto: previsto per il 2026-01-26 -
soluzioni
- Appello 2
- Progetto: da consegnare entro il 2026-02-05 (incluso)
- Scritto: previsto per il 2026-02-19 -
soluzioni
- Appello 3
- Progetto: da consegnare entro il 2026-06-10 (incluso)
- Scritto: previsto per il 2026-06-24 -
soluzioni
- Appello 4
- Progetto: da consegnare entro il 2026-07-06 (incluso)
- Scritto: previsto per il 2026-07-21 -
soluzioni
- Appello 5
- Progetto: da consegnare entro il 2026-08-24 (incluso)
- Scritto: previsto per il 2026-09-04 -
soluzioni
Curiosità: formalizzazioni
Questi file contengono delle formalizzazioni di alcune
delle parti di teoria viste durante il corso.
Sono da considerarsi materiale
avanzato, assolutamente
non necessario ai fini dell'esame.
In questo corso vengono solo proposte come curiosità.
Chi vuole sperimentare con esse può farlo usando il proof assistant Coq,
che si lancia col comando coqide.
Home -
Teaching
Roberto Zunino, 2025