Keywords

1 Introduction

The vision of our country lies in the hands of our youths. The primary role of young people is to get a good education in order to become better citizens of tomorrow. They need to learn skills to do the job that their country’s economy needs. With the advent of IR 4.0, our country needs experts in Artificial Intelligence and IT-related disciplines. Programming is one of the essential skills that one need to master in if they want to be expert in IT-related disciplines. If we are able to produce high-skilled students in programming, the country will be able to produce many system makers, while reducing the dependency on outsiders. This research aims to identify the issues and challenges in teaching and learning coding among secondary school students of national schools in Malaysia. Any proposal to change the current setting of teaching programming in national schools will be avoided as frequent change of education system may not be preferred by both the government and citizens. As, such, this study will be based on the Malaysia Education Development Plan (MEDP). MEDP contains five system aspirations and six student characteristics that our country plan to achieve over the next 13 years, from 2013 to 2025. It is a comprehensive manifestation of government transformation for students from pre-school to university. Apart from educational planners, school authorities and the governments, the findings of this research will be useful to the researchers that plan to conduct research in teaching and learning coding for school students.

2 Coding in National Schools

Programming is an essential language to know in digital age and being able to code helps to understand so much more about all the technology. Coding fosters logical thinking and problem-solving skill. Introducing coding into school curriculum is not something new for Malaysia [1]. Programming has been introduced in Malaysia schools since 2016, starting with year six primary school. There are several studies that have been conducted previously related to programming teaching such as works by Kanemune et al. [2], Tundjungsari [3], Sklirou [4] and Jawawi et al. [5].

2.1 Primary School (Year Six)

In a Malaysia public education system, year six of primary school is for the student age 12 years old. In this stage, Information and Communication Technology (ICT) is taught as a subject for preparation for high school. At this point, focus is given to mastery of knowledge and skills that fit the student's level of ability by introducing five modules; computer world, multimedia exploration, networking systems, Internet, database and programming. Scratch is being taught as a practical skill.

2.2 Secondary School (Upper and Lower Secondary)

In 2017, under the new Secondary School Standards-Based Curriculum (KSSM) for lower secondary students, the ministry introduced two subjects called Basic Computer Science and Design and Technology [1]. Students are given the option to learn either one of the subjects. Design and Technology subject includes topics such as product design, agriculture technology such as aquaponic, fashion and basic carpentry. Normally, only schools with computer lab facilities and IT teachers will offer Basic Science Computer subject. In Basic Computer Science, the students will be exposed to coding in different programming languages such as Scratch, HTML and Python in problem solving and projects. In the previous curriculum, when Information and Communication Technology subject was introduced, this subject emphasizes on computing only. Lower secondary is for the students age 13–15. The curriculum of the Basic Computer Science subject offered to the lower secondary students focuses on providing the students with computational thinking.

Upper secondary is for the students age 16 and 17. The fourth-form and fifth-form students can further study coding in subjects such as computer science, invention or engineering and vocational related subjects as elective subjects. Figure 1 shows level and name of subject which coding is taught in Malaysia national schools. In Fig. 1 it can be seen that the second-form and third-form have continuity of learning by starting Python at the beginning and ending it with the same language before sitting for the PT3, which is one of the major examinations in Malaysia education system. Fourth-form and fifth-form emphasize the database management system. It can be seen that the emphasis on mastering programming has decreased upon the completion of third-form because the focus of the syllabus has shifted to database management.

Fig. 1
figure 1

Coding in national schools

3 Issues and Challenges and the Suggested Possible Solutions

There are 6 possible challenges of both teaching and learning programming in Malaysia schools have been identified. The challenges Malaysia is facing may be different from other countries in this world due to the culture differences and economic situation.

3.1 Language of Communication

All the debates raging round for whether Mathematics and Science should be taught in English or Malaysia Language (Bahasa Malaysia) is applied to the teaching of Computer Science subject as well [6]. While Malaysia Language is believed to be able to increase understanding of majority of the students and preserving heritage, using English on the other hand will give more advantages such as global application and wide access to external materials.

Currently, most of the national schools use Malaysia/Malay Language in school for teaching Computer Science subject. While teaching the theories of Computer Science in the students’ native language may not disclose any flaws, 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 that can be used to help the students learn coding are in English. This issue becomes more prominent due to the gap in English proficiency between urban and rural students. Ibrahim et al. [7] and Maros et al. [8] reported that despite going through the same curriculum, the level of English proficiency in rural schools is much lower than the level in the urban schools. Referring to an example of a scenario related to the mother tongue, a study conducted by Ibrahim et al. [7] proves that a large number of errors identified in the English assignments used as the testing materials due to mother tongue interference. The study by Ibrahim et al. [7] was conducted among young Malay learners in Malaysian secondary schools.

