Scaffolding computer programming languages learning with tailored English vocabulary based on learners' performance states

Due to the ubiquitous nature of mobile devices, they are now considered as an emerging platform for facilitating both teaching and learning experiences. In this paper, we presented a tailored mobile learning system, namely the Integrated English and Programming Language Learning System (IEPLS), which aims at learning English vocabulary before studying programming language concepts. The IEPLS supports programming language learning in three ways; (a) Recommending to learn specific English vocabulary used in programming language concepts (b) Adaptation to the learning flow of the learner and (c) Motivating and encouraging learners to learn items based on individual learner's performance. The IEPLS was used by one hundred and fifty undergraduate students for six months. Evaluation results revealed the attainment of IEPLS in supporting learners in learning programming languages backed by precise English vocabulary.


Introduction
For computer science students, learning programming languages is a challenging task [1]. Authors in [2] and [3] had identified several key factors that make programming difficult. These factors include the inherent sensitivity of programming languages, students aptitude towards learning programming languages, learning style, motivation, interest, learning pace and teaching style, etc. These factors make programming languages difficult to learn in those countries where English is the mother tongue. It is vital that complexities and difficulties must be thoroughly identified in learning programming languages in those countries where English is considered as a second language (ESL) or a third language (ETL).
In Asia, English is considered as a second language and interestingly, also considered as a third learning language [4], [5]. In Asia and particularly in southeast Asian countries, students first learn their native language i.e. mother tongue. As Chinese, Urdu, Hindi, Arabic, etc. are the national languages of Asian countries, therefore, students also have to learn them as a second language and are taught as mandatory subjects in primary, secondary, and intermediate classes.
Lastly, students also have to learn English as it is the official communication language [6]. Due to a lack of proper academic setting and lack of English learning environment, most of the students are not able to speak, write and understand English after completing secondary education (12 years of schooling) [7]. Because of weak English proficiency, students face difficulties in comprehension of courses taught at the university level because most of the books are written in English and courses are taught in English. For students, learning programming languages and facing difficulties is no exception. Learning a language involves two major steps: 1) building a significant amount of vocabulary and 2) learning the grammatical rules or syntax of that language. Therefore, in this research, we have proposed a system called Integrated English and Programming Language Learning System (IEPLS) that takes advantage of the ubiquitous nature of smartphones in helping undergraduate students to learn programming language-specific English vocabulary and then understand and practice programming language concepts. Details of IEPLS is presented in section 3.
The contemporary high-level programming languages such as JAVA, PHP, C#, Python, Objective-C, Ruby, C, and C++, etc. are very close to the English language which means that the keywords and language constructs found in these languages have almost the same meanings as in English language [8]. The syntax, language constructs and keywords found in one high-level programming language have almost the same meaning in another high-level programming language [9]. These characteristics of high-level programming languages infer that learning one programming language makes it easier to learn other programming languages. Rather than stressing beginner to learn different high-level programming languages simultaneously in a short academic period, it would be better to encourage and guide them in learning standard programming concepts (keywords, the syntax in pseudo-code, program execution steps) that apply to all high-level programming languages. These common programming concepts are expressed in Computer Algorithms [10]. The abstraction level of Algorithms is higher than high-level programming language in that they hide unnecessary details of step-wise computer program execution and low-level machine details. Our proposed IEPLS guides learners in learning basic programming concepts found in most programming languages. This system first encourages learners to learn algorithms and related English vocabulary. Based on the interest, performance, and preferences of learners, IEPLS allows them to choose a particular programming language for learning and doing programming exercises. We have used Android smartphones supported by web services as an assistive learning tool in learning algorithms, programming languages, and related English vocabulary [11].
Recent advancement in educational technologies has made learning personalized, tailored, mobilized, and learning at any time, anywhere. Moreover, progress in smartphones has changed the spectrum of learning from a one-size-fits-all approach to adapted and personalized learning [12], [13]. Inherently, smartphones are light weighted, compact, and more interactive as compared to laptops and desktop computers. These features of smartphones make them the perfect platform for accessing and sharing learning contents, especially in rural areas [14].

