User Tools

Site Tools


lip

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lip [2018/01/12 12:16]
gmpinna [Project]
lip [2018/10/16 12:28] (current)
t.cimoli [Lab slides & exercises]
Line 13: Line 13:
   * Implementing some abstract machines and static analyses for programming languages.   * Implementing some abstract machines and static analyses for programming languages.
 \\ \\
- 
  
 Check constantly also the news page of the website [[http://​corsi.unica.it/​informatica|informatica.unica.it]],​ do not stick to this page. Check constantly also the news page of the website [[http://​corsi.unica.it/​informatica|informatica.unica.it]],​ do not stick to this page.
- 
 \\ \\
  
-====== News ====== 
  
  
-\\ 
-===== Grading ===== 
  
-The course grade will be determined as follows: ​ 
- 
-\\ 
- 
-^ Test ^ 270 ^ Date ^ 
-|Lab test #1        | 10% | 02/11/2017 | 
-|Lab test #2        | 10% | 30/11/2017 | 
-|Lab test #3        | 10% | 21/12/2017 | 
-|Lab final project ​ | 20% | 04/02/2018 | 
-|Theory midterm #1  | 10% | 19/10/2017 | 
-|Theory midterm #2  | 20% | 23/11/2017 | 
-|Theory midterm #3  | 20% | 14/12/2017 | 
- 
-\\ 
- 
- 
- 
-The deadlines for Lab tests and projects are firm.    
- 
-Lab tests can be repeated according to the rules stated in the introductory slides. The Lab final project has to be delivered in time, and no projects will be evaluated if delivered after the deadline. ​ 
- 
- 
-**How to obtain the grade in the Lab tests** 
- 
- 
-The **main** way is to attend Lab lessons and do the three tests. For those who fails the three Lab tests or would like to have a better grade, there will be the special test in June 2018 (see below). This test will cover and substitute the three tests, and participating regardless the actual delivering of the solutions will cancel the previous Lab tests grade. ​ 
- 
-**Special Lab test (June 2018)** 
- 
-The Lab test for those who would like to have a grade or a better grade will take place on June, 2018 (the date will be set in May 2018) in Laboratorio T. Students wishing to do this test have to enrol on the moodle platform starting from  
-June 1st. Recall that once you take place to the test, the grade for the Lab test will be the last one, regardless 
-the one you may possibly got before. From the beginning of the proof you have 15 minutes to decide whether to continue or to stop. If you continue the grade will be the one you will get in that test, if you stop it will remain the one you had before. The whole test will last two hours. 
- 
-**How to obtain the grade in the Project** 
- 
-Just deliver the project in time. This is the unique possibility. 
-\\ 
-===== Project ===== 
- 
- 
-The project have to be done in groups, and groups have to be formed at most by 4 components (recommended choice). 
-Each group must have a representative and, after forming groups, each representative has to send an email containing 
-the names of the components (including herself/​himself). The email should be sent no later than the 30th of December. ​ 
-I will assign to each group an identifier and communicate it to the groups representative,​ and the representative is responsible for submitting the project (in a single, tarred and gzipped file which name is **identifier.gz**). The project will be submitted in the appropriate moodle section. I will not consider any project delivered in  
-the wrong place or by the wrong person. Once that a group is formed, the additions or the removal of a component will produce a penalty (to be subtracted from the project score). ​ Groups representatives are encouraged to email me asking for every possible information. ​ 
- 
-When needed, I will communicate via email with the groups representatives. 
- 
-The deadline for delivering the project is firm. There will be no exception. 
- 
-The project is described in this (possibly updated) [[https://​drive.google.com/​file/​d/​1M81iDDYioMdPWg4co6RCRTfCJPh7-LIK/​view?​usp=sharing|document]]. 
-\\ 
-===== Grades ===== 
- 
-The page with the score is available at the following [[https://​docs.google.com/​spreadsheets/​d/​13AYzYGZzWSiWsj6_PA0KyaKfUz_KdPwuC2Wl76tcKaY/​edit?​usp=sharing|link]]. Recall that the final grade is obtained summing all the scores of the various proofs. ​ 
- 
-The final grade may not be the exact sum of the various proofs, but it can be a rounding of this sum. Rounding will be applied at the end. 
- 
-The final grade (if applicable, i.e. if it is greater or equal to 18) will be filled as soon as it is available.  ​ 
- 
- 
-\\ 
-===== Moodle ===== 
- 
-The moodle platform is used to deliver the solutions of the project and of the Lab Tests. ​ 
-Registration on the noodle platform is mandatory.  ​ 
- 
- 
-\\ 
 ===== Teaching material ===== ===== Teaching material =====
  
 ==== Slides of Class lectures ​ ==== ==== Slides of Class lectures ​ ====
  
-  - Introductory Lecture (26/09/2017[[https://​drive.google.com/​file/​d/​0BynitsakPo0wWHBReGxBZXVIRk0/​view?​usp=sharing|slides]] +  - Introductory Lecture (link
-  - Context-free Languages (CF grammars) [[https://​drive.google.com/​file/​d/​0BynitsakPo0wZzZYNk5IRENrV2M/​view?​usp=sharing|slides]]. These slides cover the part concerning context-free languages (grammars, push-down automata, closure properties) + 
-  - Parsing [[https://​drive.google.com/​file/​d/​0BynitsakPo0wQnZnVkxZMHk3enM/​view?​usp=sharing|slides]]. These slides cover the part on parsing top down  +
-  - Introduction to Abstract Machines [[https://​drive.google.com/​file/​d/​0BynitsakPo0weXQwbGVfOFFPeTg/​view?​usp=sharing|slides]] +
-  - Introduction to Operational Semantics [[https://​drive.google.com/​file/​d/​0BynitsakPo0wQ0Z4R0JHVW5Na3c/​view?​usp=sharing|slides]] +
-  - Memory and Environment [[https://​drive.google.com/​file/​d/​0BynitsakPo0wcF9nZm5IWVJZWnc/​view?​usp=sharing|slides]] +
-  - Functions as parameters [[https://​drive.google.com/​file/​d/​18y1RU-_TkZiEnblyDhIhGFh6VGkakrYc/​view?​usp=sharing|slides]] +
-  - SECD Machine [[https://​drive.google.com/​file/​d/​1Lei5idXvostSCV7fVf3BXkikiny--EUD/​view?​usp=sharing|slides]]  +
-  - Data [[https://​drive.google.com/​file/​d/​1Xbt2tHZ-F4pAqkTzX1ySaxNdQnYimSB5/​view?​usp=sharing|slides]] +
-  - Abstract Data Type [[https://​drive.google.com/​file/​d/​1sa5AndVuzuoVpTxHkSSqyiHOgdJd8pa-/​view?​usp=sharing|slides]]+
 ==== Exercises ​ ==== ==== Exercises ​ ====
  
Line 125: Line 43:
  
  
-  - Introductions to functional programming and OCAML basic: [[https://​docs.google.com/​presentation/​d/​1RnBZEmK_9kbQuRwerPa_MNpWkVWzPig2FZUS_Ah_oT0/​edit?​usp=sharing|slides]] ​ +  - Introductions to functional programming and OCAML basic: [[https://​docs.google.com/​presentation/​d/​1RnBZEmK_9kbQuRwerPa_MNpWkVWzPig2FZUS_Ah_oT0/​edit?​usp=sharing|slides]][[https://​docs.google.com/​document/​d/​1NASno6wfFQGkSLjDXlKlTTtdO3Wef37r_4xbQPPmA68/​edit?​usp=sharing|exercises]]  
-  - Functions: [[https://​docs.google.com/​presentation/​d/​1Aa3IqA8areSfLkTFBB7Gl1YJSrCg5v1OjutJYw-ExPg/​edit?​usp=sharing|slides]] ​[[https://​docs.google.com/​document/​d/​1k-zFqP6l-aEWEj73BH8UzzG8Vp5kJIovEly72110m-M/​edit?​usp=sharing|exercises]]  +  - Functions: [[https://​docs.google.com/​presentation/​d/​1kpz0QKlBQCAtUNQSEXOmyfYinqDfyMIwvhoBXB6fcyc/​edit?​usp=sharing|slides]][[https://​docs.google.com/​document/​d/​16xThDE2qaDr851dn2WhjclK97CRMOzK4RrEpklGpw9I/​edit?​usp=sharing|exercises]] 
-  - Higher order functions ​: [[https://​docs.google.com/​presentation/​d/​1GIsRwCrxFUi0t8tqMgLEofcU8kxBarL0LoVttMctzaw/​edit?​usp=sharing|slides]] [[https://​docs.google.com/​document/​d/​111cOv7547hEufc3s-1m-o7RQAY6KJ9UZS_zBX4MCz8Y/​edit?​usp=sharing|exercises]] [[https://​docs.google.com/​document/​d/​1IuZYWW5E9I3-8cYe43u0V0I4-zbXaI4poQfgiRhUBuI/​edit?​usp=sharing|homework]] [[https://​docs.google.com/​presentation/​d/​1W8sAJjgASLqSGcys5cRPCqXiMVxhYDOspF3848b_MvY/​edit?​usp=sharing|solutions]] +  - Pattern ​matching, tagged unions: [[https://​docs.google.com/​presentation/​d/​1PSNC9LX9s8JDcR9cqk1CZ2MnMyqP1rOUZJ9mePnsiXY/​edit?​usp=sharing|slides]],[[https://​docs.google.com/​document/​d/​1ASV_BsRQiow-AniA0GZ4ws1CwP56QRxODADHO_OtyF4/​edit?​usp=sharing|exercises]] 
-  - Lists and pattern ​matching : [[https://​docs.google.com/​presentation/​d/​1ikpNEB5Hx7SDOcDSdVj-i3Jgq66BNWCTZFrX0d-9vEA/​edit?​usp=sharing | slides]] [[https://​docs.google.com/​document/​d/​1pybGRX34vj93DRciGyQlULOBpArQSeseyli5eJVYEAY/​edit?​usp=sharing|exercises]][[https://​docs.google.com/​document/​d/​1xV4l9RCt8YwasnVeMdWBTpCX0nEdTQNkf6P75utGR0E/​edit?​usp=sharing|homeworks]] +  - Higher order functions ​: [[https://​docs.google.com/​presentation/​d/​17bXiYaRbPH4C3RBRDhfdEwK_qUzP3u1E1l75QMzAEfM/​edit?​usp=sharing|slides]],[[https://​docs.google.com/​document/​d/​1E3tyjquQaZfHZTkRWpBjHBcIXbaX2ItyImJy73GH8Rc/​edit?​usp=sharing|exercises]]
-  ​Exercises : [[https://​docs.google.com/​document/​d/​1tZAjusBJegXifyx2UROVi4gnkxgTOCfC97jQTqJo8F8/​edit?​usp=sharing | homeworks]] +
-  - Map and filter combinators on list: [[https://​docs.google.com/​presentation/​d/​11yvIL-xA0itY15Z6rH-E66wJAAE4lfxqMx_rJF_LkzM/​edit?​usp=sharing | slides]] [[https://​docs.google.com/​document/​d/​19Iw1nJZ6CMaxmnmzTCTpl98Esnss-w6xAuVhbEhWvQA/​edit?​usp=sharing | exercises]] [[ https://​docs.google.com/​presentation/​d/​1tDuioX5vG8SyzO64_OHaZX37DvJ3XX8Gi_o-l-ix3z4/​edit?​usp=sharing | BigInteger ]] [[https://​docs.google.com/​document/​d/​1b-mw2NmJsc8gXqI2HBBQyeqfAwwdKhb99fim6uTFqhk/​edit?​usp=sharing | BrainTeaser]][[https://​docs.google.com/​document/​d/​1OmPumBdIxuKjD06Qky2YymiRWirzn5f9Ol51eRvzSJw/​edit?​usp=sharing | homeworks]] +
-  - Fold combinator on list : [[https://​docs.google.com/​presentation/​d/​1UlddOsWhEyMdrH-EuDCZe2068HaYXbyESrSTJRnkC34/​edit?​usp=sharing | slides]] [[https://​docs.google.com/​document/​d/​1tMLTD0BKhmtZc6uqZDZkA3SLkstNiYtSWF-EkWvsbWE/​edit?​usp=sharing | exercises]] [[https://​docs.google.com/​document/​d/​1dwC_tjzwnqjsnj6d329M-eQ2cyV9zrdxozC4crrm0hs/​edit?​usp=sharing | homeworks ]] +
-  - More on lists : [[https://​docs.google.com/​presentation/​d/​1fsJnt9RwQ_MF9aNCVV3rZYCMNnEHaXwfDGTB1Jz9w_U/​edit?​usp=sharing | slides]] [[https://​docs.google.com/​document/​d/​1YAGi4ttUDXjxETycA1o9Z5GufPfs-YSs3BUMdcL950k/​edit?​usp=sharing | exercises]] [[ https://​docs.google.com/​document/​d/​1Ww0WHMwMnFOGhdC3tDLSrOcR8dqa3Pe_wyoPkQ7yLt8/​edit?​usp=sharing |homeworks]] +
-  - Exercises [[https://​docs.google.com/​presentation/​d/​1sq8l0xV6YYrREN4d0gE5LAyvCY-gBBuhxXD_162TOE8/​edit?​usp=sharing | exercises]] +
-  - Recursive types [[https://​docs.google.com/​presentation/​d/​12ISGS0eXZynhYBf_WObUPshMTirVn8QziZiCf8Z1C88/​edit?​usp=sharing | slides]] [[https://​docs.google.com/​document/​d/​1y5E6SpvypM9wTxw9L8e4RN_JeBvJc1YKeOwZlArmpBA/​edit?​usp=sharing | exercises]] +
-  - Trees [[https://​docs.google.com/​presentation/​d/​1efCnqXgSIJybuiqVB-CzuefOGRvih4SCral7ICM9BW0/​edit?​usp=sharing|slides]] [[https://​docs.google.com/​document/​d/​1J-cPWCZM-Wp7wouwoQVUe42B2uE7VqN1h0Vf-L4B8ak/​edit?​usp=sharing|exercises]] +
-  - Misc [[https://​docs.google.com/​document/​d/​10wJUPdGra433cx0mnWIlimMZbDEvf-Ly8-HGT4pzAGM/​edit?​usp=sharing|exercises]] [[https://​docs.google.com/​document/​d/​1b-mw2NmJsc8gXqI2HBBQyeqfAwwdKhb99fim6uTFqhk/​edit?​usp=sharing|perm . ex.]] [[https://​docs.google.com/​presentation/​d/​1nTLAYnCa4XfyH5W8G8l_DRa2vtoeh4rfytXwUwe5-1Y/​edit?​usp=sharing |perm. sol. ]] [[http://​www.sti.uniurb.it/​padovani/​Didattica/​LinguaggiCompilatori/​Note/​perm.pdf|perm. article]] [[https://​docs.google.com/​document/​d/​1nPuMPEPjbIBpQzsoRUvT6is17UtnKoldOClus5ECHwI/​edit?​usp=sharing|Solved ​exercises]]+
 ==== Further documentation ​ ==== ==== Further documentation ​ ====
  
lip.1515755807.txt.gz · Last modified: 2018/01/12 12:16 by gmpinna