Although the language has been said as one of the possible reasons of teaching Computer Science may not as efficient as what it should be, there is no published research specifically conducted has been found so far to support this fact. Thus, a survey needs to be conducted to identify whether the usage of English really cause a problem or not. And if yes, at which particular aspects really bothering the teachers and students? Does it relate to teaching resources, medium of communication, or learning resources? This is important as if the language is not the main problem, we can maintain the existing teaching methods so that efforts can be focused on improving other aspects. With the emergence of social media platforms, with many students have accessed to it, will the exposure to the “computer language” is enough for the students to at least identity the learning resources by themselves? What is the relation between ability to identify the right learning resources and English language? The answer is, the secondary school students sometimes become clueless on the choice of keywords to be used when to search for resources using search engine. They are not sure or cannot even think of any suitable keywords to be used in searching. When too many irrelevant information displayed after the arbitrary searching, they will waste too much time in filtering for the right information that suits to their needs. To conclude what has been discussed before, it is important for the country to identify whether it is correct that language is a barrier to effective programming learning, especially for those who are interested in self-study.

3.2 Implementation and Execution

The detail implementation of ICT teaching and learning in for primary schools is described in [3] and in [9] for upper and secondary schools level. The desire of the Ministry of Education Malaysia to produce competitive students to face the IR 4.0 era is indeed commendable. However, there are some issues that need to be identified to ensure that the original planning of the country is in line with what has been presented in the education plan. Ideally, if the teaching of Computer Science involves a practical class, the ratio between teacher and students shall be around less than 30 students per teacher. This ratio is suitable for university undergraduate level program. However, for school level, the number of students per lab session shall be less than 20 students. This recommendation is based on the authors’ experience of conducting programming lab for more than 10 years. From a study conducted by Olanrewaju and Oluyomi [10] to 150 students taking Physics in one of the secondary schools in Nigeria, it is recommended that stakeholders should put more effort into ensure that the class size is reduced to teacher-students ratio of 1:35. Any subject that requires hands-on skills does require a small class size to give teachers the opportunity to focus on students with different levels of learning mastery. Since learning to program is difficult [11] due to its nature that involves correctness of logic, syntax, and semantics; programming is a subject that is definitely included in the subject group that requires a hands-on approach.

Based on the guidelines from the Town and Country Planning Department of Selangor, the ideal class size for primary school was 30 while the ideal class size for secondary schools was 25 students per classroom [7]. This is in contrast to the current situation, where based on the findings of 3 secondary schools in Gombak district of Malaysia conducted by Ibrahim et al. [7] the class size is in the range between 29 and 38 students per class. However, this large class size may occur in schools located in densely populated areas in major Malaysian cities such as Gombak.

For programming subjects, the problem of class size seems to be easier to overcome by arranging teaching schedules. A more difficult issue here is the lack of skilled teachers in the field of programming. Class size reduction is a popular but expensive educational reform. However, it pays off in terms of academic achievement and is easily controllable by local officials [12]. Although it is said to be easily controlled by the government, the current state of the country’s economy can be a major factor that will hinder the country’s educational planning, including in resolving the issue of class size and lack of skilled teachers in programming. Something needs to be done so that with the existing workload, teachers still have time to prepare themselves with the skills needed for Computer Science subjects.

Other related issues are about, how are the responsible authorities going to ensure the standardization for the teaching of coding? If most developed countries use a school-based assessment system [13], assessment that focuses more on academic achievement through formal national examinations is still regard as the best practice so far for developing countries like Malaysia. While cultivating the knowledge without putting a burden to the student with examination, apart from general examinations such as PT3 and SPM, conducting one standard test to assess the level of mastery of programming skills among secondary schools’ students has not yet been made uniformly. A good programming assessment system is able to form students who truly master the desired skills for the future, not just learn to pass the exam. To the best of the author's knowledge, no specific study has been conducted to evaluate the effectiveness of public examinations on the formation of programming skills.

3.3 Digital Divide

