Keywords

1 Introduction

Programming has been introduced in Malaysia schools since 2016, starting with year six primary school. In a Malaysia public education system, year six of primary school is referred as a student aged 12 years old. A subject named Information and Communication Technology is taught as a subject for preparation for high school. In 2017, under the new curriculum for lower secondary students, the ministry introduced two subjects called Basic Computer Science for form 3 student who is a student aged 15 years old. The fourth-form and fifth-form students (age 16 and 17) can further study coding in a subject named Science Computer, which is an elective subject which is only be taken by the schools that are equipped with computer lab and have a teacher with a computer science qualification.

Our proposed model can be used by schools and Malaysia institute of teaching education to train teachers in programming languages. Our proposed model can also be used to train new graduates to reinforce basic knowledge before entering the industry. Apart from programming subjects, our model can be extended its usage to teach pure Science subjects that are technical in nature and require students to remember certain basic concepts. Several technology-based learning has been widely applied to the teaching of programming subjects [1, 2]. However, to the best of our knowledge, until today, there is no one dedicated tool or system has been built for schools in Malaysia. Our model can be developed to be a proprietary in-house solution. By having our own in-house design system, we can keep the assurance of customization and meet local needs. In terms of commercialization value, the output of this project can be offered to the other learning institutions of similar characteristics and challenges. With the uncertainty of the Covid-19 pandemic, our nation has embraced a new norm by adopting online technology, especially in the education industry. Thus, we strongly believe our proposed model will be able to produce the next generation of technology talents starting from secondary education level.

This paper presents results of interview conducted with the teachers and students in order to identify the existing problems of teaching and learning programming of the national secondary schools’ students in Malaysia. Then, from the interview findings, we formulate a learning programming model by maintaining the existing national education setting. The feasibility of the proposed model components was simulated using a LMS that we crafted specifically for the testing purpose. An expert who is the teacher that teaches the subject was involved as the respondent. Our research contributes in such a way that a design of an in-house solution has been created to tailor to the specific needs of the national school students and teachers.

2 Students’ Perception and Teachers’ Experience in Teaching Programming Subjects

2.1 Interview and Field Study

The techniques of interview and field study were chosen to be conducted in this research because these techniques are best to be applied for our research that aims to identify the real problems of teachers and students in the field of programming. The participants of this study involve two teachers who taught Basics of Computer Science subject for form 3 students and two students that studied Basics of Computer Science. The participants were from one of the secondary schools located in Kelantan, Malaysia. As part of the procedure, we prepared a formal letter to the school principal prior to the to interview days. This procedure was very crucial as the country was still in the COVID-19 pandemic season, where the school restricts number of visitors going to the school. A list of questionnaires for teachers and students were prepared as a guide of the interview. Some short briefing was given via phone calls to explain to the school principal on the purpose of the research and the for the interview session to be recorded. The interview took place around the school, computer lab and teacher's office. The interviews were audio recorded based on the permissions given by the participants. All the recorded data obtained from the interviews were transcribed manually into text. In average, the interview was completed in 40 min for each of the teachers. The student’s interview session was conducted after the school hours to avoid interruption to their learning session at school. The findings of our interview are divided into 5 sub-sections as shown in Sect. 3 of this paper.

3 Interview Findings

3.1 Language of Communication and Perception Towards Programming

Our study found that students and teachers were aware that there is a connection and interdependence between Basics of Computer Science subject (form 3) and Computer Science (form 4 & 5). However, since not all students master the Basics of Computer Science, this causes students not to be interested in taking Computer Science in form 4. Based on the interview conducted with the teachers, we found out that most of the form 3 students also did not want to continue taking Computer Science subject in their next year of study because they already knew that this subject was not easy to get a good grade based on their experience taking computer-science related subject before. The students we met also stated that they had a perception that computer-related subjects were difficult. Currently, most of the national schools use Bahasa Malaysia in school for teaching Computer Science subject. The students will start to show the signs of unexciting when they are required to search for additional information pertaining to programming by themselves. The difference between language used in schools and the language used later when to search for information has caused some problems because many of the external online resources are in English. Furthermore, programming has many special nouns such as arrays, pointers, passing values, which if you want to do an Internet search, these keywords need to be known. This issue becomes more prominent due to the gap in English proficiency between urban and rural students as been reported previously reported in [3].

