AVVISO con l'avvio dell'insegnamento per l'AA2016/17 il sito migrerà verso la piattaforma E-learning ADA del Dipartimento
Corso di Linguaggi di Programmazione [cod. 010194] • corso A [A-L] • CdS Informatica TPS [cod. 7749] • DIB • UniBAOrario A.A. 2015-2016 [Aula II]: lun 9:00-12:00, mer 10:30-13:30, ven 9:00-11:00
Ricevimento vedi orario aggiornato: Scheda UniBA
12/04 | Pubblicati i risultati della prova scritta dell'8° appello. Coloro che hanno superato la prova, iscritti d'ufficio su Esse3 (2 turni), sono convocati alla prova orale / verbalizzazione. Per gli ammessi con riserva [15 ≤ voto ≤ 17] la prova orale integrativa è obbligatoria. NB Per eventuali chiarimenti / visione degli elaborati, si rimanda all'orario di ricevimento (astenersi dall'uso di email). |
01/01 | Con l'avvio dell'insegnamento per l'AA2016/17 il sito migrerà sulla piattaforma E-learning ADA del Dipartimento |
15/11 | Pubblicati i risultati della prova scritta del 6° appello. Coloro che hanno superato la prova, iscritti d'ufficio su Esse3, sono convocati alla prova orale / verbalizzazione del 18 p.v. (come concordato in aula, NON differibile). Calendario ore 10: verbalizzazione diretta; ore 10:15: ammessi con riserva; ore 15: (eventuali) altri, salvo urgenze Per gli ammessi con riserva [15 ≤ voto ≤ 17] la prova orale integrativa è obbligatoria. NB Per eventuali chiarimenti / visione degli elaborati, si rimanda all'orario di ricevimento (astenersi dall'uso di email). |
30/10 | Il ricevimento previsto per martedì 1/11 (festivo) potrà essere recuperato l'indomani alle 15 |
19/09 | Pubblicati i risultati della prova scritta del 5° appello. Gli studenti ammessi sono iscritti d'ufficio e convocati alla prova orale/verbalizzazione del 22 p.v. .
Per gli ammessi con riserva [15 ≤ voto ≤ 17] la prova orale integrativa è obbligatoria.
NB Per eventuali chiarimenti / visione degli elaborati, si rimanda all'orario di ricevimento (astenersi dall'uso di email in sostituzione dello stesso). NBGli studenti la cui prova scritta abbia evidenziato gravi insufficienze (voto < 10) sono pregati di seguire le esercitazioni di tutorato nonché di usare le ore di ricevimento per colmare le lacune prima di ripresentarsi a un appello |
02/09 | Pubblicati i risultati della prova scritta del 4° appello. Gli studenti ammessi sono iscritti d'ufficio e convocati alla prova orale/verbalizzazione del 7 p.v. . Per gli ammessi con riserva [15 ≤ voto ≤ 17] la prova orale integrativa è obbligatoria. NB Per eventuali chiarimenti / visione degli elaborati, si rimanda all'orario di ricevimento (astenersi dall'uso di email in sostituzione dello stesso). |
05/08 | Il ricevimento è sospeso fino a fine mese: riprenderà il 30/8 |
18/07 | Il turno di orali previsto per il 18 è stato rinviato al 20/7. Gli iscritti sono stati avvisati via Esse3. Il ricevimento del 19 è confermato |
12/07 | Pubblicati i risultati della 3^ prova scritta. Gli ammessi sono stati iscritti d'ufficio alla prova orale/verbalizzazione (Aula Hume). È stato inserito un turno aggiuntivo (18/7) per coloro i quali avevano prove concomitanti. Per gli ammessi con riserva [15 ≤ voto ≤ 17] la prova orale è obbligatoria (come recupero). Gli altri possono accettare il voto, una volta verbalizzato dopo la prova orale. NB Per eventuali chiarimenti / visione degli elaborati, si rimanda all'orario di ricevimento (astenersi dall'uso di email in sostituzione dello stesso). |
04/07 | Si prega di evitare di inviare email in sostituzione della prenotazione via Esse3, specie a tempo scaduto. |
27/06 | Pubblicati i risultati della 2^ prova scritta. Per gli ammessi con riserva [15 ≤ voto ≤ 17] la prova orale è obbligatoria (come recupero). Gli altri possono accettare il voto, una volta verbalizzato dopo la prova orale. I non ammessi a causa di insufficienze gravi (voto < 10) o ritiro sono caldamente invitati a colmare le lacune evidenziate prima di partecipare ad una prossima prova. NB Per eventuali chiarimenti / visione degli elaborati, si rimanda all'orario di ricevimento (astenersi dall'uso di email in sostituzione dello stesso). |
24/06 | Il ricevimento di martedì 28 è anticipato alle 9:45 |
20/06 | Si ricorda che non è ammessa la prenotazione via email e che il periodo ha una scadenza da rispettare. I prenotati che si erano ritirati dalla prova precedente sono pregati di riconsiderare l'iscrizione alla luce della preparazione [pochi hanno contattato il docente per chiarimenti]. |
10/06 | Pubblicati i risultati della 1^ prova scritta. Per gli ammessi con riserva [voto<18] la prova orale è ovviamente obbligatoria (come recupero). Gli altri possono accettare il voto, una volta verbalizzato dopo la prova orale. L'iscrizione è aperta per poter indicare in nota l'eventuale richiesta di bonus per prova in itinere e discussione parser. NB Per eventuali chiarimenti / visione degli elaborati, si rimanda all'orario di ricevimento (astenersi dall'uso di email in sostituzione dello stesso). |
25/05 | Lunedì 30/5 (h. 12:30-14) e Mercoledì 1/6 (9:30-11): esercitazioni libere. |
25/05 | Lezioni ultimate. Venerdì 27: simulazione prova d'esame (h. 9.30) |
17/05 | Come da avviso in bacheca el., il ricevimento è rimandato a giovedì (stessa ora) causa partecipazione a collegio di dottorato. |
16/05 | Le ultime lezioni del Mercoledì partiranno dalle 10 (se l'aula è libera) altrimenti dalle 10:30 |
16/04 | Bonus prova in itinere fascia [29-30L]: 5p.; fascia [24-28]: 4p.; fascia [18-23]: 3p.; fascia [14-17]: 2p.; fascia [10-13]: 1p.; altri 0p. |
13/05 | La lezione di Lunedi 16/5 scambierà l'orario con quella di Analisi |
09/05 | Mercoledì 11/5 lezione dalle 9:30-11 in aula II. Dopo la pausa si riprenderà in aula B, p.t. con la parte relativa a leg |
27/04 | Mercoledì 4/5 lezioni sospese per inaugurazione anno accademico. |
22/04 | Nei prossimi mercoledì saranno previsti recuperi: inizio lezione ore 9:30. |
15/04 | Pubblicati i risultati dell'8^ prova scritta. Dopo le 12 saranno verbalizzati i risultati complessivi dell'appello. NB Per eventuali chiarimenti / visione degli elaborati, si rimanda all'orario di ricevimento (astenersi dall'uso di email in sostituzione dello stesso). |
01/04 | A causa di un incontro con ospiti esterni in Aula II, la lezione di venerdì 8/4 si terrà nel pomeriggio (15-17). |
29/03 | Chiarimento: il ricevimento oggi è sospeso. In caso di necessità potrà essere recuperato domani. |
23/03 | Le lezioni riprendono il 30/3 con il nuovo orario. |
16/03 | La prova in itinere si terrà durante la pausa-lezioni [11-15/4]. A breve su Esse3 sarà aperta la prenotazione riservata alle matricole AA2016. |
25/02 | Avviso per le Matricole: Inizio corso AA-2016, Lunedì 29, ore 9, Aula II. Il ritardo iniziale potrà essere recuperato nella lezione del Venerdì. Nota: l'orario è provvisorio con ore di 50' a causa di lavori in corso fino a metà marzo. |
09/02 | Si ricorda di munirsi degli strumenti (peg/leg) indicati per la realizzazione automatica di parser in C. In molte distribuzioni Linux il pacchetto è presente nei repository ufficiali. |
2015 | NB L'insegnamento dall'AA 2015 ha denominazione/codice/programma diversi rispetto agli AA AA precedenti. Cfr. sito del precedente insegnamento |
✐ FINE CORSO AA 2016 ✎ | |
01/06 | Esercitazione: linguaggi liberi: grammatiche, ambiguità, applicazione del pumping lemma |
30/05 | Esercitazione: linguaggi regolari: automi, espr. regolari, applicazione del pumping lemma |
27/05 | Esercitazione: simulazione prova scritta. |
25/05 | Paradigma Funzionale Teorema. Ambienti. Tipi. Oggetti infiniti. Aspetti imperativi. |
23/05 | Paradigma Funzionale Introduzione. Computazione senza stato (riduzione). Valutazione (eager, per nome, lazy). |
20/05 | Paradigma Object-Oriented Esercizi |
18/05 | Paradigma Object-Oriented: Polimorfismo di sottotipo ed universale. Tipi generici in Java. Wildcard. Array. Covarianza e controvarianza. |
16/05 | Paradigma Object-Oriented: Incapsulamento. Sottotipi e gerarchia. Ereditarietà. Selezione dinamica dei metodi. |
13/05 | Paradigma Object-Oriented Limiti degli ADT. Oggetti: principi fondamentali, classi e meccanismi di delega. Memorizzazione. |
11/05 | Astrazione Dati: Tipo di dato astratto, capsula, information hiding. Moduli. Tipi generici |
11/05 | Analisi sintattica con leg Esercizi |
09/05 | Strutture Dati: Tipi composti e costruttori: insiemi, puntatori, tipi ricorsivi, funzioni. Relazioni di Equivalenza e compatibilità. Conversioni tra tipi. Polimorfismo: ad hoc, universale. Dangling reference e Garbage Collection. |
06/05 | Strutture Dati: Tipi e sistemi di tipo. Sicurezza: type checker. Tipi semplici e tipi composti (record, array). |
02/05 | Astrazione sul controllo: astrazione funzionale. Sottoprogrammi. Modalità dei passaggi di parametro. Funzioni di ordine superiore. Eccezioni. |
29/04 | Strutture di controllo: Comandi per il flusso di controllo. Composizione. Salti. Condizionali. Iterazioni. Ricorsione. Ricorsione in coda. |
27/04 | Strutture di controllo: espressioni e loro valutazione. Notazioni: infissa, polacca, polacca inversa. Variabili. Comandi: effetti collaterali. |
27/04 | Gestione della memoria: gestione della memoria e scope statico e dinamico. |
22/04 | Gestione della memoria: statica e dinamica. RDA per blocchi e sottoprogrammi. Liste libere a dim. fissa o variabile, singole e multiple. |
15/04 | Nomi e Ambiente: Regole di scope statico e dinamico. Esercizi. |
18/04 | Nomi e Ambiente: Binding, ambienti, operazioni, blocchi. Regole di scope. Esempi |
11/04 | Prova in itinere. |
08/04 | Esercitazione finale sugli strumenti formali per la specifica dei linguaggi di programmazione |
06/04 | Specifiche di grammatiche peg. Esercitazione su espressioni linguaggi liberi e regolari |
04/04 | Introduzione a peg. Esercitazione su espressioni regolari ed automi |
01/04 | Esercitazione su espressioni regolari ed automi |
30/03 | Analisi Sintattica e Linguaggi Liberi: Esercizi: Pumping Lemma per i ling. liberi e costruzione grammatiche. Algoritmi per First e Follow. Parsing di grammatiche LL(1) guidato da tabella. |
23/03 | Analisi Sintattica e Linguaggi Liberi: Esercizi sui Pumping Lemma. Oltre i linguaggi liberi: teorema della gerarchia. Parsing deterministico: top-down/bottom-up. Forme normali: LL(K), LR(k), Chomsky, Greibach. Trasformazione delle grammatiche libere. Insiemi First e Follow |
21/03 | Analisi Sintattica e Linguaggi Liberi: Richiami sui ling. liberi e le loro grammatiche. Automi a Pila. Corrispondenza. Pumping Lemma per i Linguaggi Liberi. Esercizi |
18/03 | Analisi Lessicale e Linguaggi Regolari: Esercizi su ER -> NFA -> DFA, minimizzazione |
16/03 | Analisi Lessicale e Linguaggi Regolari: Minimizzazione di automi. Pumping Lemma per i Linguaggi Regolari. Esercizi. |
14/03 | Analisi Lessicale e Linguaggi Regolari: Grammatiche Regolari. Corrispondenze tra automi, espressioni e grammatiche regolari (cfr. approfondimenti cap.3 del testo). Esercizi. |
11/03 | Analisi Lessicale e Linguaggi Regolari: Automi a stati finiti: non-deterministici e deterministici. Equivalenza NFA - DFA. Esercizi |
09/03 | Analisi Lessicale e Linguaggi Regolari: Token e lessemi. Operazioni su stringhe e linguaggi. Espressioni regolari. Esercizi |
07/03 | Fondamenti: semantica statica; Problema della fermata, calcolabilità e indecidibilità; Funzioni e programmi |
04/03 | Descrizione dei ling. di programmazione: Compilazione: fasi. Vincoli Contestuali. Semantica. Pragmatica. Semantica operazionale (+esempi) [cfr. approfondimenti 2.1]. Esercizi sulle grammatiche |
02/03 | Descrizione dei ling. di programmazione: introduzione, grammatiche, EBNF, frasi, derivazione, alberi di derivazione, ambiguità. |
29/02 | Macchine astratte: Implementazione (hw,sw,fw). Interpretazione e compilazione. Gerarchia delle macchine astratte. |
29/02 | Organizzazione del corso. |
✐ INIZIO CORSO AA 2016 ✎ |
Programma preliminare [2016], Programma [2015]
[cfr. anche gli argomenti trattati nella sez. Diario]
Data la grammatica di un (frammento di un) linguaggio di programmazione realizzare (mediante strumenti automatici tipo PEG) un programma che implementi: uno scanner per un linguaggio di programmazione di cui viene documentato formalmente il vocabolario; un parser ricorsivo discendente per un frammento di linguaggio di programmazione.
Le esercitazioni svolte per la parte di laboratorio vanno documentate:
eventuali assunzioni fatte, grammatiche EBNF,
specifiche tipo PEG e test di esecuzione (specie i casi di errore).
Ogni gruppo (preferibilmente di 2-3 studenti)
dovrà produrre una soluzione originale del problema. A tal fine può essere utile registrare il proprio parser sul wiki.
Bacheca Appelli presso la segreteria Esse3
colonna a destra, sezione Esami
•
CdS: 7749 • Att.Didattica: 010194