Literature Review
Computer programming is considered as the most exciting, challenging, and one of the most sought jobs of the 21st century. Yet, new programmers feel irritated and frustrated thinking that where they have landed up into. Most new programmers initially start questioning themselves whether programming is meant for them and whether they should continue doing it? The situation becomes more serious when new programmers have spent a few months doing programming and they can't see any useful outcome. It is a challenge for educational institutions to motivate new programmers to keep up with their decision and guide them in knowing applications of programming in solving real-world problems. The challenges for educational institutions become more severe when the medium of learning is English and students' mother language is not English. Therefore, it is challenging for educational institutions, having English as a second learning language, to represent computer programming in such a way that does not hesitate or frustrate new programmers.
Previously, numerous studies have reported the causes that make learning programming languages a daunting task. McDonald and Carlton pointed out that the main reason behind perceiving programming language learning is the lack of general problemsolving abilities in students [15]. Because students do not know how to create Algorithms, they fail to solve programming problems.
Several other reasons pointed out researchers in [16], [17] and [18] for making programming difficult are: • Lack of personalized teaching • One-size-fits-all type teaching approach that does not support students' learning style Programming is a thinking process. It requires some abilities and patience in students that go beyond learning simple programming language syntax.
In solving programming problems, consolidated and broad programming language knowledge is required that students can apply when facing new programming problems. Several studies had been conducted to investigate and explore why learning to program is complicated and how modern tools and technologies can help students in making programming interesting, easy and pedagogically rich [19], [20], [21].
Similar to programming language problems, solutions and research studies, there are numerous studies related with English learning. Chen and Chung proposed personalized mobile learning system that facilitates learners in learning English based on item response theory and learning memory cycle [22]. Their mobile learning system was successfully implemented on Personal Digital Assistant (PDA) for personalized English learning. Experimental results revealed that the proposed system, due to its flexible a nd personalized functionality, was very successful in developing learners interest in learning English.
Wu et al., conducted a systematic quantitative analysis of the outcome of integrating mobile devices with learning and teaching on students' learning performance [23]. These studies found that overall effect of using mobile phones for studies is more efficient than using desktop computers. Through this meta-analysis, it was revealed that inquiryoriented learning was more effective than the use of long online lectures, cooperating learning and game based learning. Students primarily consider mobile devices for communication and entertainment purpose; therefore, informal learning environments were more effective than their formal counterpart. Similarly, short-term interventions were superior to long-term intervention in encouraging students for improving their learning.
Chen and Li pointed out that in learning English, vocabulary learning is very vital as vocabulary makes the building block of English language [24]. Furthermore, the authors have stressed that situational i.e. context based language learning is important in enhancing learners interest and efficiency in learning English. Societal, cultural and life contexts in learning process makes vocabulary learning more effective and meaningful. For empirical proof, Personalized Context-aware Ubiquitous Learning System (PCULS) was developed that encourages English vocabulary learning based on learners location, leisure time, English language abilities. Experimental result showed that students who used context aware vocabulary leaning system (PCULS) showed greater performance in English vocabulary learning as compared to students who have used it without context awareness.
In non-English speaking countries, Learning English and subsequently applying the English in academic settings and research studies becomes challenge to the learners [25], [26]. The weak English-language speaking, writing, listening and reading skills make it harder to programming language students to learn programming language concepts and apply them in software development process. While interpreting programming problems, most of the times students are deducing English vocabulary meanings used in programming problems. Often, these non-familiar English vocabulary words create hindrance in learning programming. Therefore, in this research, through Android smartphone app, we have tried to facilitate students in learning programming languages specifics English vocabulary words and then applying those learned words in solving programming problems.

IEPLS Architecture and Design
This section describes the architecture and design of IEPLS and how it helps students in learning Algorithms supported by related English vocabulary words and subsequently helping students in learning programming languages using their smartphones. Internal architecture and working of IEPLS is presented in section 3.1. Section 4 explains how students interact with IEPLS smartphone app. IEPLS evaluation and acceptance by students is explained in section 5. Section 6 concludes our research work along with future directions.

