A Model for Enhancing Algorithmic Thinking in Programming Education using PAAM

—Most novice programmers consider learning to program as a dif-ficult and challenging field of study for them. As a result, high dropout and fail-ure rates in programming one courses reported. One of the reasons is that most programming (1) courses don’t give equal attention to syntax and semantics of programming language and algorithmic thinking. In this study, a web application based on Problem Analysis and Algorithmic Model (PAAM) was prepared and acquainted in the programming (1) course. The application focuses on problem analysis and algorithmic thinking. The influence on genders' opinion after offering the PAAM model in the programming (1) course determined by organizing a survey. The mean values of the male and female survey respondents compared by performing the T-test. The purpose is to determine if there is any significant difference between the mean values. Results show that students appreciated the web application in the programming (1) course. Male students discerned more positive responses in the survey questions compared to female students. The T-test result shows a significant difference between the values of respondents because the p-value for equal variances assumed is (.000), which is less than p = 0.05. The application encourages a new approach based on four steps (problem statement → problem analysis → problem-solving skills → code) for novices. The application helps students to understand programming structures, program design and comprehension.


Introduction
Most novice programmers consider learning to program a problematic and challenging field of study for them [1]. Students have to simultaneously emphasize different skills, such as algorithmic thinking, program design, and structures [2]. On the other hand, further research studies [3][4] [5] concluded that most programming (1) courses give more attention to syntax and semantics compared to algorithmic thinking. Consequently, novice programmers cannot write a good program, although they have a good understanding of programming language (syntax and semantics) [2]. Moreover, most programming (1) textbooks present the content related to syntax and semantics of programming languages [6]. Therefore, reference [7] suggested offering algorithmic thinking as a primary objective for computer science education students.
This study prepared and introduced the PAAM-based web application in the programming (1) course. The application focuses on problem analysis and algorithmic thinking. The PAAM model uses IPO (input, process and output) for problem analysis. The algorithmic thinking presented by pseudo-code technique. A survey was organized with students after offering the PAAM model in the teaching-learning process of the programming (1) course. The mean values of the male and female survey respondents compared by performing the T-test. The purpose is to determine if there is any significant difference between the mean values.
The paper divided into different sections. The background presented first, which followed by a research question of this study. The web-based application based on the PAAM model explained briefly. The next section describes the research methodology, followed by the results of this study. A brief discussion provided, and finally, the summary of this study presented.

Background
Algorithmic thinking described as a process to solve a given problem by proposing a sequence of steps in a specific order [8]. Therefore, it is considered an essential concept to be taught to computer science students and related fields [9]. On the other side, if the students don't have a background in algorithmic thinking, they are considered handicapped in higher studies [10]. Moreover, students don't acquire these skills appropriately by using these traditional teaching strategies. Thus, reference [10] suggested that algorithmic thinking should consider as a strategic focus in an educational field.
Learning to the program should focus equally on different programming language skills such as syntax, algorithmic thinking, and semantics [11]. Further studies [3][4] [5] concluded that most programming (1) courses focus more on semantics and syntax compared to algorithmic thinking. Reference [30] suggested pair programming is more effective than solo programming for novice programmers in secondary education. Reference [32] introduced a didactic approach based on multiple technologies (Twitter, Python, and Arduino) for teaching basic concepts of programming to novice programmers.
Reference [9] suggested that algorithmic thinking should offer from the beginning of the programming domain's teaching-learning process. Turtle Graphics Tutorial System (puzzle-based game) developed and introduced to promote algorithmic thinking [12]. Reference [13] introduced Alice, an educational environment, to promote algorithmic thinking. Contact [14] promoted algorithmic thinking in the programming (1) course by offering a new ADRI (Approach, Deployment, Result, Improvement) model. Reference [15] prepared and submitted a mobile app and a web-based application of the 'PROBSOL' in the programming (1) course to promote algorithmic thinking. Results show that the applications improve students' logic capabilities, programming understanding and algorithmic thinking skills [16]. References [28] [29][33] [35] [36] introduced 'Scratch', 'ScratchJr' and 'App inventor' as tools in the teaching-learning process of science education to enhance computational thinking and a basic understanding of programming education of novice programmers. Furthermore, references [31] [34] concluded that a game-development approach positively impacts the basic programming concepts of CS courses students.

Research Question
The previous section depicts that learning to program is a problematic and challenging task for novices in the programming (1) course. Therefore, we prepared and offered the PAAM-based web application in the programming (1) course. This study proposes a research question to determine the influence of the PAAM model on novices.
The study addressed the following research question: • RQ1: How does the PAAM model influence the opinion after introducing it in the programming (1) course?

Web-Based Application of PAAM Model
The PAAM-based web application introduced in the programming (1) course to promote algorithmic thinking among novice programmers. The interface of the PAAM-based web application shown in figure 1. The PAAM model focuses on problem analysis and algorithmic thinking in this application. For the problem analysis, students have to concentrate on IPO (Input, Process and Output) related to the given problem question as depicted in figure 1. Students will enter the input required by the given problem statement. By clicking the buttons provided in the application, students can see the process needed to solve the given problem statement and the program's output. The application also shows the total number of errors in the student's proposed solution. Moreover, the student's proposed solution's wrong steps also shown in red color in the 'Student Solution box' as shown in figure 1.
Students either choose next or previous questions by clicking the buttons or by through the menus provided in the application.

