Some issues in teaching compiler course in Polytechnic University Tirana Prof.Asoc.Dr Elinda Kajo Mece Polytechnic University of Tirana.

Slides:



Advertisements
Similar presentations
Innovation in Assessment? Why? Poor student feedback regarding feedback timeliness and usefulness Staff workloads Student lack of awareness as to what.
Advertisements

5 th Workshop Software Engineering Education and Reverse Engineering Baile Herculanum – Toward the Joint Course on Compiler Construction.
ECTS grade system in the curricula of Ruse University Principal Assist. Dr Desislava Atanasova.
CSNB334 Advanced Operating Systems Course Introduction Lecturer: Asma Shakil.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 531 Compiler Construction Final Lecture of the Semester Spring 2010 Marco.
Compiler Construction by Muhammad Bilal Zafar (AP)
Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
Goran Šuković, University of Montenegro 1/21 Compiler Construction Course at University of Montenegro 7 th Workshop on “Software Engineering Education.
Two e-Learning elective seminars in Novi Sad Putnik Z., Komlenov Ž., Budimac Z. DMI, Faculty of Science University of Novi Sad.
Intro to CIT 594
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
10th Workshop "Software Engineering Education and Reverse Engineering" Ivanjica, Serbia, 5-12 September 2010 First experience in teaching HCI course Dusanka.
Developing An Online Information Literacy Course Nancy O’Hanlon Ohio State University Libraries Wuhan University, China March 2007.
Experience in Applying Online Learning Techniques in Computer Science & Engineering Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University.
1 OO Java, Baile Herculane, Romania, 2005 OO Java Requirements Specification - Produce highly adaptable teaching materials - 1 st step: collect all useful.
INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska.
Intro to CIT 594
Informatics in secondary and elementary schools in Serbia Ohrid, 25. August, 2011.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
Doctor of Education (EdD). Programme Objectives March EdD Program 1  The Doctor of Education (Ed.D) is designed to produce high quality academics.
EXPERIENCE WITH TWO OOP LANGUAGES IN ONE COURSE Ana Madevska Bogdanova, FCSE, Skopje, Macedoia.
Lecture 1: Welcome Computer Architecture Kai Bu
ECTS definition : Student centred system, Student centred system, Based on student workload required to : Based on student workload required to : Achieve.
A Blended Learning Model for "Multimedia Systems" Course Natasa Hoic-Bozic, Division of multimedia systems and e-learning Odjel za informatiku, Sveučilište.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Class and Lab Mark K. Reha.
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
Comp 311 Principles of Programming Languages Lecture 1 Course Overview and Culture Corky Cartwright August 25, 2008.
Postgraduate Programmes MK364 MARKETING COMMUNICATIONS & INTERNATIONAL ADVERTISING Introduction to the module.
SOME IMPORTANT FACTORS IN TEACHING SOFTWARE ENGINEERING COURSES Presenter: Jingzhou Li Depart of ECE, University of Calgary,
Testovid - an environment for testing almost any aspect of student assignments I. Pribela, S. Tošić, M. Ivanović, Z. Budimac Risan, September 2007.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
Is422- Course Overview Prepared by L. Nouf Almujally 1.
COMP 3438 System Programming
PBL in Team Applied to Software Engineering Education Liubo Ouyang Software School, Hunan University CEIS-SIOE, January 2006, Harbin.
An analysis of exam results in the Object-Oriented Programming course at „Politehnica” University of Timisoara Ioan Jurca.
1 My Experiences as Faculty Member and Researcher Dr. Kalim Qureshi.
Compiler course 1. Introduction. Outline Scope of the course Disciplines involved in it Abstract view for a compiler Front-end and back-end tasks Modules.
Welcome to Physics 1403!!. Class Web Page! There, you can find: 1. Posted (MS Word format): Syllabus,
CST 320 Compiler Methods Dr. Sherry Yang PV 171 (541)
1 WORKSHOP ON COMPUTER SCIENCE EDUCATION Innovation of Computer Science Curriculum in Higher Education TEMPUS project CD-JEP 16160/2001.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
“The great end of education is to discipline rather than furnish the mind; to train it to the use of its own powers, rather than fill it with the accumulation.
Engineering Secure Software. Vulnerability of the Day  Each day, we will cover a different type of code-level vulnerability Usually a demo How to avoid,
Lecture 01: Welcome Computer Architecture! Kai Bu
GIS for Environmental Modeling GEO 479/559 Spring.
1 Compiler Design (40-414)  Main Text Book: Compilers: Principles, Techniques & Tools, 2 nd ed., Aho, Lam, Sethi, and Ullman, 2007  Evaluation:  Midterm.
INTRODUCTION OF THE ECTS AT THE B&H UNIVERSITIES UNIVERSITY OF EAST SARAJEVO Faculty of Electrical Engineering WORKLOAD, GRADES AND ECTS Case Study Prof.
Compiler Construction (CS-636)
Intro to CIT 594
Course Overview for Compilers J. H. Wang Sep. 14, 2015.
The influence of the new administrative law upon teaching OOP course Ana Madevska Bogdanova Nevena Ackovska University “Sts. Cyril and Methodius”, Skopje,
Course Overview for Compilers J. H. Wang Sep. 20, 2011.
King Saud University, College of Science Workshop: Programme accreditation and quality assurance Riyadh, June 13-14, 2009 III.1 The accreditation report:
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Cultural Diversity in Health Science Barry L. Rimpsey.
CIS 505: Programming- Language Paradigms Torben Amtoft Xinming (Simon) Ou Aug 23, 2010.
EXPERIENCE OF AL-FARABI KAZAKH NATIONAL UNIVERSITY IN THE IMPLEMENTATION OF THE EUROPEAN CREDIT TRANSFER SYSTEM: WORKLOAD OF STUDENT AND TEACHER IN THE.
Lecture 01: Welcome Computer Architecture! Kai Bu
COMP 3002: Compiler Construction Pat Morin School of Computer Science.
Informatics in secondary and elementary schools in Serbia
How college is different from high school
Introduction to Compiler Construction
Course supervisor: Lubna Siddiqui
EECE 310 Software Engineering
Introduction to Programming Using C++
Introduction to Compiler Construction
Finalization of the Action Plans and Development of Syllabus
CS Problem Solving and Object Oriented Programming Spring 2019
Introduction to Compiler Construction
Presentation transcript:

