Oral exam in IN5630
The oral exam (50 % of the final grade) will be held on Mon Jun 3 (12:00 - 14:30) and Fri Jun 7 (13:00-16:00). The detailed will be posted later.
The oral exam will be two parts:
- First, a no more than 15 minute presentation of one of the following four questions. You can use a white board. You are much welcome to prepare a presentation of each quetion and bring notes for these. We have the printed notes, so you should not spend time on writing up syntax of languages and all semantics rules. Some questions are quite open.
- Second, questions in the entire curriculum of the course. This will include questions regarding your presentation, and questions about the primary design choices of your programming assignments.
Questions:
NB! When we in the follow says prove, we mean that you should sketch the proof ideas and show some of the hard cases. Some questions are quite open. It is your task to narrow it and decide what is important to say. Remember also to show some technical/formal details in your presentation.
-
What is an inductive definition? How can we use structural-induction on derivations to show meta theoretic properties?
-
What is totality? what does it mean that arithmetic expressions in the IMP programming language are total? Why is this useful? Can you sketch a proof of totality for arithmetic expressions in IMP? - Pick an interesting part to show.
-
What is determinism? what does it mean that the IMP programming language is deterministic? Why is this useful? Can you sketch a proof of determinism for IMP programs? - Pick an interesting part to show.
-
What does it mean that the Fun programming language has the Progress property? Why is this useful? - Can you sketch a proof that shows Progress for the Fun programming language? - Pick an interesting part to show.
-
What does it mean that the Fun programming language has the Preservation property? Why is this useful? - Can you sketch a proof that shows Preservation for the Fun programming language? - Pick an interesting part to show.