The use of mobile technologies appears to be in line with the strategic goals in education besides facilitating and promoting learning anywhere and anytime [14]. Despite the complete and advance mobile infrastructure in the developed world, the digital divide still exists in developing countries [14]. As for Internet connection, even though Malaysia (together with Singapore and Brunei) has been listed as one of the three countries in South East Asia that have over 80% Internet penetration, there are certain places in Malaysia have poor Internet service. For example, in Kuala Lumpur, people are enjoying high-speed Internet up to 800 MBps. At the same time, in Sarawak (East Malaysia), the Internet speed is much slower, with some areas in the state without any access to Internet service [15]. Even when online access is available, some challenges persist. As a developing region, in Southeast Asia, many students 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 [15]. The rural areas will have some issues in implementing Computer Science education in their schools due to administrative and facility barriers. To learn coding, the students are going to need not just the teachers but also the facilities. The schools that will have the facilities will be those from the wealthier and more developed regions. The urban areas will likely have the facilities and support, leaving the urban areas further behind. Despite of all the issues discussed before, digital divide is sometimes not seen as a problem because Computer Science subjects are only offered by schools that have computer labs and teachers trained in ICT. Or in other words, programming is just an optional skill or value-added for students rather than a compulsory subject.

3.4 Quality Digital Content

In Malaysia, text books are used as the main teaching and learning resources. Undeniably, the quality of text books produced after the implementation of KSSM (Secondary School Standards-Based Curriculum) is very much improved with more exciting components such as activity, case study, project, animation and short information on innovation and daily applications of computer science. Apart from the appealing print layouts and illustrations, the success stories and achievements pertaining to computer science in Malaysia are also included as an element of motivation to the students. Most of the text books mentioned the careers in computer science. This is good indeed as even though Malaysia had been introduced to IT since the emergence of Multimedia Super Corridor (MSC) in year 1996, the careers in IT are still not widely known. Refer to [16,17,18,19,20,21] for all the electronic text books of Computer-science related subjects starting from year six to fifth-form. All the text books are published in Malaysia/Malay language. The contents of the books are all well-crafted with full of meaningful information. In the government policy, students are encouraged to learn at self-paced, do self-accessed and self-assessed [22]. However, the quality digital tool for coding subjects, developed tailor to the needs of national school students is yet to be created. Despite of the excellent quality of the current text books adopted by national schools’ students, use of tools is really needed. A quality digital tool is believed to contribute to high quality lessons since they have potential to increase students’ motivation, connect students to many information sources, support active in-class and out-class learning environments, and let instructors to allocate more time for facilitation [23]. By still using the case study conducted in Malaysia, there was a recommendation that wants application to be developed to solely focus on education, in which the students will not be able to access other things apart of the learning contents [14]. It can also be seen that the use of reiterative independent method has high potential to be adopted in future applications. Reiterative independent method, is a method that instills in students the skills and mindset for learning new materials without being directly taught. This method is similar to the established method named Kumon [24, 25].

3.5 Assessments

There are 2 main examinations for national secondary schools, namely Sijil Pelajaran Malaysia (SPM) and PT3. The SPM or the Malaysian Certificate of Education, is a national examination taken by all fifth-form (17 years old students) secondary school students in Malaysia. Another one is PT3, which is a summative assessment to assess the academic achievement of students at the lower secondary level in Malaysia. PT3 is taken by all third-form (15 years old students) secondary school students in Malaysia. Table 1 shows the examinations conducted for computer science-related subjects offered starting from year 2019. Programming courses were assessed in these two major national examinations. As for school-level examination, there is no specific format imposed to the examinations’ questions. The schools are free to construct the questions that suit to their school’s students. The information of major examinations in Malaysia are as of stated in [26]. The percentage of assessment for Basic Computer Science subject of PT3 examination is 70% allocated for written examinations and 30% for individual project that was assigned for the students to complete in about 6 months (from March to August). For the project, the PT3 candidates are required to translate ideas by writing step-by-step solutions in pseudocode and flow charts, which lastly translated into a program. The students are also required to analyze and compare method of program development, test, detect, and fix errors of program [27]. Example of project question for SPM candidates is to develop business information management system [28]. Since there is a need for students to master programming for the purpose of getting good grades for general examinations, this is seen to indirectly motivate students to practice what they have learned for the previous 2 years. Written examinations accompanied by projects are seen as complete enough to assess students’ performance in mastering the subject. However, the question here is, is the learning process that students go through to face exams able to shape students towards mastering programming skills? Or, would it be possible that students who obtained A- and above in the major examination, actually do not have practical skills? One more thing, after completing SPM, students in Malaysia can choose whether to continue their studies by taking either a certificate, diploma, matriculation or sixth-form. At this stage if students choose the science stream, they will take subjects such as Mathematics, Physics, Biology, English and Chemistry. Only students who take the Foundation in Computer Science continue to study Computer Science related subjects such as basic programming, introduction to algorithms and some mathematics related subjects. It can be seen here that if students do not choose the basic course of Computer Science, there is a gap of one to two years before they continue their studies at the level of Computer Science degree. This results in what was previously learned cannot be practiced at the degree level.