Some issues in teaching compiler course in Polytechnic University Tirana Prof.Asoc.Dr Elinda Kajo Mece Polytechnic University of Tirana

Content  History of FLC (Formal language and compiler)  The status of compiler course  The compiler course in UPT  Some reasons of deviating compiler course  Reviewing the course  Design a Modern Compiler Course  Course project and assignments  Students assessment  Students opinion  Conclusion 214 th Workshop Sinaia, Romenia; August 2014

History of FLC in PUT  FLC was introduced in the academic year , as part of the Master Program Curriculum  Taught on the second semester, first year of the Master Program  Total of 6 credits ; one credit earned through the project  During , the Master program was reviewed and restructured to increase efficiency. As a result, the weight of the course was increased to a total of 8 credits, 2 credits given to the student project 314 th Workshop Sinaia, Romenia; August 2014

The status of compiler course 14 th Workshop Sinaia, Romenia; August From literature study and search on web:  Compiler course is disappeared in Bachelor study program or changed to elective  It can be found only in some Master study programs  We still have Formal Language and Compiler Course in our curricula  It is mandatory for graduate students

The compiler course in PUT 14 th Workshop Sinaia, Romenia; August The course in our curricula:  This course is mandatory for the first year graduate students, offered once a year in the second semester The format of the course:  Polytechnic University of Tirana uses “a semester system”: this course is 12 weeks long,40 hours lectures, 24 hours seminars and 20 hours labs.  The programming project includes writing a compiler for a subset of Java-- MiniJava. The front end is generated using Jflex and CUP, the back end produces MIPS assembly code, which is executed on the SPIM simulator.  Course textbooks and materials:  Lecture notes and materials written in Albanian language,largely replace a textbook. For additional resources, we recommend :  Compilers: Principles, Techniques, and Tools by A.V. Aho, M.S. Lam, R. Sethi, J.D. Ullman ; 2006, Addison-Wesley  Modern Compiler Implementation in Java (Second Edition) by Andrew Appel, Cambridge, 2002