IEPLS Woking Architecture
Integrated English and Programming Language Learning System (IEPLS) uses Representational State Transfer (RESTful) based web service architecture integrated with Android smartphone app (Application) to facilitate students in learning algorithms, related English vocabulary and programming languages [27]. The RESTful based IEPLS architecture along with smartphone app components and functionality is presented in figure 1. IEPLS smartphone app consists of four modules namely algorithm learning module, programming language learning module, evaluation module and learning performance database module. IEPLS web server consists of learner algorithm and English vocabulary performance database, learner programming language performance database, RESTul web services, Algorithms, English vocabulary words and programming language skills synchronizer. IEPLS web services manipulate and hold records of students progress, performance and new recommendations.
Students interact with IEPLS system through their Android smartphone app. As IEPLS system was developed and tested in that part of the world where English is considered as second or third learning language, therefore, smartphone app was designed keeping in mind its perceived usefulness and perceived ease-of-use factors to the students [28], [29]. For students, the use of smartphone app was made very simple. Students just need their university registration number and any desired password to log and use the smartphone app.
Algorithm Learning Module. Algorithm learning module is the primary module that a student interacts. Algorithm learning module supports algorithm learning in two ways.
• Showing the English meaning of words that students encounter during algorithm learning.
• Showing meaning of words and how they applied or used in algorithms i.e. how a concept or a word is conceived from an algorithmic point of view.
In Algorithm learning module, students are presented with learning levels that start from simple problems interpretation and then gradually progresses through more detail and specific problems that are typical in programming. During algorithm learning, as students encounter high learning levels, they are presented with new challenges that demand elaborated solutions requiring detailed algorithmic procedures. The main idea consists of making algorithm learning attractive and stimulating besides evaluating and promoting students in different algorithm learning levels.
The Algorithm learning module recommends new level to a student based on his/her performance in the previous level. At the end of each level, students are evaluated by evaluation module through multiple choice quizzes, pseudo code challenges and finding errors in algorithms. The primary objective of Algorithm learning module is to encourage students in doing a lot of practice with algorithms concepts. Once students are confident about the knowledge they have gained, they will not hesitate in doing coding in highlevel programming languages.
Students learning procedure with smartphone app interface connected with backend IEPLS system is summarized as follows: Algorithm learning module has several levels starting from basic Algorithm concepts and moving towards advanced Algorithm concepts and applications. A student is promoted to next level based on his/her performance evaluated by evaluation module. Each Algorithm learning level as associated programming language learning level. If a student has mastered concepts in Algorithm learning level and has been cleared by evaluation module for that particular level then s/he can learn programming languages in corresponding programming language module level. Three programming languages are recommended to students in programming language module namely JAVA, PHP and C#. Out of these three programming languages, students can select preferred language for learning and are further evaluated in the same programming language.
The learning performance database module collects students performance results from evaluation module and stores it inside smartphone client side database. Furthermore, learning performance database module is also responsible for record synchronization between client side database and web server side database. During the learning process, different students can have distinct learning and performance states. Students are free to learn based upon their learning interest, at anytime and anywhere. This freedom of learning reassures personalized learning behavior in students.
Evaluation Module. After learning each algorithm concept, students are evaluated in two ways. First students are given the task of writing their algorithm for assigned problem using their Android smartphone. With the help of simple code editor, students can write algorithm with it. The code editor embedded in IEPLS client algorithm learning module helps students in only writing algorithm code while the code is analyzed and assessed at web server side by the team of instructors and lab engineers. The IEPLS code editor resembles a very simple version of TouchDevelop code editors for mobile devices [30]. While using IEPLS code editor, students are supported with built-in common algorithmic statements that are building blocks of algorithms and any high-level programming languages.
IEPLS evaluation module checks studentsâĂŹ algorithm problem-solving skills through several multiple choice questions (MCQ's). The result of MCQ's together with student algorithm code is stored and further sent by learning performance log record database to backend web service module for evaluation and assessment. To track students' progress in English vocabulary words learning and in English words meaning about algorithms, they are evaluated with multiple choice questions (MCQ's) tests with different test levels. The test levels start from beginner's skills and gradually move towards advanced expertise. To measure proficiency in English vocabulary words meaning and English words meaning about algorithm, students can: • Take tests at any time and from anywhere from their smartphones For information consistency, learning performance log record database and web services at backend carries out information synchronization process several times on daily basis. Algorithm learning levels are tethered to their corresponding programming language learning levels. Unless and until a student clears his/her particular algorithm learning level, he/she cannot attempt corresponding programming language learning level. This correspondence between algorithm learning levels and programming language learning levels encourage step by step learning and make students learning more controlled and personalized.
Programming Learning Module. Like Algorithm learning levels, programming language learning module also has several learning levels. At the end of each level, a student is evaluated with interactive multiple choice questions (MCQ's). For the interest of students, programming language learning module is embedded with three separate code interpreters called CodeIt for three programming languages (CodeIt_JAVA, CodeIt_PHP, CodeIt_C#). CodeIt allows students to write and run code right within their smartphone and subsequently view the output result. Similar to Algorithm learning module, the result of students evaluation in programming learning module is initially stored in learning performance log record database and later on sent to web service for assessment by instructors.

Web Services Module. IEPLS system uses Spring-based
RESTful Web Services module for information exchange with IEPLS smartphone client module [31]. The information exchange includes programs, messages, documents and different user interaction statistics with IEPLS smartphone client module. Mainly two databases are maintained at web service module which stores learners skill information regarding algorithms learning, English vocabulary learning, and programming languages learning. At web service side, students information is analyzed and assessed by instructors' team from time to time. Appropriate learning recommendations are disseminated to students on their smartphones by instructors using web services. For information persistence, all usage data related to students performance are logged at web server side. Figure 2a shows student's login interface of IEPLS client-side module. First, a student logs into the system by using his/her registration number and password. Subsequently, a student is directed towards Algorithm learning module. Figure 2b displays learning levels related to basic and advanced algorithm learning concepts. After learning each algorithm learning level, a student is evaluated by Evaluation module from four different perspectives to examine students algorithm concepts learning ability. These four evaluation perspectives are:

IEPLS Client Side Interaction
• Examining student's English vocabulary words learning skills through multiple-choice questions which ask a question from a student and gave four answers of which one is right.
• Examining student's algorithm learning abilities through multiple choice questions which ask a question from a student and gave four answers of which on is correct. Figure 2c demonstrates algorithm quiz activity of android app.
• Examining student's English vocabulary words meaning about algorithms abilities through multiple choice questions which ask a question from a student and gave four answers of which one is correct.
• Asking students to write an algorithm to a problem similar to which he/she has understood in algorithm learning level. Figure 2d shows one of algorithm writing activity performed by a student in Algorithm learning module. The results of first two perspectives are immediately revealed to a student for possible assessment.
After taking acceptable score in English vocabulary words test and English vocabulary words about algorithms test, a student is promoted to next higher learning level and is allowed to take the corresponding programming learning module learning level.
In programming learning module, a student is once again evaluated by evaluation module to examine student's programming language learning abilities from three perspectives. The three evaluation aspects include: • Examining student's programming language learning skills through multiple-choice questions which ask a question from a student and gave four answers of which on is correct. Figure 2e demonstrates programming quiz activity of android app.
• Asking a student to write program code for a problem using CodeIt editor and immediately showing the result of program execution to a student for possible assessment and error correction.
• Asking a student to correct a code presented to him/her in CodeIt editor for checking studentâĂŹs programming abilities.
The results of all the three evaluation perspectives are immediately shown to a student and further sent to the web server for possible evaluation to instructors. Figure 2f shows computer program writing activity in JAVA language performed by a particular student.

IEPLS Evaluation and Acceptance
IEPLS evaluation and its impact on increasing learning performance of students were assessed by analyzing data retrieved from IEPLS database server. Students adoption and acceptance of IEPLS were determined by Technology Acceptance theoretical Model (TAM) which includes four factors namely perceived ease of use (PEOU), Perceived Usefulness (PU), Attitude (AT) and Behavioral Intention (BI) [32]. Table 1 displays IEPLS information and students usage statistics retrieved from backend web server database. Total numbers of logins made during six months were 80882, an average of 539.21 logins per students which indicates that most students were interested in using IEPLS system. The statistical data in table 1 does not reveal how much English vocabulary words learning, algorithm and programming skills of students were enhanced. Therefore, a more elaborated analysis was performed on students tests activities performance in each month.

IEPLS Statistical Analysis
Total points for each multiple choice quiz, algorithm assignment, programming assignment and programming code correction were ten. Figure 3a, 3b, 3c, 3d, 3e and 3f show average students scores per month for English vocabulary meanings tests, English vocabulary meanings about algorithm learning tests, algorithm assignments, programming languages MCQ's, programming assignments and programming code correction tests for a period of six months. The graphs in figure 3a, 3b, 3c, 3d, 3e and 3f clearly show that in every succeeding month, on average, learning performance of students improved. These figures show that on average the entire performance of students in the last learning month was much superior to learning performance in first learning month. Therefore, IEPLS was efficacious in encouraging and assisting students in improving the English vocabulary and programming language skills.
Next, we ran paired sample t test using SPSS 22.0 on learning performance results of the first month and sixth-month tests to find the statistical evidence of the impact of the IEPLS on learning efficiencies of students. To simplify the statistical results, we have shown paired sample t-test results of English vocabulary meaning MCQ's in algorithm learning module, English vocabulary meaning about algorithm learning mcq's in algorithm learning module and programming learning MCQ's in programming learning module. Table 2 shows   Similarly, the paired sample t-test result in table 3 for English vocabulary meaning about algorithm learning MCQ's for the first month and the sixth month shows that students English vocabulary meaning skills about algorithm learning abilities were promoted from 3.81 to 6.75. Moreover, the paired sample correlation result in table 3 shows that correlation is not significance, indicating that IEPLS helped students during six month evaluation period in improving their abilities. The comparison result in table 3 shows that there is significant difference in students first month abilities and sixth month abilities (Mean = 2.94, t = 25.54, p = .000). That is, most students performances were clearly improved after using IEPLS system. Table 3 also shows that mean testing score escalates with 2.94 points for every student.
Finally, the paired sample t-test result, correlation and descriptive statistics for programming learning MCQ's are listed in table 4. The students mean score of the first month and sixth months in programming learning MCQ's tests are 5.01 and 7.67, respectively. Table 4 lists that the mean scores of the first month and sixth month have a strong positive correlation which is confirmation of the fact that if a student gets a high score the first month test then s/he should also  gets a high score in sixth month test. The moderate correlation between the first month and sixth month tests in programming learning module indicated that corresponding algorithm learning module was able to make strong programming foundation for students. In addition, table 4 shows significant (2-tailed) p-value of .000 with 149 degrees of freedom and t statistics = -24.473. Since p <0.05, with the difference of 2.66 in mean test score, there is substantial evidence (t=-24.474, p = .000) that IEPLS intervention in students learning process improved their learning performance in programming language learning. The results also display that, on average, learning performance of students increased by 2.66 points from first learning month to sixth learning month.

Analyzing Students Acceptance and Adoption of IEPLS based on TAM
In the last stage of research, we used Technology Acceptance Model (TAM) to measure students acceptance of IEPLS and adopting it or similar software systems in future [32]. Presented first by Davis in 1989, TAM is information system framework used to measure how users accept and use information technology systems. TAM is composed of two independent variables called Perceived ease-of-use (PEOU) and Perceived usefulness (PU). Also, there are two dependent variables in TAM called Attitude towards using (AT) and users behavioral intention (BI). According to TAM, actual information system usage is determined by users behavioral intention and behavioral intention is dependent on users 9 Scaffolding computer programming languages learning with tailored English vocabulary based on learners performance states attitude towards the system, perceived usefulness and Perceived Ease of Use (PEOU) of the system. Perceived ease-of-use (PEOU) is defined as âĂĲthe degree to which a person believes that using a particular system would be free of effortsâĂİ. Perceived Usefulness (PU) is defined as âĂĲthe degree to which a person believes that by using a particular system will increase his aptitude and job performance".
Survey Methodology. Technology Acceptance Model (TAM) questionnaire consisting of 16 questions was broadcasted online on students email addresses using Using the IEPLS application would enable me to accomplish tasks more quickly Using the IEPLS application would make it easier to do my job [29] Using the IEPLS application every day will be easy for me [33] I will be able to learn by myself how to use the IEPLS application installed on my smartphone Perceived Usefulness (PU) Using the IEPLS application would enhance my English and programming language skills. Using the IEPLS application would improve my performance in English and programming tests. Using IEPLS application would increase my productivity.
[34] I find the IEPLS application useful in undergraduate program.

Attitude towards Use (At)
Using IEPLS application is a good idea. Using IEPLS application is a wise idea. I think that using IEPLS application in university is a good idea [35] I like the idea of using IEPLS application [36] Behavioral Intention (BI) I intend to use the IEPLS application frequently in the coming year I will use IEPLS application regularly in university in the coming years. I will be a heavy user of the IEPLS application in the coming year [37] I will recommend IEPLS application to other in coming future Google form data collection service. The questionnaire is displayed in table 5.
We used correlation analysis, regression analysis, and path analysis as data analysis approach to finding relations among constructs of Technology Acceptance Model (TAM).
First, we contended bivariate Pearson Correlation on TAM PEOU, IEPLS PU, IEPLS AT and IEPLS BI, which measures the strength and direction of linear relationships between pairs of constructs. Table 6 displays correlation coefficient, r, between all pairs of TAM constructs, the significance value p and 150 students observations. Based on the results of table 6, we can state the following: • There is statistically significant positive linear relationship between all pair of TAM construct with p <0.01 • The magnitude, or strength of relationship i.e. r, is moderate and strong (.455 <| r | <.869).
• All constructs are positively correlated, meaning that greater value of PEOU is associated with a greater value of PU, AT, and BI. Similarly, a greater value of PU is associated with a greater value of PEOU, AT and BI and so on.

Linear Regression and Multiple Linear Regression Analysis.
We conducted linear regression and multiple linear regressions to predict the casual relationship between Technology Acceptance Model (TAM) dependent variables and independent variables. From table 7, the adjusted R-square value of .491 determines that the two independent variables (PEOU and PU) contribute 49 percent of variability on Attitude towards use (AT) variable. In table 8, with a mean square value of 30.162 and f statistics = 72.971, the significance value (.000) is less than 0.05 which concludes that we have strong evidence that independent variables of PEOU and PU do predict Attitude toward Use (AT) and that regression model has explanatory power and is valid. In table 9, the unstandardized coefficients (Beta) for Perceived Ease of Use and Perceived Usefulness are .225 and .719, which implies that with one unit increase in PEOU and PU, the Attitude towards Use (AT) increases by .225 units for PEOU and .719 units for PU respectively. Table 9 also shows that Perceived Ease of Use independent variable (beta = .225) has slightly smaller impact on Attitude towards Use than Perceived Usefulness independent variable (beta = .719). The significance values in tables 9 clearly indicates that both variables of PEOU and PU added significantly to Attitude towards Use variable with p <.05.
Similarly, multiple regression analysis was conducted on the impact of Perceived Usefulness (PU) and Attitude (AT) on Behavioral Intention (BI). In table 10, the adjusted R-square value is .609, which determines that 69 percent of the variance in Behavioral Intention (BI) is contributed by Perceived Usefulness (PU) and Attitude towards use (AT). In table 11, with a mean square value of 28.380 and f statistics = 117.022, the significance value (.000) is less than 0.05 which concludes that we have strong evidence that independent variables of PU and Attitude do predict Behavioral Intention (BI) and that regression model has explanatory power and is valid. Table 12 shows that, relatively, with one point increase in Perceived Usefulness (PU), the increase in Behavioral Intention (BI) is 1.020 and with one point increase in Attitude towards Use (AT), the increase in Behavioral .149. Therefore, Perceived Usefulness (PU) accounts for more variability in Behavioral Intention (BI) than Attitude towards Use (AT). The significance values for Perceived Usefulness (PU) and Attitude towards Use (AT) are .000 and .018 indicating that both variables significantly contributed to variance in Behavioral Intention (BI).
In Table 13 We also ran a simple linear regression on Attitude towards Use (AT) and Behavioral Intention (BI) data to determine how much the dependent variable of Behavioral Intention (BI) is predicted by independent variable of Attitude towards Use (AT). Table 16 shows adjusted R square value of .202 for the predictor variable Attitude towards Use (AT), indicating that a variance of 20 percent is caused in Behavioral Intention (BI) by Attitude towards Use (AT). The significance value of .000 in table 17 indicates that our regression model for Attitude towards Use (AT) and Behavioral Intention (BI) is valid and a rational model. The significance P value for Attitude towards Use (AT) in table 18 is .000, which is way less than .05 indicating that Attitude towards Use (AT) added significantly to Behavioral Intention (BI). Figure 4 shows Technology Acceptance Model, its variables and the unstandardized coefficient weights between its variables.
Finally, randomly selected twenty students were interviewed about their experience with IEPLS and their views on IEPLS strengths and weaknesses. On average each interview lasted for five minutes. Twenty out of twenty students thought that their English and programming language abilities were improved after using IEPLS. Students believed that IEPLS was very friendly, simple, elaborated and gave them enough time to learn English vocabulary words and practice their  Based on information collected from students through interviews, surveys and from database log   • To overcome students frustrations towards learning programming language, learning system or application should integrate English vocabulary words (programming language oriented) help and assistance.
• Learning system should give platform to students where they can freely practice programming activities i.e. providing learning by doing platform.
• Learning system should encourage students to practice programming exercises with diverse programming challenges and activities.
• Learning system should provide self-assessment activity where students make sure that his/her learning was effective after concluding a programming activity.
• Rather than stressing on learning one particular programming language, learning system should motivate students to learn analytical skills by developing algorithm based problem-solving abilities.
• Learning system has to be regular and progressive not compelling students to complete an activity in urgency. Learning programming is different from other subject requiring solving problems from various interpretations, intensive exercises, deep thinking process and analytical skills.
• Programming is not learned by memorizing procedures and formulas. Rather, programming skills are developed by solving as much programming problems as possible. Programming problems are limitless and challenging. Therefore, programming learning system must provide platform where students can do different experiments solving diverse problems knowing where to apply the right procedure and formula accurately.

Conclusion
This research work presents IEPLS developed primarily to increase programming oriented English vocabulary words and computer programming abilities of students living in those areas where the English language is considered as the second and third learning language. IEPLS is based on personalized and self-control learning, where students are gradually promoted to higher learning levels based on their English vocabulary and programming abilities. Experimental results demonstrated that through a simple and attractive smartphone interfaces, IEPLS was successful in increasing the English vocabulary and programming skills of students. The experimental results also revealed that computer programming needs time and ample practice to acquire it efficiently. Additionally, our research showed that smartphones currently and in the future could become a very useful tool in facilitating students in their studies. There are many parts of the world where programming courses are taught in the English language, and programming courses, in general, are considered very challenging. Weak English language skills make programming courses more challenging and arduous. IEPLS was mainly developed for those students who, due to the geographical location have poor English language skills. IEPLS facilitated students in learning programming oriented English vocabulary words concurrently with learning computer programming. Technology Acceptance Model (TAM) based survey and analysis in our research determined that IEPLS was successful in increasing students' programming abilities and their intention towards using smartphones in their learning process. In the future, we plan to develop a similar type of system which can improve students' mathematical, analytical reasoning and logical abilities.