Presentation is loading. Please wait.

Presentation is loading. Please wait.

5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum 28.8. – 3.9.2005 Toward the Joint Course on Compiler Construction.

Similar presentations


Presentation on theme: "5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum 28.8. – 3.9.2005 Toward the Joint Course on Compiler Construction."— Presentation transcript:

1 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – Toward the Joint Course on Compiler Construction Mirjana Ivanović, PMF Novi Sad Dragan Bojić ETF Belgrade

2 Toward the JCCC Where we startedWhere we started The Current StateThe Current State JCCC Syllabus ProposalJCCC Syllabus Proposal Agenda for Future workAgenda for Future work

3 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – Where we started… Summary of Answers to the Initial Inquiry (2004): BERLIN (Klaus Bothe)BERLIN (Klaus Bothe) NOVI SAD (Mirjana Ivanović)NOVI SAD (Mirjana Ivanović) BELGRADE (Dragan Bojić)BELGRADE (Dragan Bojić) Lecturers availability and willingness: to CREATE joint teaching materials to CREATE joint teaching materials –2 very good –1 fair to USE joint teaching materialsto USE joint teaching materials –3 very good

4 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – Summary of Answers... Place of the course in the curriculumPlace of the course in the curriculum BERLIN: 3 rd semester, hours, ~150 students NOVI SAD: 7 th &8 th semester, Hours ~ 50 students BEOGRAD: 7 th &8 th semester, hours, ~90 students (this year, 150, expected even more)

5 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – Summary of Answers... Methodology, exams, and grade (2004)Methodology, exams, and grade (2004) BER: students required to finish a practical project NS: before: written & oral exam now: practical work & 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)

6 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – Summary…Improvements BER: New topics: translation of OO constructs, optimizationsNew topics: translation of OO constructs, optimizations New case study (input language should not be Pascal)New case study (input language should not be Pascal) NS: To add more theoryTo add more theory New case study (Java as an implementation language)New case study (Java as an implementation language) To make course more interesting to studentsTo make course more interesting to students BG: To add a complete case studyTo add a complete case study To omit some topics, to add new about OO constructsTo omit some topics, to add new about OO constructs To make course more interesting to students (pure theoretical approach not very attractive)To make course more interesting to students (pure theoretical approach not very attractive)

7 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – 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 implementationObject-orientation in the input language, and/or OO in compiler implementation Contemporary implementation languageContemporary implementation language microJava: prof. Mössenböck, Univ. of Linz, subset of java, VM, written in javamicroJava: prof. Mössenböck, Univ. of Linz, subset of java, VM, written in java

8 Toward the JCCC Where we startedWhere we started The Current StateThe Current State JCCC Syllabus ProposalJCCC Syllabus Proposal Agenda for Future workAgenda for Future work

9 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – The Current State of the CC Course in Belgrade 4 th year, two semestral, (lec+exerc+lab)4 th year, two semestral, (lec+exerc+lab) In the reformed curriculum (next school year) two 1-semestral courses (4 th year), first mandatory, second electiveIn the reformed curriculum (next school year) two 1-semestral courses (4 th year), first mandatory, second elective

10 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – The Current State of the CC Course in Belgrade (...) Changes from the previous school year:Changes from the previous school year: Lecturer changedLecturer changed Introduction of the case study (there was no case study in the old course):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

11 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – The Current State of the CC Course in Belgrade (...) Changes in the syllabis:Changes in the syllabis: Several Topics reduced or completely left out (criterion: usage in practice and obsolence):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:Added topics related to: –Several overview topics on design of microJava compiler (details on exercises), type checking, compiling object-oriented constructs, virtual machines

12 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – The Current State of the CC Course in Belgrade (...) Sources and Literature:Sources and Literature: –Lecture material of prof. Mössenböck concering microJava (no book yet) –Appel, Modern Compiler Implementation in Java, Second Ed, Legacy but still useful: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

13 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – The Current State of the CC Course in Novi Sad (...) New coursesNew courses 7 th & semester, Compiler Construction I, obligatory7 th & semester, Compiler Construction I, obligatory 8 th semester, Compiler Construction II, elective8 th semester, Compiler Construction II, elective Lectures + Exercises + Lab = Lectures + Exercises + Lab =

14 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – The Current State of the CC Course in Novi Sad (...) Compiler Construction ICompiler 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 wayConcepts of compiler construction are shown on more formal way Modern and object-oriented language is used (Java and Java byte code)Modern and object-oriented language is used (Java and Java byte code) Students autonomously write (almost) whole compilerStudents autonomously write (almost) whole compiler

15 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – The Current State of the CC Course in Novi Sad (...) Compiler Construction IICompiler 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)

16 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – The Current State of the CC Course in Novi Sad (...) LiteratureLiterature –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)

17 Toward the JCCC Where we startedWhere we started The Current StateThe Current State JCCC Syllabus ProposalJCCC Syllabus Proposal Agenda for Future workAgenda for Future work

18 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – JCCC Syllabus Proposal JCCC_Syllabus.docJCCC_Syllabus.docJCCC_Syllabus.doc

19 Toward the JCCC Where we startedWhere we started The Current StateThe Current State JCCC Syllabus ProposalJCCC Syllabus Proposal Agenda for Future workAgenda for Future work

20 5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – Agenda for Future work To adopt a joint syllabusTo adopt a joint syllabus To produce teaching material in English in appropriate form (ppt)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 SerbianTo write a book in Serbian


Download ppt "5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum 28.8. – 3.9.2005 Toward the Joint Course on Compiler Construction."

Similar presentations


Ads by Google