Some reasons of deviating compiler course 14 th Workshop Sinaia, Romenia; August  The maturity of the discipline itself  The study programs are focused more on the latest technologies  The classic compiler course has theoretical overload in some issues which are already covered by other courses  The programming languages are preferred better than compilers  Another reason which I think belongs more to our region than anywhere else is: market demands

… 14 th Workshop Sinaia, Romenia; August  In most cases compiler course is oriented towards compiler implementation  The course assignments usually are inconsistent in the sort order of the issues covered during the lectures  The project size obliges students to work in groups  The project is considered difficult by the students  The classic book, due to its volume, is not convenient  Limited time in just one semester

Reviewing course …. the solution 14 th Workshop Sinaia, Romenia; August  In most universities the course has the same structure  I think that it must be reviewed in accordance to local conditions  Many solutions which affect : ….the course content, ….teaching style … and also students background.

Design a Modern Compiler Course  Source Language: Decaf, Irish Coffee, Espresso, TinyJava, MiniJava, MicroJava, Fjava, Javelet, StaticJava, CSX, j--, Jack, Joos (all Java subset) - MiniJava  In this case the students may even be allowed to design their own languages (SIMJ)  Target Language: x86, SPARC, or MIPS, sometimes in simplified forms such as SPIM. - MIPS  Java or C# family generally translate into the corresponding virtual machines  Implementation Language:Java, C#, ML, or C++.  Tools and Technology: Lex/Flex and Yacc/Bison (Java,C#)- JFlex, CUP 914 th Workshop Sinaia, Romenia; August 2014

Course project and assignments In order to make teaching this course more efficient, we must understand also students background  During this academic year, the class contained 40 students  Beside the lectures, which cover most of the time, seminars and labs also take 2 hours per week  During labs, the students make programming exercises and the assignments which are part of the project  Assignments play a crucial role in course and their selection is one of the main components  During project selection I have tried to encourage collaboration in between students and balancing their workload through that time  Project assignments are 2 weeks apart from each other  Due to the staff overload and impossibility to check the assignments of 10 groups at the end of each phase (every 2 weeks), I experimented a new way of presenting it(the entire project) just at the end of semester.  The results were unsatisfactory. Students were rushing towards the final solution, skipping and not understanding each phase of it th Workshop Sinaia, Romenia; August 2014

Student Assessment  Exams and Grading: The final grade is typically a average sum of the project and a final exam evaluation. The final exam is of course individual, while the project is done in groups.  The only advantage of being a mandatory course is being attended by 40 students but in my opinion 20 students would be the optimal number.  Students are evaluated by final exam and project results. Being active through presentations during seminars, adds extra points to the students.  The results show that in 80% of the cases the students are loyal to the main line, and the remaining part belongs to students who have chosen the project themselves and in this case we face the risk that the student might manipulate the project as much as he can.  The grade is an average of all these evaluations th Workshop Sinaia, Romenia; August 2014

Students opinion  The course would be better to be in two semesters  The project should not be evaluated only at the end  The course should be elective  Few of them think better replacing it with another course, for example Mobile Applications course  The project is considered in some cases difficult and challenging 1214 th Workshop Sinaia, Romenia; August 2014

Conclusion  I think that compilers course is still necessary in CE curricula for graduate students in UPT, even if an elective one  Secondly, I emphasize reviewing and reorganizing it according to current needs. In order to achieve this, professors duty is to select the right information (material) and to avoid repeating knowledge  Finding new ways to understand and explain main concepts that can be covered only by this course.  The course must be concentrated in describing, designing and implementing languages  To understand students background and their results in selecting course content and its assignments 1314 th Workshop Sinaia, Romenia; August 2014

Thank you for your attention! Questions??? 1414 th Workshop Sinaia, Romenia; August 2014