Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - în limba engleză
Limba de predare: Engleză

SYLLABUS

I. General data
Code	Subject	
MIF0005	Advanced  Compiler Design 	

Semester	Hours: C+S+L+P	Category	Status	
6	2+0+1+1	speciality	optional	

II. Full status faculty members
Name and	Scientific	Didactic	Chair	Type of activity	
surname	title	title		C	S	L	
MOTOGNA Simona Claudia	Ph.D.	Assoc.Prof.	Programming  Languages and Methods	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	title		position	C	S	L	

III. Course objectives
The course will cover modern mechanisms for compiler implementation, taking into consideration various optimizations for different programming languages. The students should be able to understand compiler design and to implement these techniques.

IV. Course contents
I. Back -end of a compiler:
   I.1 Intermediary code generation
   I.2 Code Optimization
   I.3 Object code generation
II. Language-dependent mechanisms in compiler implementation
   II.1 Functional and logical languages
   II.2 Imperative and object-oriented languages
   II.3 Distributed languages
III. Advanced compiler techniques
   III.1 Virtual machines
   III.2 Garbage collection mechanism
   III.3 Dynamic compilation
IV. Compilers for .NET
   IV.1 .NET architecture basics
   IV.2 program execution scheme in .NET
   IV.3 MSIL - intermediary representation in .NET
   IV.4 CLI - Common Language Infrastructure

V. Bibliography
1. GRUNE, DICK - BAL, H. - JACOBS, C. - LANGENDOEN, K.: Modern Compiler Design, John Wiley, 2000 
2. MITCHELL, JOHN: Foundations for Programming Languages, MIT Press, 1996
3. MOTOGNA, SIMONA: Metode de proiectare a compilatoarelor, Ed. Albastra, 2006
4. RICHTER, J.: Applied Microsoft .NET Framework Programming, Microsoft Press, 2002
5. LIDIN, SERGE: Inside .NET IL Assembler, Microsoft Press International, 2002
6. STUTZ, DAVID - NEWARD, TED - SHILLING, GEOFF: Shared Source CLI Essentials, O@Reilly UK, 2003
7. Sun Java Systems, [http://docs.sun.com/db/prod/java.sys], 01.09.2004	

VI. Thematic of didactic activities per weeks

VII. Didactic methods used

VIII. Assessment
The final grade will take into consideration:
- project (practical) 30%
- presentation (case study + domain review) 20%
- written exam 50%
Foe academic year 2009-2010, see
http://cs.ubbcluj.ro/~motogna/AdvancedCompilerDesign.html	

IX. Additional references

	Dean,							Chair head,

	Date,							Course responsible,
								Assoc.Prof. MOTOGNA Simona Claudia, Ph.D.