Thus, our model suggests for using two languages with highlighted programming keywords for students to make additional searches. To change the perception of programming that is said to be difficult, our proposed model is built by selecting specific concepts to show the concept graphically.

One of the teachers agreed that Basics of Computer Science subject and Science Computer subject are interesting subjects that shall be learning by school students in Malaysia: ‘The science computer-related subjects are very good to be introduced in school but students should be interested in the subject so that they do not get bored quickly.’ However, the teacher said that the syllabus used is a bit difficult for school students. The following quote summarized the information: ‘The topic of form 3 is a little difficult. For example, in a topic of form 4 students, there are PHP questions almost on par with the university’. Based on the interview conducted with the schools, we found out that the school selects students to take Basics of Computer Science subject based on the academic achievement of science and mathematics subjects. As for the teaching strategy, we found that the basics of computational thinking are taught at an early stage. Pseudocode and algorithm development are taught either in the lab or in the classroom. As for the teacher’s training, the teacher said that even though there are courses provided for the teachers, the teachers learn programming by themselves. They also use the knowledge gained from university before.

3.2 Digital Divide and Computer Facilities

A research by [4] addresses there are certain places in Malaysia that have poor Internet service. As a developing region, in Southeast Asia, many students in Malaysia are from economically vulnerable families. Their access to computers is limited to school-provided computer labs, and many do not have access to unlimited Internet on their mobile devices.

Currently, Computer Science subjects are only offered by schools that have computer labs and teachers trained in IT. Or in other words, programming is just an optional skill or value-added for students rather than a compulsory subject. Our interview found that, despite having a computer lab, the number of computers was insufficient and students had to share computers. A teacher said that she normally encouraged the students to use their own laptop to complete the project: ‘I encourage students to use their own laptops to make it easier for students to complete their projects because the school does not have enough computer equipment and time to teach programming is limited.’

3.3 Quality Digital Content

In Malaysia, text books are used as the main teaching and learning resources. The contents of the textbooks produced by the ministry have undergone many evolutions. As been previously reported in [5], the content of the book is now very interesting. According to the teacher: ‘For exercise, we use reference books. However, textbooks are mandatory because textbooks have followed the Co-Curriculum and Assessment Standard Document (DSKP) issued by the co-curriculum development center. The textbook syllabus is a guide for teachers to teach because we cannot teach students who are still new with a program with a syllabus with too high a level of difficulty.’

In total, students learn 4 different programming languages (Python, XHTML, CSS, PHP) in different years. Through interviews with teachers, students were found not to be able to feel the excitement of a programming before switching to another programming language. The following quote summarized the information: ‘Science Computer subject thought in form 4 and form 5 are different from Basics of Computer Science subject taught to form 3 students especially at programming part. Students of Basics of Computer Science learns Scratch, HTML and Python, whereas form 4 students learn JAVA. As for project of form 4 students, they are required to use PHP and CSS. When all these topics are mixed, it is a bit confusing to teach to students.’

Students’ interest in practical versus theory was obtained through the following quote: ‘Students like to learn practical for programming as opposed to theoretical topics students quickly get bored. Nevertheless, theory needs to be taught before the practice of reason to explain the concept of programming. For example, problem analysis. I explained the theory first, even though it was boring to the students because they didn’t see it. Students prefer the things they see. So, I would ask students to try programming on their own and learn from those errors.’

Our study also found that students had difficulty completing projects that contributed a certain percentage to the overall score due to lack of practical skills. Despite of all these difficulties, teachers take the initiative to teach programming on Fridays or weekends to ensure no students are left behind. Based on the answers from the students, they said they rely a lot on friends to learn and like to use YouTube to learn on their own.

3.4 Teaching and Learning Time

Programming requires hands-on learning. Students are usually able to improve their skills as they are exposed to these new concepts progressively. However, since students need to study some other subjects, the time allotted for Computer Science subjects are very limited. Due to the time constraints, teachers have to work hard to finish the syllabus and students struggle to also focus on other subjects. Teacher said that they are interested to use a tool for teaching programming. However, they do not know what tools to use. As for experience teaching in computer lab, the teacher said: ‘When students share a computer to do practical programming exercises, one student will do it, and another will just look without participate in the learning process. Software to control student activities in computer labs is no longer available. Before this there was NetSupport.’

