200 likes | 293 Views
Toward the Joint Course on Compiler Construction. Mirjana Ivanovi ć, PM F Novi Sad Dragan Boji ć ETF Belgrade. Toward the JCCC. Where we started The Current State JCCC Syllabus Proposal Agenda for Future work. Where we started…. Summary of Answers to the Initial Inquiry (2004):
E N D
Toward the Joint Course on Compiler Construction Mirjana Ivanović, PMF Novi Sad Dragan Bojić ETF Belgrade 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
Toward the JCCC • Where we started • The Current State • JCCC Syllabus Proposal • Agenda for Future work
Where we started… Summary of Answers to the Initial Inquiry (2004): • BERLIN (Klaus Bothe) • NOVI SAD (Mirjana Ivanović) • BELGRADE (Dragan Bojić) Lecturer’s availability and willingness: • to CREATE joint teaching materials • 2 very good • 1 fair • to USE joint teaching materials • 3 very good 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
Summary of Answers... • Place of the course in the curriculum BERLIN: 3rd semester, 60 + 30 hours, ~150 students NOVI SAD: 7th&8th semester, 60 + 30 + 30 Hours ~ 50 students BEOGRAD: 7th&8th semester, 70 + 56 hours, ~90 students (this year, 150, expected even more) 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
Summary of Answers... • Methodology, exams, and grade (2004) BER: students required to finish a practical project NS: before: written & oral exam now: practical work & oral exam BG: obligatory practical homework (one time) + written & oral exam This year: 4x practical homework during lecture period + written exam (40/60) 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
Summary…Improvements BER: • New topics: translation of OO constructs, optimizations • New case study (input language should not be Pascal) NS: • To add more theory • New case study (Java as an implementation language) • To make course more interesting to students BG: • To add a complete case study • To omit some topics, to add new about OO constructs • To make course more interesting to students (“pure theoretical” approach not very attractive) 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
Desirable attributes of a new Case Study Real life input languages and educational languages • Object-orientation in the input language, and/or OO in compiler implementation • Contemporary implementation language • microJava: prof. Mössenböck, Univ. of Linz, subset of java, VM, written in java 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
Toward the JCCC • Where we started • The Current State • JCCC Syllabus Proposal • Agenda for Future work
The Current State of the CC Course in Belgrade • 4th year, two semestral, 2+2+1 (lec+exerc+lab) • In the reformed curriculum (next school year) two 1-semestral courses (4th year), first mandatory, second elective 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
The Current State of the CC Course in Belgrade (...) • Changes from the previous school year: • Lecturer changed • Introduction of the case study (there was no case study in the old course): • microJava (mJ) [Mössenböck] • 4 mandatory projects for mJ: lexical analyzer, parser, symbol table, code generator • With modifications to the orig. concept of mJ: bottom-up parsing, both java and c++ implementation, object-oriented mJ planned in future 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
The Current State of the CC Course in Belgrade (...) • Changes in the syllabis: • Several Topics reduced or completely left out (criterion: usage in practice and obsolence): • Some kinds of gramatical classes and transformations, Operator precendence parsing, multi state pushdown automata, fortran symbol management and run time issues, etc. • Added topics related to: • Several overview topics on design of microJava compiler (details on exercises), type checking, compiling object-oriented constructs, virtual machines 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
The Current State of the CC Course in Belgrade (...) • Sources and Literature: • Lecture material of prof. Mössenböck concering microJava (no book yet) • Appel, Modern Compiler Implementation in Java, Second Ed, 2002. • Legacy but still useful: • A. R. Sethi, J.D. Ullman, Compilers/Principles, Techniques and Tools, Addison-Wesley, 1986 • C. Fischer, R. LeBlanc, Crafting a Compiler, Benjaming-Cummings 1988 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
The Current State of the CC Course in Novi Sad (...) • New courses • 7th& semester, Compiler Construction I, obligatory • 8th semester, Compiler Construction II, elective • Lectures + Exercises + Lab = 30+30+15 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
The Current State of the CC Course in Novi Sad (...) • Compiler Construction I • Complete material of prof. Mössenböck course concerning microJava • Advantages of new course: • Concepts of compiler construction are shown on more formal way • Modern and object-oriented language is used (Java and Java byte code) • Students autonomously write (almost) whole compiler 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
The Current State of the CC Course in Novi Sad (...) • Compiler Construction II • More theoretical, Automata theory, Formal languages theory • Other parsing methods (LR, LALR) • Detailed presentation of code generation • Different techniques of code optimization • Exercises and practical work – Real-world (more serious project) 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
The Current State of the CC Course in Novi Sad (...) • Literature • Teaching material of prof. Mössenböck • Appel, Modern Compiler Implementation in Java, Second Ed, 2002 • A. V. Aho, R. Sethi, J. D. Ullman "Compilers, Principles, Techniques and Tools, Addison-Wesley, 1985 • J. P. Trembley, P. G. Sorenson, "The Theory and Practice of Compiler Writing", McGraw Hill, 1985 • M. Ivanović: Compiler Construction, Draft version of teaching material, (one of sources for book in Serbian) 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
Toward the JCCC • Where we started • The Current State • JCCC Syllabus Proposal • Agenda for Future work
JCCC Syllabus Proposal • JCCC_Syllabus.doc 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005
Toward the JCCC • Where we started • The Current State • JCCC Syllabus Proposal • Agenda for Future work
Agenda for Future work • To adopt a joint syllabus • To produce teaching material in English in appropriate form (ppt) • Basic topics (mostly for Compiler Construction I course) • Advanced topics (mostly for Compiler Construction II course) • To write a book in Serbian 5th Workshop “Software Engineering Education and Reverse Engineering” Baile Herculanum28.8. – 3.9.2005