Design of an Arabic object-oriented programming language and a help system for pedagogical purposes
Essam Mohammad Arif · 1996
Arabic students have a somewhat poor proficiency in the English language, and hence when they first start studying computer programming they must cope with two problems: becoming proficient in English and understanding the basic concepts of programming that are presented to them in English. Also students cannot capitalize on the available programming facilities to write programs with high degree of readability and style in view of their weaknesses in the English language. We have designed an Arabic object-oriented programming language Al-Risalah that can be used to teach Arabic-speaking students how to program and how to understand the concepts of object-oriented programming. Since the language is an educational language for Arabic-speaking students, we decided to make the Help System our first priority. The provision of an active and on-line Help System will give more information, and examples of how this crucial issues or problem can be approached and resolved in this programming language. The goal of the Help System is to focus not simply on learning facts and procedures, but on helping students grasp and practice the kinds of inquiry, interpretation, and judgment that are key to expertise within a discipline. Our observation and analysis in C++ classes and watching some students struggling with the unclear and ambiguous error messages, especially in finding where the mistake is and how to solve it. This observation of beginning programmers convinced us that we need to design a error correction subsystem. The error system and the Help System together role a number of problems such as: (1) incorrect or unexpected symbol, (2) missing statement delimiters or terminators, (3) undeclared variables or methods, (4) type mismatch, (5) indentation syntax mismatch, and (6) the dangling else. AL-Risalah is a pure object-oriented programming language that has the basic mechanisms of object-orientation: classes, objects, and messages. Al-Risalah provides support for the mechanisms of inheritance, encapsulation, dynamic binding, and a hierarchy that allows reuse of classes and class libraries. The design of the syntax of the Al-Risalah language drives the paradigm and supports these powerful mechanisms. Al-Risalah is a combination of the good features of Pascal, C++, and Eiffel languages into one single Arabic object-oriented programming language. We took the strong typing feature of Pascal the excellent inheritance mechanism and the class declarations of C++, and the class description and class library features of Eiffel.