Research Methodology and Design
The impact tested on the perception after offering the PAAM model in the programming (1) course determined by organizing a survey. Eighty-eight students submitted their responses in the survey. Out of 88 students, 40 participants (45.5%) were male, and the remaining (54.5%) were female students. Ethical approval obtained from the college before collecting the data. Moreover, participation in the survey was anonymous and volunteered for students.
The survey consists of thirty-one questions. The first part includes five demographic questions. The second part covers thirteen questions emphasized the PAAM model's usability in the programming (1) course. The third part consists of six questions, which emphasize the programming concepts. The last part contains six questions highlighted on the PAAM model's suitability in the programming (1) course. All the problems of the survey listed in figures three, four and five below. Most of the questions in second, third and last parts taken from reference [17].

Result
The survey conducted to collect the perceptions of genders regarding the impact of PAAM model in the programming (1) course. The mean values of the male and female survey respondents compared by performing the T-test. The purpose is to determine if there is any significant difference between the mean values. Results of the Ttest shown in Table 1. Table 1 shows a significant difference between male and female respondents' values because the p-value for equal variances assumed is (.000), which is less than p = 0.05.  Table 2 shows the demographic details of the participants.
iJIM -Vol. 15, No. 09, 2021  Figure 2 shows the respondents' perception regarding the 'usability of PAAM model' in the programming (1) course. Figure 2 depicts that male respondents perceived better than female respondents in 13 different parts. 'Understand the inputs required for the given programming question', 'Understand the process to solve the given programming question', 'Understand the outputs required for the given programming question'. Also, points as 'Understand the given programming question', 'Understand the programming concepts' and 'Learn the pseudo-code technique (problem-solving skills)'.
Besides, 'Emphasize on problem-solving skills', 'Understand programming structures', 'Learn the course contents', 'Design a solution to solve a programming task'.  Designing an Algorithm

Fig. 4. Application of PAAM model
As shown in figure 4, male students show better responses than their counterpart female students in 'Motivates me to learn to program', 'Involves me in programming activities more vigorously', 'Is effective to learn to program', 'Supports me in preparing for programming exams', and 'Is also utilized at home in addition to classroom activities'. On the other side, female students show better responses than male students in 'Should also be prepared and offered for advanced programming courses'.

Discussion
The survey results depicted that both male and female students appreciated the web-based application of the PAAM model in the IP course. The PAAM model focuses on problem analysis and problem-solving skills for novice programmers. Different studies [18][19] [20] suggested that these skills are essential for novice programmers and should be given special attention in the IP course.
The survey results show that female students perceived less positive responses than male students in most of the questions. Reference [37] concluded that female students lack self-confidence compared to male students. Moreover, this finding is consistent with [11] [38], which also finished that male students show more confidence in learning programming than female students. The application discourages programming shortcut [21] (problem statement → code) and encourages a new approach based on four steps (problem statement → problem analysis → problem-solving skills → code). This process promotes in-depth learning of the programming domain and helps novices to emphasize on program design skills. This finding is consistent with [22], who introduced the ADRI model in programming education to discourage programming shortcuts.
The survey result shows that both male and female students appreciated that the web-based application of the PAAM model helped them understand the structures of the programming language. Moreover, it helped them in developing design skills for solving the given problem statement. This finding is consistent with reference [23].
Both female and male students agreed that the application helped them in understanding different programming concepts. Pseudo-code technique use to solve the programming questions that support novices in understanding programming concepts without paying much attention to the syntax. This finding is consistent with references [24] [25].
Both male and female students agreed that the PAAM model's application motivated them to learn to program. Moreover, the application supported them to prepare the programming exams. This process helps computer science and related departments retain students, which considered a significant issue in this field. Reference [26] argued that students would likely discontinue computer science studies if they fail or pass the programming (1) course with a struggle.

Conclusion
The study introduced a PAAM-based web application in the programming (1) course for novice programmers. The application focused on problem analysis and problem-solving skills in the class.
Results of the survey revealed that both female and male students appreciated the application in the IP course. The application helped them in understanding the given problem statement requirements (input, process and output). Furthermore, it supported them in understanding programming structures and program design skills. The T-test result shows a significant difference between the values of male and female respondents because the p-value for equal variances assumed is (.000), which is less than p = 0.05. Male students discerned more positive responses in the survey questions compared to female students.
The application provides 3 to 5 questions for each teaching topic covered in it, supporting novices to understand programming concepts. Moreover, it offers beginners to practice algorithmic thinking for most of the semester.
Students agreed that the application motivated them to learn to program and helped them to prepare programming exams. The application is web-based which enabled them to access and finish their programming exercises outside the class setting.
In the future work, the web application will update with artificial intelligence features such as chatbot and intelligent tutoring systems etc. Reference [27] suggested that these features positively impact the teaching-learning process of the students.