Table 1 The examinations conducted for computer science-related subjects offered starting from year 2019

It is recommended that assessments starting at the school level should lead to strengthening algorithm building and mastering syntax. For SPM level, written examinations for programming topics should be replaced with formatted questions allowing students to use compilers to get answers. The use of compilers can actually motivate students and make students so happy because they can see the results in front of their eyes. Project-based assessment is actually quite difficult for students under the age of 17, especially if they are still in the phase of exploring new fields. Projects can make students and teachers feel burdened.

3.6 Teaching and Learning Time

Programming requires hands-on learning, at least 1–1.5 h a week. Students are usually able to improve their skills as they are gradually exposed to these new concepts gradually. Students also need a self-learning system to strengthen learning comprehension. However, since students need to study some other subjects, the time allotted for Computer-science subjects are very limited. The amount of time spent by the primary and secondary students in Malaysia to learn Computer Science is as shown in Table 2. Despite of the limited time, we can see that the duration of teaching Computer Science increases as the level of study goes higher. Since finding solutions to the problem of limited learning time is quite difficult as it involves major issues such as logistics and financial allocation, the provision of a self-learning system needs to be provided. An in-house learning tool developed tailor to the specific needs of national schools’ students and teachers is needed. Another issue that is worth to be discussed is pertaining to the interesting elements incorporated into the current text books. Direct link to the web site for additional information via the scanned QR codes and interesting project for the students to try, are some of the examples appealing current text book features of Malaysia schools. Undoubtedly, all these latest elements are very interesting and innovations like this are indeed to be commended. However, due to the time constraints, the students do not have much time to utilize all these new interesting features. Teachers have to work hard to finish the syllabus and students struggle to also focus on other subjects. Again, a self-learning system needs to exist and it needs to continue to focus on practical skills.

Table 2 The average teaching duration of computer science-related subjects offered starting from year 2019

4 Analysis

All issues presented in this paper are based on a study of the national education policy development plan as well as learning materials that are accessible to the general public. In the next study, we intend to obtain information directly from teachers, students and policy makers to verify validity. Based on the issues identified earlier, the main solution is short-term job exemption to give teachers the opportunity to create a simple system to practice programming.

Programming is not suitable for learning in situations where it is still necessary to perform other teaching tasks. In terms of academic assessment, all the solutions proposed in this paper are on the assumption that we still maintain the current syllabus which still requires students to learn about other theories, not programming alone. It is suggested that academic assessment should be based on a small percentage (30%) allocated to assess theory or knowledge in topics such data representation and algorithm reconstruction, and another 70% is for programming. Programming questions should not be in written format, instead allowing students to use a compiler to get answers. Examinations that take into account the project should be avoided because with the shortage of study time, it is feared that the project will be done not in a situation where students are interested in learning something but only to pass the exam. For long-term strategy, we should assess the sequence of the programming languages taught to the students. There are several issues that shall be considered which are presented in a form of the following questions; (1) is it necessary for the students to be exposed to several languages throughout their years of study? (2); did we consider the continuation of study? For example: After the student had completed learning Python in second-form and third-form, how does that knowledge is bringing forward to fourth-form and fifth-form?

5 Conclusions

The Malaysian Education System is undergoing a revolution where every year we can see there are so many improvements that have been made. Among the brilliant ideas that are being implemented is to introduce the subject of Computer Science to primary and secondary school students in Malaysia. Malaysia has invested heavily to develop coding skills among the students, with several plans have been formulated prudently in order to ensure the success of the mission. In pursuits of a mission, several issues and challenges have been identified with some possible solutions are presented. The identified issues are from the perspective of language of communication, implementation and execution, digital divide, quality tools, assessments and teaching and learning time. Most of the recommended solutions to the identified issues do not require significant modifications to the existing education setting used by national schools in Malaysia. This works suggests creating a self-learning system built specifically for the national secondary schools’ syllabus, short-term job exemption for teachers and programming skill test to replace project as part of assessments to increase the rate of teaching effectiveness of Computer Science subjects, especially programming.