4 Identifying the Proposed Model Components

4.1 Methodology

Detail study on the syllabus of secondary schools Computer-Science related subjects were conducted by gathering the text books and reference books. More than 15 books had been studied. This study is important as the proposed model will be applied to school level programming later. An interview and field study were conducted with teachers and students to get an overview of teaching programming landscape in Malaysia and identifying the real problems facing by them. The model components were identified by performing an extensive literature review. The findings of interview and field study were taken into consideration. A prototype, which in this case is a LMS created using Moodle (with extra features) was developed to simulate the model design. Pilot test was conducted prior to the actual expert evaluation. The original plan was to include only model elements in LMS without any teaching materials. However, the pilot study disclosed the fact that respondent was unable to proceed with completing exercises without went through notes. Meaning that, they did not want to learn by studying text book and then shifted to LMS. After LMS was completed, an empirical study via an expert evaluation was conducted to quantify the efficiency level of the proposed model. The teacher is a respondent of an expert evaluation that aims to test the proposed model components that were embedded into the LMS before. Lastly, analysis and conclusion were made based on all the research activities conducted before (Fig. 1).

Fig. 1.
figure 1

Research methodology

5 Expert Evaluation

We conduct an additional experiment with the expert to support the findings of the interview conducted before. In this experiment, one teacher from one of the secondary schools in Kelantan has been chosen to be the respondent of our experiment. The respondent was given an access to our LMS, which is Moodle that has been specially created by incorporating all the possible components for our model. Our respondent took about 48 min to complete study and answering questions of two major topics in our LMS. Since our expert evaluation session occurred during pandemic season, respondent was unable to spend more time to avoid direct interactions occurring over a long period of time. The objectives of this expert evaluation session are (1) to identify the components required to formulate model for developing programming teaching tool for secondary school students in Malaysia, (2) to assess the feasibility of the proposed model components and (3) to involve experts that are working in the environment that the model will be applied in reality.

Moodle (with advanced features) has been chosen as a tool used for experiment because of its flexibility in creating an adaptive learning module, without restricting too much on the flow of learning and it is also a feature-rich software platform that runs on any computer server. The activities conducted using LMS was recorded and the video can be accessed from: https://tinyurl.com/programmingModelExperiment. Refer to https://tinyurl.com/appendixLMS for some screen captures of our LMS pages and the mapping between materials included in LMS and the proposed model components. The LMS was designed with an intention of testing the feasibility of model components without realizing by the respondent.

5.1 Responses from the Respondent

We required the respondent to navigate to all the pages in our LMS till complete. This is important as we want the respondent to experience the possible model components by themselves before answering more detail questions. The respondent answered quizzes that had been categorized and designed in such a way that the respondent would be excited to use IDE to identify the answer. We observed the actions performed by the respondent when navigating through the LMS. Table 1 shows the questions we asked after the session and responses given by our respondent. The questions marked with asterisks requires the respondent to rate the response in a scale of 5; 1- Do not agree, 2- Slightly agree, 3- Somehow agree, 4- Agree, 5- Very agree.

Table 1. Interview questions and the responses

5.2 Summary of the Findings from Experiment and Model Formulation

Firstly, we found that expert evaluation shall include real users from both categories; teacher and student. Testing with limited testers or respondents are insufficient to prove the effectiveness of the proposed methods. The current situation of the pandemic further limits the duration of sessions with respondents. Secondly, customized functions of LMS shall be developed instead of using a readily available one. Complex features such as adaptive learning requires custom-made system to avoid unnecessary complex system. Competition-based or goal-oriented concept shall be applied because we noticed that the respondent was looking for a reward or major goal but was unable to find one.

