Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Graduate
SUBJECT

Code	Subject	
MI055	Semantics of Programming Languages	

Section	Semester	Hours: C+S+L	Category	Type	
Computer Science - in English	7	2+0+2		optional	

Teaching Staff in Charge	Assoc.Prof. MOTOGNA Simona Claudia, Ph.D., motogna@cs.ubbcluj.ro	
Aims	- Understand the notion of semantics of a programming language
- Learning about different methods of semantics definition for programming languages
- Know how to find a suitable specification method for a programming language and to apply it.	
Content	1. Semantic analysis - phase inside a compiler
2. Attributive grammars.
3. Manual methods.
4. Syntax-oriented translation schemes.
5. Semantics of a programming language: defintions, basic concepts.
6. Specification criteria.
7. Operational semantics.
8. Denotational semantics.
	
Bibliography	1. BAUER, F.L. - WOSSNER, H.: Algorithmic language and program development, Springer-Verlag, Berlin,1982. 
2. GIANNINI, P. - LONGO, G.: Effectively given domains and lambda-calculus semantics, Information and Control, 62(1984) no. 1, pp. 36-63. 
3. HOARE, C.A.R. - WIRTH, NICHOLAS: An axiomatic definition of the programming language Pascal, Acta Informatica, 1973 no.2, pp. 335-355. 
4. LONGO, G.: Set-Theoretical models of Lambda-Calculus: Theories, Expansions,  Isomor-phisms, Annals of Pure and Applied Logic, 1983 no.24, pp. 153-188. 
5. HOARE, C.A.R. - LAUER, P.: Consistent and Complementary definitions of the semmantics of programming languages, Acta Informatica, 1973 no.3, pp. 135-153.
6. GRUNE, DICK - BAL, H. - JACOBS, C. - LANGENDOEN, K.: Modern Compiler Design, John Wiley, 2000 
7. SERBANATI, L.D.: Limbaje de programare si compilatoare, Ed. Academiei RSR, 1987 
	
Assessment	Final grade is computed based on the following algorithm:
- papaer presentation 20%
- project 30%
- final exam 50%