{"id":243,"date":"2013-10-10T10:24:55","date_gmt":"2013-10-10T09:24:55","guid":{"rendered":"http:\/\/collab.di.uniba.it\/~fabio\/corsi\/?page_id=243"},"modified":"2015-01-12T17:33:46","modified_gmt":"2015-01-12T16:33:46","slug":"linguaggi-di-programmazione-lab-brindisi","status":"publish","type":"page","link":"https:\/\/collab.di.uniba.it\/fabio\/teaching\/linguaggi-di-programmazione-lab-brindisi\/","title":{"rendered":"Linguaggi di Programmazione + Lab. (Brindisi) &#8212; [DISATTIVATO]"},"content":{"rendered":"<p><strong>Prerequisiti<\/strong><\/p>\n<ul>\n<li>Architettura degli elaboratori<\/li>\n<li>Programmazione<\/li>\n<li>Conoscenza del linguaggio C<\/li>\n<\/ul>\n<p><strong>Modalit\u00e0 d&#8217;esame<\/strong><\/p>\n<p>E&#8217; necessario prenotarsi all&#8217;esame di laboratorio, utilizzando il sistema di prenotazione ESSE3.<\/p>\n<p><em>Per i frequentanti che hanno passato l&#8217;esonero (c&#8217;\u00e8\u00a0tempo fino all&#8217;appello di settembre per sostenere la prova orale):<\/em><\/p>\n<ul>\n<li>Svolgere le due assegnazioni di laboratorio (vedi sotto) da discutere durante la prova orale.<\/li>\n<li>Durante la prova orale non sono previste domande sulla parte frontale, a meno che durante la discussione non sia dia evidenza di non aver compreso qualcosa.<\/li>\n<\/ul>\n<p><em>Per non frequentanti \/ non esonerati:<\/em><\/p>\n<ul>\n<li>Prova scritta con domande chiuse e aperte su tutto il programma (sia parte frontale sia laboratorio) &#8211; <span style=\"text-decoration: underline;\"><em>non \u00e8 consentito svolgere prova scritta e orale in due appelli separati<\/em><\/span>.<\/li>\n<li>Svolgere le due assegnazioni di laboratorio (vedi sotto) da discutere durante la prova orale.<\/li>\n<li>Prova orale con discussione della prova scritta e delle assegnazioni.<\/li>\n<\/ul>\n<p><strong>Programma del corso<br \/>\n<\/strong><\/p>\n<ul>\n<li><i>Parte frontale: Linguaggi di programmazione e compilatori<\/i><\/li>\n<\/ul>\n<ol>\n<li>Macchine astratte\n<ol>\n<li>La nozione di macchina astratta e interprete<\/li>\n<li>Implementazione di un linguaggio<\/li>\n<li>Gerarchia di macchine astratte<\/li>\n<li>L&#8217;evoluzione dei linguaggi di programmazione<\/li>\n<\/ol>\n<\/li>\n<li>Descrivere un linguaggio di programmazione\n<ol>\n<li>Livelli di descrizione<\/li>\n<li>Grammatica e sintassi<\/li>\n<li>Grammatiche libere<\/li>\n<li>Vincoli sintattici e contestuali<\/li>\n<li>Compilatori<\/li>\n<li>Semantica<\/li>\n<li>Pragmatica<\/li>\n<li>Implementazione<\/li>\n<\/ol>\n<\/li>\n<li>Analisi lessicale: i linguaggi regolari\n<ol>\n<li>Analissi lessicale<\/li>\n<li>Espressioni regolari<\/li>\n<li>Automi finiti non deterministici (NFA) e deterministici (DFA) e loro equivalenza<\/li>\n<li>Da espressioni regolari ad automi finiti<\/li>\n<li>Automi finiti e grammatiche<\/li>\n<li>Minimizzazione di DFA (cenni)<\/li>\n<li>Pumping Lemma<\/li>\n<\/ol>\n<\/li>\n<li>Analisi sintattica: linguaggi liberi\n<ol>\n<li>Linguaggi liberi da contesto<\/li>\n<li>Automa a pila (PDA) (cenni)<\/li>\n<li>PDA deterministici<\/li>\n<li>Pumping Lemma per linguaggi liberi (cenni)<\/li>\n<li>Analizzatori sintattici Top-down e Bottom-up<\/li>\n<li>Forma normale di Chomsky per le grammatiche libere<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<ul>\n<li><i>Laboratorio: assegnazioni\u00a0(da presentare\u00a0alla prova orale)<br \/>\n<\/i><\/li>\n<\/ul>\n<ol>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/0y9ntjnn5ucz95l\/assegnazione%20grammar%20reader.zip\" target=\"_blank\">Realizzazione di programma C per la lettura di\u00a0grammatiche<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/4bjalphr03jdaj8\/assegnazione%20DFA.zip\" target=\"_blank\">Realizzazione di un automa a stati finiti (DFA) in C<\/a><\/li>\n<\/ol>\n<p><strong>Dispense<\/strong><\/p>\n<ul>\n<li><em>Frontale<\/em><\/li>\n<\/ul>\n<ol>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/ad17kqq44iyktw0\/0-Introduzione%20al%20Corso%20di%20Linguaggi.pdf\" target=\"_blank\">Introduzione al corso<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/bohlghsl2hin3et\/0-evoluzione%20dei%20linguaggi.pdf\" target=\"_blank\">Evoluzione dei linguaggi<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/hnhe4ncwwjmqyzw\/1-macchina.astratta.pdf\" target=\"_blank\">Macchina astratta<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/jz3ag0q8wik7gi0\/2-descrizione.linguaggi.pdf\">Descrivere un linguaggio di programmazione<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/vpmh9agryh9pw86\/3-analisi.lessicale.pdf\" target=\"_blank\">Analisi lessicale e linguaggi regolari<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/7u3f72a8zbimr8q\/4-analisi.sintattica.pdf\" target=\"_blank\">Analisi sintattica e linguaggi liberi<\/a><\/li>\n<\/ol>\n<ul>\n<li><em>Laboratorio<\/em><\/li>\n<\/ul>\n<ol>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/l7d96d5esuo5wd9\/Lezione%201%20-%20Introduzione%20a%20CUnit.pdf\" target=\"_blank\">Introduzione a CUnit, Funzioni &amp; Procedure in C<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/3qnfrzutf65kzkp\/main_cunit_template.c\" target=\"_blank\">Template file CUnit<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/zyn6pbtfwxpyeau\/Lezione%202%20-%20Modularizzazione%20del%20Sw%20e%20stile%20C.pdf\" target=\"_blank\">Modularizzazione e stile in C<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/ndn8uobuy3y8ujz\/Struttura%20progetti%20Eclipse%20con%20librerie%20statiche.pdf\">Strutturazione progetti Eclipse con librerie statiche<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/h5wm3kq4u0euum4\/Lezione%207%20-%20Doxygen.pdf\" target=\"_blank\">Documentazione automatica del codice &#8211; Doxygen<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/rqhoqf2o90f1nw1\/Lezione%203%20-%20Puntatori%20e%20passaggio%20per%20riferimento.pdf\" target=\"_blank\">Puntatori e passaggio per riferimento<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/owhvphy9qrhnn90\/Lezione%204%20-%20Vettori%20stringhe%20matrici.pdf\" target=\"_blank\">Vettori, stringhe e matrici<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/mwmhg836ox858vt\/Lezione%205%20-%20Strutture.pdf\" target=\"_blank\">Strutture<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/3kl4k0syf5en3eu\/Lezione%206%20-%20File.pdf\" target=\"_blank\">File<\/a><\/li>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/sc6oes8jpwguwg4\/ricorsione.pdf\" target=\"_blank\">Ricorsione<\/a><\/li>\n<\/ol>\n<p><strong>Esercitazioni<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/www.dropbox.com\/s\/lqkecwakkdwx8dl\/esercitazioni%20primo%20esonero.pdf\" target=\"_blank\">Primo esonero<\/a><\/li>\n<\/ul>\n<p><strong>Software utilizzato in laboratorio<\/strong><\/p>\n<ul>\n<li>Eclipse CDT<\/li>\n<li>CUnit test framework<\/li>\n<li>Eclipse Java<\/li>\n<li>JUnit test framework<\/li>\n<\/ul>\n<p><strong>Testo adottato<\/strong><\/p>\n<ul>\n<li>Maurizio Gabbrielli, Simone Martini, <i>Linguaggi di Programmazione, Principi e paradigmi<\/i>. 2\/e, McGraw-Hill.<\/li>\n<\/ul>\n<p><strong>Approfondimenti<\/strong><\/p>\n<ul>\n<li>BW Kernighan, DM Ritchie, <i>Il linguaggio C. Principi di programmazione e manuale di riferimento (2a ed)<\/i>, Pearson Education Italia, 2004.<\/li>\n<li>Kim N. King, <i>Programmazione in C<\/i>, Apogeo, 2009.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Prerequisiti Architettura degli elaboratori Programmazione Conoscenza del linguaggio C Modalit\u00e0 d&#8217;esame E&#8217; necessario prenotarsi all&#8217;esame di laboratorio, utilizzando il sistema di prenotazione ESSE3. Per i frequentanti che hanno passato l&#8217;esonero (c&#8217;\u00e8\u00a0tempo fino all&#8217;appello di settembre per sostenere la prova orale):<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":9,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-243","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Linguaggi di Programmazione + Lab. (Brindisi) - [DISATTIVATO] - Fabio Calefato<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/collab.di.uniba.it\/fabio\/teaching\/linguaggi-di-programmazione-lab-brindisi\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linguaggi di Programmazione + Lab. (Brindisi) - [DISATTIVATO] - Fabio Calefato\" \/>\n<meta property=\"og:description\" content=\"Prerequisiti Architettura degli elaboratori Programmazione Conoscenza del linguaggio C Modalit\u00e0 d&#8217;esame E&#8217; necessario prenotarsi all&#8217;esame di laboratorio, utilizzando il sistema di prenotazione ESSE3. Per i frequentanti che hanno passato l&#8217;esonero (c&#8217;\u00e8\u00a0tempo fino all&#8217;appello di settembre per sostenere la prova orale):\" \/>\n<meta property=\"og:url\" content=\"https:\/\/collab.di.uniba.it\/fabio\/teaching\/linguaggi-di-programmazione-lab-brindisi\/\" \/>\n<meta property=\"og:site_name\" content=\"Fabio Calefato\" \/>\n<meta property=\"article:modified_time\" content=\"2015-01-12T16:33:46+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/teaching\\\/linguaggi-di-programmazione-lab-brindisi\\\/\",\"url\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/teaching\\\/linguaggi-di-programmazione-lab-brindisi\\\/\",\"name\":\"Linguaggi di Programmazione + Lab. (Brindisi) - [DISATTIVATO] - Fabio Calefato\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/#website\"},\"datePublished\":\"2013-10-10T09:24:55+00:00\",\"dateModified\":\"2015-01-12T16:33:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/teaching\\\/linguaggi-di-programmazione-lab-brindisi\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/teaching\\\/linguaggi-di-programmazione-lab-brindisi\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/teaching\\\/linguaggi-di-programmazione-lab-brindisi\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Corsi\",\"item\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/teaching\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Linguaggi di Programmazione + Lab. (Brindisi) &#8212; [DISATTIVATO]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/#website\",\"url\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/\",\"name\":\"Fabio Calefato\",\"description\":\"Collab - University of Bari, Italy\",\"publisher\":{\"@id\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/#\\\/schema\\\/person\\\/e7e1b628aeb0c1cf2fe1f6695a433955\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/#\\\/schema\\\/person\\\/e7e1b628aeb0c1cf2fe1f6695a433955\",\"name\":\"Fabio\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2023\\\/07\\\/profile_compressed.jpg\",\"url\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2023\\\/07\\\/profile_compressed.jpg\",\"contentUrl\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2023\\\/07\\\/profile_compressed.jpg\",\"width\":1224,\"height\":1038,\"caption\":\"Fabio\"},\"logo\":{\"@id\":\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2023\\\/07\\\/profile_compressed.jpg\"},\"description\":\"mu legend zen mu legend power leveling cheap mu Legend zen\",\"sameAs\":[\"https:\\\/\\\/collab.di.uniba.it\\\/fabio\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Linguaggi di Programmazione + Lab. (Brindisi) - [DISATTIVATO] - Fabio Calefato","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/collab.di.uniba.it\/fabio\/teaching\/linguaggi-di-programmazione-lab-brindisi\/","og_locale":"en_US","og_type":"article","og_title":"Linguaggi di Programmazione + Lab. (Brindisi) - [DISATTIVATO] - Fabio Calefato","og_description":"Prerequisiti Architettura degli elaboratori Programmazione Conoscenza del linguaggio C Modalit\u00e0 d&#8217;esame E&#8217; necessario prenotarsi all&#8217;esame di laboratorio, utilizzando il sistema di prenotazione ESSE3. Per i frequentanti che hanno passato l&#8217;esonero (c&#8217;\u00e8\u00a0tempo fino all&#8217;appello di settembre per sostenere la prova orale):","og_url":"https:\/\/collab.di.uniba.it\/fabio\/teaching\/linguaggi-di-programmazione-lab-brindisi\/","og_site_name":"Fabio Calefato","article_modified_time":"2015-01-12T16:33:46+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/collab.di.uniba.it\/fabio\/teaching\/linguaggi-di-programmazione-lab-brindisi\/","url":"https:\/\/collab.di.uniba.it\/fabio\/teaching\/linguaggi-di-programmazione-lab-brindisi\/","name":"Linguaggi di Programmazione + Lab. (Brindisi) - [DISATTIVATO] - Fabio Calefato","isPartOf":{"@id":"https:\/\/collab.di.uniba.it\/fabio\/#website"},"datePublished":"2013-10-10T09:24:55+00:00","dateModified":"2015-01-12T16:33:46+00:00","breadcrumb":{"@id":"https:\/\/collab.di.uniba.it\/fabio\/teaching\/linguaggi-di-programmazione-lab-brindisi\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/collab.di.uniba.it\/fabio\/teaching\/linguaggi-di-programmazione-lab-brindisi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/collab.di.uniba.it\/fabio\/teaching\/linguaggi-di-programmazione-lab-brindisi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/collab.di.uniba.it\/fabio\/"},{"@type":"ListItem","position":2,"name":"Corsi","item":"https:\/\/collab.di.uniba.it\/fabio\/teaching\/"},{"@type":"ListItem","position":3,"name":"Linguaggi di Programmazione + Lab. (Brindisi) &#8212; [DISATTIVATO]"}]},{"@type":"WebSite","@id":"https:\/\/collab.di.uniba.it\/fabio\/#website","url":"https:\/\/collab.di.uniba.it\/fabio\/","name":"Fabio Calefato","description":"Collab - University of Bari, Italy","publisher":{"@id":"https:\/\/collab.di.uniba.it\/fabio\/#\/schema\/person\/e7e1b628aeb0c1cf2fe1f6695a433955"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/collab.di.uniba.it\/fabio\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/collab.di.uniba.it\/fabio\/#\/schema\/person\/e7e1b628aeb0c1cf2fe1f6695a433955","name":"Fabio","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/collab.di.uniba.it\/fabio\/wp-content\/uploads\/sites\/5\/2023\/07\/profile_compressed.jpg","url":"https:\/\/collab.di.uniba.it\/fabio\/wp-content\/uploads\/sites\/5\/2023\/07\/profile_compressed.jpg","contentUrl":"https:\/\/collab.di.uniba.it\/fabio\/wp-content\/uploads\/sites\/5\/2023\/07\/profile_compressed.jpg","width":1224,"height":1038,"caption":"Fabio"},"logo":{"@id":"https:\/\/collab.di.uniba.it\/fabio\/wp-content\/uploads\/sites\/5\/2023\/07\/profile_compressed.jpg"},"description":"mu legend zen mu legend power leveling cheap mu Legend zen","sameAs":["https:\/\/collab.di.uniba.it\/fabio"]}]}},"jetpack_shortlink":"https:\/\/wp.me\/P5G9NP-3V","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/collab.di.uniba.it\/fabio\/wp-json\/wp\/v2\/pages\/243","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/collab.di.uniba.it\/fabio\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/collab.di.uniba.it\/fabio\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/collab.di.uniba.it\/fabio\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/collab.di.uniba.it\/fabio\/wp-json\/wp\/v2\/comments?post=243"}],"version-history":[{"count":13,"href":"https:\/\/collab.di.uniba.it\/fabio\/wp-json\/wp\/v2\/pages\/243\/revisions"}],"predecessor-version":[{"id":600,"href":"https:\/\/collab.di.uniba.it\/fabio\/wp-json\/wp\/v2\/pages\/243\/revisions\/600"}],"up":[{"embeddable":true,"href":"https:\/\/collab.di.uniba.it\/fabio\/wp-json\/wp\/v2\/pages\/9"}],"wp:attachment":[{"href":"https:\/\/collab.di.uniba.it\/fabio\/wp-json\/wp\/v2\/media?parent=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}