System to be developed later shall be user-friendly and has up-to-date design. When plain design was used, the respondent did not feel interested to further explore. Our respondent stated that she was interested in the design we used on the LMS. During a pilot test, we discovered that teaching contents shall be included because a self-study without teaching contents was inefficient. The tester got stuck even from beginning when there were no teaching notes provided. Dual language shall be applied for programming subject as majority of the online programming resources use English. Many argue that, having many components in the model to be implemented by the programming teaching system is good. However, we do not agree with that statement because having too many components will cause the system to be too heavy and require high -performance computers that may not be affordable by all, especially the low-income family. Referring to the Table 2 shown below, the statements with double asterisks were very much agreed by our respondent. The italicized statements were agreed by our respondent but the level of agreement was not as strong as the statements with double asterisks.

We conclude that these italicized components are required for the model but not at the highest level of priority. It is worth discussing these interesting facts revealed by the results of several components that we thought important but the experiment proves that these components were not so critical to the formulation of the model. For example, our respondent did not even realize an adaptive learning was applied in our LMS. Adaptive learning which allows the users to begin their lesson from the last point they stopped studying before seems not giving much excitement to the respondent.

Table 2. Summary of the model components and the research activities that discovered them.

However, it may be too early for us to make such conclusion as the respondent may not visibly show the excitement because she was concentrating on the other components of the LMS. In addition, from the recorded screen activities, we found that the respondent did not even have a chance to leave the LMS and came back to continue from the page she left due to time constraint. This could be one of the reasons why the respondent was not aware of the existence of adaptive learning in the LMS.

5.3 Limitations of the Study

The intention of this study is to assess the efficiency of the possible model components and to identify a new component, if any. The teaching approaches described by teachers in this study are not claimed to be representative of all teachers teaching Computer Science-related subjects in Malaysia. One limitation of our study is that the interview and survey were conducted to only one selected school. Interview and experts’ evaluation shall be conducted at many more secondary schools from various locations in Malaysia. However, this plan will be able to be implemented if there is a direction from the Minister of Education as getting involvement of teachers and students in study is not easy in Malaysia, especially during movement control order that is imposed due to COVID-19. Thus, this study does not in any way attempt to claim that the findings of this research relate generally to all teachers of Computing. Another limitation in our works involves the issue of effective learning. Currently, we are not able to provide evidence suggested which particular model components are more effective in helping students to learn. Thus, another useful angle following on from this study would be to examine students’ own perspectives on how programming is taught. As another area of further investigation, we suggest that more research is carried out on the implementation of these strategies for learning programming and the impact on students’ learning. On top of that, there are several newer components that are yet to be tested because we discovered them while conducting the current research. The newer possible components are support think-pair [6], mobile-friendly, competition-based, and low usage of system resources (small memory footprint or RAM usage and low CPU usage) (Fig. 2).

Fig. 2.
figure 2

Model of programming teaching tool for national secondary schools based on Malaysia education development plan.

6 Conclusion

The formulation of model for learning programming, which later contributes to the development of a proper system or tool for programming subjects is in line with the policy stated in the Malaysia Education Blueprint (MEB) (2013–2025). In the MEB, it is the government's intention to provide students towards becoming a skilled workforce to meet the needs of Industrial Revolution 4.0 and beyond. The MEB has outlined a national long-term plan to introduce programming from year 6 to form 5 students. By having a proper system or tool for programming subjects, our country will be able to produce students with excellent logical thinking who will become skilled workers in high-tech field. Skilled works are experts in their field, and they will help to improve the country’s businesses profitability and reputation. The skilled workforce reduces reliance on foreign skilled manpower. The uncertainty scenario caused by the COVID-19 pandemic forces the people to look for other alternatives to gain knowledge. A proper system or tool for programming subjects can prepare teachers and students in facing any future challenges. The interview conducted with the real potential users of this model reveals several important findings. Firstly, the students were unable to do self-study and had to rely completely on the limited teaching hours of Computer Science subject. Next is, digital divide. Not all families have computer at home. In addition, the number computers at schools are still insufficient. Secondly, current learning method is less focused on practical coding, which is the main attraction of Computer Science subjects. Thirdly, in term of language of communication and perception towards programming, where different language used in learning materials than global source of information. Lastly, we found that the teaching and learning time for Computer Science subjects is limited. While conducting the research, we identify several components to be tested in future, which are; support think-pair, mobile-friendly, competition-based, and low usage of system resources; small memory footprint or RAM usage and low CPU usage.