A Strategy for the Promotion of Computer Programming Using Urdu Language in Pakistan

Kamran Abid, Adnan Abid, Muhammad Shoaib Farooq, Uzma Farooq, Ansar Abbas · 2016

IntroductionEvery day computer science community faces new challenges regarding finding out the solution of the problems faced by mankind. In order to solve such challenging problems, programmers take support of powerful programming languages that are designed to address the needs of a programmer (Verkroost & Eliens, 2013). Along with the programming languages comes their programming environment. These programming environments are created for professional use and consist of many built in tools such as debugger, project management etc. Ironically, majority of these programming languages are created to program the computer in order to solve the problems.It has been a research area in the computer science community that there should be a programming language combined with a programming environment that can be used for teaching purposes, for teaching novice students who are new to the computer science and the programming world (Felleison 1998) (Farooq et al. 2014). The basic problem with the programming languages is that, they have their own complex syntax, constructs, error messages and unexpected outputs, which are difficult to understand for novice programmers (Smith et al., 2010). (Farooq et al. 2015). Moreover, In order to teach them, the instructor needs a deep knowledge of computer internal architecture and working mechanisms. The reason behind these facts is that these languages are not designed for students to learn programming, rather they have been designed to solve the problems.In order to cope with this problem, instructors have created their own subsets of the programming language (Depasquale 2002)(Farooq et al. 2015). These subsets consist of some of the very basic constructs of the programming language. The instructor teaches his created subset and by the time the students get familiar with the programming, the instructor adds more items to his subset.With the help of language subsetting, the instructors do manage to teach the existing programming language to a novice programmer up to some extent, but unfortunately the same technique cannot be applied to the programming environment. The instructor cannot add, remove, or modify any component of the programming environment, so their students have to code in the fully professional programming environment that seems complex and messy to a novice programmer (Farooq et al. 2015).But the question is, are we expecting a novice programmer to build a professional and reliable software application using all the tools that comes with the environment? Also very few of these tools come with the language pack facility, whereas majority of the tools uses English as their primary interface language (Kurland et al. 1986). This makes it even more difficult for non-English speaking novice students around the globe to get familiar with the tool.The aim of this research is to focus on defining a subset of a programming language that is helpful to the teachers and students for pedagogical and cognitive activities. Furthermore, we intend to develop a programming environment that can be totally customized according to the needs and understanding level of the novice student.Programming environment should be very user friendly, interactive and should be according to the locale/region. To this end, we intend to augment the programming environment to not only support writing code in English but also allow the users write code in Urdu language, which is the national language of Pakistan. The syntax of the programming language should also be more readable, less complex, and should gradually improve the learning curve of the student by improvising according to the level of the student. With this kind of programming language student can focus more towards logic and solution building rather than worry about the syntax of the language.If programming languages and their environments are designed in the local speaking language, then novice students can learn programming and develop their familiarity with the programming environment tool in a better and more understanding way. …

Read the paper · More papers on PaperTik