WORLDCOMP'12 Typing Instructions for Preparation of Final Camera-ready Papers Kurdistan Journal of Applied Research (KJAR) Print-ISSN: 2411-7684 | Electronic-ISSN: 2411-7706 Volume 3 | Issue 1 | June 2018 | DOI: 10.24017/science.2018.1.7 Received: April 12, 2018 | Accepted: May 2, 2018 The Impact of Teaching Materials on Learning Computer Programming Languages in Kurdistan Region Universities and Institutes Rania Azad M. San Ahmed Sardasht M-Raouf Mahmood Rebwar Mala Nabi Computer Science Institute Statistics and Computer Dept Deanery Department Sulaimani Polytechnic University University of Sulaimani Kurdistan Technical Institute American University of Iraq, Sulaimani Sulaimani, Iraq Sulaimani Polytechnic University Sulaimani, Iraq sardasht.mahmood@univsul.edu.iq Sulaimani, Iraq rania.azad@spu.edu.iq rebwar.nabi@kti.edu.krd Dana L. Hussein Computer Science Institute Sulaimani Polytechnic University Sulaimani, Iraq Dana.hussein@spu.edu.iq 27 Abstract— It is evident that learning and teaching computer programming are considered as one of the striking challenges in academic environments. Meanwhile, selecting the correct and appropriate materials can leave an enormous impact in learning computer programming languages. However, recently this argument has been put under scrutiny as to which types of materials motivate learners to learn computer programming languages as well as enhance learning outcomes. Therefore, the main objective of this study is to investigate the current teaching and learning materials of computer programming languages in Kurdistan region of Iraq universities. Additionally, another aim is to give a rigorous analysis of how materials help students to learn computer programming language. A further focus is to identify the difficulties of learning computer programming languages at undergraduate level which constitutes technical Diploma and Bachelor. The last but not the least, this paper examines new approaches to teaching programming languages as a cognitive model for programming education. Keywords— Computer Programming, Learning Materials, Programming Education, Teaching Materials. 1. INTRODUCTION Teaching and learning of computer programming languages (CPL) are considered as one of the unresolved challenges in the academic environments. Nevertheless, in the recent years, the interest of learning and teaching CPL has increased dramatically. Computer programming is defined as “the process of writing, testing and debugging of computer programs using different programming languages” [1]. Learning how to program is considered the complex subject. Several studies show that often programming classes have the highest drop-out and failure rates due to the rigidity of learning programming and the needs of multiple abilities and knowledge [2]. It is essential for a programmer to have declarative and procedural knowledge. Declarative refers to memorize programming language syntax and the ability to comprehend semantics. Whereas, the procedural is the needs of abstraction and logical thinking skills to reach the solving and designing programs capabilities [1]. Nowadays, the interest of learning computer programming has increased significantly for students as well as teachers, it is a useful skill that can be fulfilling a career [3]. Novice students learn first the basics of a programming language and then build more advanced skills by study effective strategies and methods of programming. An educational research shows that to turn a novice into expert programmer require around 10 years of hard work. Based on that data has been collected to identify the characteristics of novice programmers and classify them based on effective and ineffective learners [4]. The main focus of this study is to investigate the current teaching and learning materials of CPL in Kurdistan Region universities. In addition, another aim is to give a rigorous analysis of how materials help students to learn CPL. Furthermore, this paper also focuses to identify the difficulties of learning CPL at the undergraduate level. To analyze the of student’s difficulties in programming, a study has been conducted by collecting data from a group of undergraduate students. Finally, this study also examines new approaches to teaching CPL as a cognitive model for programming education. The rest of the paper is organized as follows: in section two, a literature will be provided about CPL and focus on novice learner by identifying their capabilities, typical problems and the distinction between effective and ineffective novices. Then exploring the main difficulties for teachers is to design the effective syllabus and efficient teaching strategies. In section three, the methodological approaches to design and teaching the course by solving the explored issues for learners. Additionally, the results mailto:rebwar.nabi@kti.edu.krd 28 and discussion will be explained in section four and five respectively. Finally, the brief conclusion in section six will be explained. 2. LITERATURE REVIEW Computer programming is defined as “the process of writing, testing and debugging of computer programs using different programming languages” [1]. Meanwhile, it is a fundamental component of computer science and other IT education curriculums [5]. According to several studies which have been conducted by [2], it takes about ten years to develop expertise in any of a wide variety of areas [6]. At the same time, other studies indicate that programming is not a simple task; it needs multiple skills and knowledge such as memorization, comprehension, ability to solving the problem and program design [1] [2]. It is widely accepted that the teaching and learning of CPL are considered as one of the striking challenges in studying the computing science and related fields. In order to learn computer programming, the main fundamental resources have been identified in Figure 1. Fig 1: Teaching and Learning Resources In the classroom teaching, the teacher generally spends a significant time in teaching the program constructs of a specific language and devotes less time to expose the actual programming process and practice [1]. The problem with classroom teaching is that learner will benefit if already the learner has good skills of comprehensive and logical thinking, otherwise will suffer to fill the gap between language constructs and program construction. Becoming an expert in programming at an undergraduate level can be impossible, only competent students can through endless practices. Although lab sessions have an essential roles in learning programming languages. However, some teachers give big projects and assignments rather than beginning with simple and small assignments. Additionally, some students may not obtain sufficient feedback regarding difficult issue rather low-level issues during the lab session. The third main resource is programming textbooks which contain statistic information and knowledge that are not helpful in program construction process [1]. Numerous challenges and difficulties have an impact on the teaching and learning of CPL in almost all the institutions of higher education. These challenges include students’ difficulties, teaching difficulties and methodology issues which have been explored as the following: 2.1. Student Difficulties It is well-known that many newcomers have difficulties in CPL. Programming is a very complex subject that requires hard effort and a special methodology learn it and teach it. To become a skillful programmer, a student must acquire a series of abilities that turn out well beyond knowing the syntax of some programming language[5]. There are also several issues in student difficulties such as: 1) Lack of Problem Solving Skills Freshmen are unable to create algorithms or solve problems, mainly because they feel anxious to start writing a code or understand the problem correctly. Furthermore, another reason is that students do not use prior knowledge to the new problems. Alternatively, they group all the problems based on superficial characteristics instead of the same principle which turn to solve the problems with incorrect solutions [5]. 2) Lack of Mathematical Skills and Logical Knowledge Gomes et al. proved through their experiment on second semester students suffered from lack of converting a textual problem into a mathematical formula to solve certain problems. Additionally, a limitation in logical reasoning and abstraction level were also identified. Therefore, mathematical problem-solving competences are essentials for programming [5]. 3) Lack of Programming Knowledge In common, new students have no knowledge about how programming structure works or even how to detect syntaxial and logical programming errors [5]. 4) Students Gender Previous studies showed that programming learning differs in gender; a documented study shows that women are more likely less perform in the programming classes than their male peers. According to [7] the rates of women withdrawing or failing the programming classes are higher than male. 5) Computer Literacy and Lack of Access Some students have been never use or operate computers previously in their high school or they only have basic knowledge at least. Thus, it is difficult for them to understand programming, memorize syntax and semantics of the language in their first year programming class [6]. Another issue arises that affects teaching and learning of CPL, several students are unable to afford to have their own laptops. Using the laptop of the lab it is restricted only during the day upon the availability of the lab [6]. 2.2. Teaching Difficulties It is evident that Likewise students, teachers also have several difficulties which are: 29 1) Impersonalized Teaching Using a personalized supervision method in the class would be an excellent way to give instant feedback during teaching and solving problems to students, however, it is difficult during the programming courses for the teacher be always available and helpful because sometimes time and student numbers are limited [2]. 2) Teaching Learning Styles vs. Student’s Level Majority of students accept different learning style or prefer their own way to learn. Several students prefer a solitary process while others may prefer a more dynamic learning environment. Moreover, some courses request specific learning style. However, teachers use same pedagogical strategies with a different level of students which lead to abnormal outcomes. Importantly, the teacher shall guarantee that the students choose the right approach for the right subject [2]. 3) Traditional and Passive Learning Method The traditional learning approach is based on deliverance of knowledge in the classroom by the teacher using PowerPoint-based lectures accompanied by audiovisual and other multimedia teaching. Students became passive recipients of knowledge from the teacher, they often perceive their programming classes as “dry, boring, and tedious” [8]. 4) Syntaxial Details vs. Problem Solving Using Programming The main focus of the teachers is to transfer syntaxial details to students before having enough good understanding of programming concepts and the ability for problem-solving. [5]. 2.3. The Study Methods 1) Wrong Methodology by Students Students are used to memorizing structures and formulas without full comprehension of the problem-solving. Few learners believe that reading textbooks make them learning programming languages [5]. The methodology of Programming is to enhance the practical side by having intensive and different problem solving to do than reading and memorizing [5]. 2) Students Laziness Programming requires intensive hard working to acquire good skills, however, students are taught from high school to get solutions ready. Moreover, they focus on reading textbooks to pass. 3) Inappropriate Curriculum Design The syllabus is an important pile document to communicate between teacher and students that requires careful design. Curriculum considered as a major role in motivating and engaging students as it is the first interaction between teacher and students [9]. Research indicates that Bad Curriculum design has a negative influence on student motivation and course’s perceptions to engage with the teacher [10]. 3. METHODS This study was composed of two main phases which are conducting a questionnaire to undergraduate students as well as computer programming lecturers and interviewing of programming lecturers. 3.1. Final Questionnaire The objectives of this study are to investigate the current available teaching and learning materials. To achieve the objectives the study has been divided into two major sections. In section one, set of questions were sent to undergraduate students through a suitable questionnaire. Meanwhile, a questionnaire was distributed to the lectures in Kurdistan Region universities The questionnaire was designed in three parts. Firstly, three questions have been gathered about the gender of the participants, level of education and the universities names. Secondly, the status of current available teaching and learning materials have been explored. Thirdly, this section was based on teaching and learning material evaluation that consists of seven questions rated based on a scale of 1 to 6 as satisfaction level. Finally and most importantly, participants have been provided several open questions about their suggestions and recommendations to improve teaching and learning computer programming languages education materials. 3.2. Theoretical Interview Another phase of the study was to interview face-to-face expert programming lecturers to ask several questions to examine new approaches to teaching programming languages as a cognitive model for programming education. In this phase, 20 lecturers have been participating from seven universities as well as institutes holding bachelor, Master and Ph.D. Degrees in the related field. 4. RESULTS The questionnaire structure addressed several questions in accordance with the aims and objectives the study. The questionnaire was designed into three parts: 15 questionnaires for teachers, 11 interview questions for teachers and 15 questions for students. The questionnaire was distributed to all KRG universities and institutes. The questionnaire covered key questions regarding teaching computer programming materials in the point view of students as well as lecturers. The total participants for students were 272 and for lecturers were 172. Meanwhile, face to face interview was conducted with 20 lecturers in several universities and institutions. Students from 14 universities and six institutes participated. 4.1. Student Questionnaire Results The majority of participants were male gender with %65 while only %35 was female. In regards to education level, a student from different undergraduate (bachelor and 30 diploma) participated. More importantly, graduated students also participated with %30. Fig 2: CPL Teaching and Learning Resources for students Figure 2 illustrates resources and techniques of learning teaching materials in programming. Lab session was identified as the most favorite resource among the participant to learn computer programming with %65. On the other hand, %18 of the students preferred using books in learning programming. An overwhelming majority of the respondent 60% were mentioning that learning materials are not appropriate for the intended groups of learners. Moreover, only %5 of respondent believed that learning materials are appropriate in Kurdistan Region. It widely accepted that learning material in computer programming suffers from wide ranges of challenges. As it can be seen in figure 3, English Language, teaching methodology and lack of Programming resources in Kurdish Languages have been identified as major challenges for students with %57, %53 and %53 respectively. In one hand, issue of having professional’s lecturers and choosing the academic field during university admission have been considered as challenges by %46 of the students. Fig 3: CPL Learning Challenges and Issues for students In order to overcome the mentioned challenges, students were asked to demonstrate their opinions. As shown in figure 4, a higher number of students believed that adopting modern teaching techniques and methods might solve the issue. Accordingly, %57 indicated that adding Kurdish resources in learning computer programming and increase the number of programmer experts in the universities and institutions could decrease the impact issue. Last but foremost, %51 of the respondent stated that choosing the study discipline during academic admission would eliminate the problem. Finally, the overall CPL teaching and Learning have be evaluated in table 1. Fig 4: Solving the Issues and Challenges of CPL Learning for students Table 1: Overall CPL Teaching and Learning Evaluation for students Questions Satisfied Level (%) 1 2 3 Computer programming advantages 20% 40% 40% Importance of CPL materials 73% 20% 7% Market needs 38% 37% 25% Using different resources 75% 19% 6% Increasing opportunity 39% 34% 27% Relation between universities and Companies 83% 14% 3% 4.2. Teacher Questionnaire Results The common of participants were male gender with %74 whereas only %26 was female. In regards to education level, %96 were master holders and the rest were Ph.D. lecturers. It is worth mentioning that there are only a few assistant professor and professor in the entire region. Therefore, only %1 of professors were respondent the Questionnaire. Fig 5: CPL Teaching and Learning Resources for teachers 31 Figure 5 explains resources and techniques of learning teaching materials in programming. Working in labs was selected as the most influential technique to learn computer programming with %74 of participated lecturers. In addition, watching video tutorials was also mentioned as second important resources. Nevertheless, likewise, students, %41 of the lecturers preferred using books in learning programming. As importantly, lecturers have also recommended several other resources to learn computer programming such as using mobile apps for learning programming, conducting assignments, implementing small projects and special training. In regards to the impact of the current teaching-learning materials in the Kurdistan Region, the majority of the lecturers believed that learning materials are not appropriate for the intended groups of learners with %41. Moreover, only %5 of respondent believed that learning materials are appropriate in Kurdistan Region. Table 2: Effectiveness and Demand Compatibility of Learning Materials How effective the current learning materials Effective Normal Not effective Student 49 %18 118 %43 105 %39 Lecturer 40 %23 61 %35 71 %41 Are the learning materials compatible with student demands Compatible Normal Not Compatible Student 13 %5 162 %60 97 %36 Lecturer 10 %6 48 %28 114 %66 Table 2 demonstrates recent effectiveness and demand compatibility of learning materials. As it can be noticed only %18 students believed that current learning materials are effective. While %23 of the lecturers believed that current learning materials are effective. Unexpectedly, the majority of the lectures with %66 stated that the current learning materials not compatible with student demands. However, only %36 of students indicated that are not compatible with current demand. Other questions were asked to investigate the current challenges in learning and teaching computer programming in lecturer’s perspective. In Figure 6 several challenges were identified such as English Language, teaching methodology, obligatory student distribution by the ministry of higher education and scientific research and lack of Programming resources in Kurdish Languages have been identified as major challenges with %59, %58, %55 and %52 respectively. Fig 6: CPL Learning Challenges and Issues for teachers To solve the current challenges, lecturers were requested to show their views. As presented in figure 7, a higher number of lecturers believed that adopting modern teaching techniques and methods might solve the issue. Accordingly, %52 indicated that adding Kurdish resources in learning computer programming. In addition to that, %72 of the participants believed that adopting modern teaching methodology techniques might be beneficial. Considering everything, %52 of the respondent stated that choosing the study discipline during academic admission would eliminate the problem. Finally, the overall CPL teaching and Learning have be evaluated in table 3. Fig 7: Solving the Issues and Challenges of CPL Learning Table 3: Overall CPL Teaching and Learning Evaluation for teachers Questions Satisfied Level (%) 1 2 3 Computer programming advantages 35% 37% 28% Importance of CPL materials 83% 12% 5% Market needs 40% 28% 32% Using different resources 80% 17% 3% Increasing opportunity 54% 22% 24% Relation between universities and Companies 92% 5% 3% 4.3. Teacher Interviews Results With the aim of involving lecturers in the study, 20 lecturers were interviewed face-to-face. The participants have been asked to answer several questions about teaching-learning material issues based on their experience. Lectures were selected from different areas as well as universities. An overwhelming majority of %90 have 32 indicated that the teaching-learning material is not appropriate in CPL. Moreover, %98 of respondent said that the English level of the students have a relatively negative impact on teaching and learning CPL. In addition to that, the issue of lack Kurdish reference in CPL has been also noticed by %85 of the lectures. Taking everything into account, lecturers have stated that the practical lesson shall be given more consideration since it has been found promising among the student performance. 5. DISCUSSION In this section, we deliberate our results and describe the interpretation and implication of result 5.1. Result Interpretation The results of qualitative and quantitative along with a theoretical interview of our study are very encouraging. According to the results, learning teaching materials in the Kurdistan Universities are not yet designed to overcome the challenges. %40 of the students stated that they have not benefited from the existing teaching-learning materials. At the same time, the majority of students with %73 mentioned that the teaching-learning material is the heart of learning computer programming. In regard to the challenges and its solutions, it was found that the lack of English languages was considered as the main issue since students have a little background when they join universities. Several possible actions are essential to overcome this problem such as conducting foundation English course, changing the English curriculum in schools to prepare students with a good level of English. Another issue was identified that students have no background in programming before university study. It is recommended that Ministry of Education should add logic programming and/or algorithms to the basic, intermediate and high school curriculum to enhance their problem-solving skills. Furthermore, central admission from the ministry of higher education and scientific research (MoHESR) has been also regarded as the major challenges for students in learning computer programming with %46. It noteworthy that recently the MoHESR has implanted a new system of admission in which students can choose their study based on their desire for the majority subjects. As we have mentioned earlier that %39 of the students stated that the current teaching-learning material is not effective and %36 mentioned that not compatible with student’s demand. In the meantime, %38 of the students indicated that learning computer programming is essential to fulfilling the market need. Moreover, %39 of the students assumed that knowing computer programming increase the opportunity for find jobs in the market. %84 of the students believed the relation and cooperation between universities and private companies are important to design curriculum based on market need and conduct entrepreneurship programs. 5.2. Managerial Implication The results from this study spectacle actions from the MoHESR to solve the current problems by: 1. Establish a higher managing committee (by MoHESR) which involving group of top professor and lecturers and programmer experts to design up- to-date curriculum 2. Add programming logic and/or fundamental for the algorithm in the high schools by the ministry of education. 3. Strengthen the relationship between the universities and private companies to re-design curriculum based on market need and conduct entrepreneurship programs. Likewise, promote the funding concept to motivate students to involve and develop applications to fulfill market needs 4. Conduct conferences, symposiums, workshops, and seminars by inviting all universities and institutes to study the challenges of teaching-learning materials and find appropriate solutions. 5. Increase the practical session during the academic year and promote teamwork. 6. Improve and add Kurdish resources such as books, video tutorials and mobile and computer applications. 7. Conduct Professional training and certification for the lecturers, head of departments by bringing international experts in teaching computer programming to Kurdistan universities staff. 6. CONCLUSION The objective of this study was to investigate the current teaching and learning materials of computer programming languages in Kurdistan region of Iraq universities. Additionally, another aim is to give a rigorous analysis of how materials help students to learn computer programming language. A further focus is to identify the difficulties of learning computer programming languages at undergraduate level which constitutes technical Diploma and Bachelor. And more importantly, this paper examines new approaches to teaching programming languages as a cognitive model for programming education. Based on the results of the 272 students and 172 lecturers indicate that learning teaching materials in the Kurdistan Universities are not yet designed to overcome the challenges. Moreover, the teaching and learning CPL in Kurdistan universities suffer from wide range issue such: − Lack of CPL expert lecturers − Lack of Kurdish Resources in CPL − Inappropriate level of English for undergraduate and graduate students − Structure and study system − Studying different programming languages in different stages It is also can be identified that the responsible body in the Kurdistan Region was not focusing on this issue for instant MoHESR, University Presidents and curriculum directors and head of scientific departments. Finally and most importantly, this study recommends that instant actions shall be taken from different bodies to overcome these issues in the Kurdistan Universities for example, establishing high Managing committee from MoHESR. Conduct several conferences, workshops, and symposium to identify and rectify the problems in the universities as 33 well as institutes. Admittedly some limitations should be acknowledged. We were unable to interview the university and ministry chairs who are responsible for designing curriculum. REFERENCES [1] V. Renumol, S. Jayaprakash, and D. Janakiram, “Classification of cognitive difficulties of students to learn computer programming,” in Indian Institute of Technology, India, 2009, p. 12. [2] P. Norvig, Teach Yourself Programming in Ten Years. 2014. Retrieved from: http://norvig.com/21-days.html. [Accessed: 01-Feb-2017]. [3]A. Robins, J. Rountree, and N. Rountree, “Learning and Teaching Programming: A Review and Discussion,” Comput. Sci. Educ., vol. 13, no. 2, pp. 137–172, 2003. [4] K. M. Ala-Mutka, “Problems in learning and teaching programming-a literature study for developing visualizations in the Codewitz-Minerva project,” Codewitz Needs Anal., pp. 1–13, 2004. [5] A. Gomes and A. J. N. Mendes, “Learning to program-difficulties and solutions,” Int. Conf. Eng. Educ., pp. 1–5, 2007. [6] B. Isong, “A Methodology for Teaching Computer Programming: first year students’ perspective,” I.J. Mod. Educ. Comput. Sci. Mod. Educ. Comput. Sci., vol. 9, no. 9, pp. 15–21, 2014. [7] G. Silva-Maceda, P. David Arjona-Villicana, and F. Edgar Castillo- Barrera, “More Time or Better Tools? A Large-Scale Retrospective Comparison of Pedagogical Approaches to Teach Programming,” IEEE Trans. Educ., vol. 59, no. 4, pp. 274–281, 2016. [8] X. Zhang, C. Zhang, T. . Stafford, and P. Zhang, “Teaching introductory programming to IS students : The impact of teaching approaches on learning performance,” J. Inf. Syst. Educ., vol. 24, no. 2, pp. 147–156, 2013. [9] R. J. Harnish and K. R. Bridges, “Effect of syllabus tone: Students’ perceptions of instructor and course,” Soc. Psychol. Educ., vol. 14, no. 3, pp. 319–330, 2011. [10] M.-J. Ludy, T. Brackenbury, J. W. Folkins, S. H. Peet, S. J. Langendorfer, and K. Beining, “Student Impressions of Syllabus Design: Engaging versus Contractual Syllabus,” Int. J. Scholarsh. Teach. Learn., vol. 10, no. 2, 2016. 1. Introduction 2. Literature Review 2.1. Student Difficulties 1) Lack of Problem Solving Skills 2) Lack of Mathematical Skills and Logical Knowledge 3) Lack of Programming Knowledge 4) Students Gender 5) Computer Literacy and Lack of Access 2.2. Teaching Difficulties 1) Impersonalized Teaching 2) Teaching Learning Styles vs. Student’s Level 3) Traditional and Passive Learning Method 4) Syntaxial Details vs. Problem Solving Using Programming 2.3. The Study Methods 1) Wrong Methodology by Students 2) Students Laziness 3) Inappropriate Curriculum Design 3. Methods 3.1. Final Questionnaire 3.2. Theoretical Interview 4. Results 5. Discussion 5.1. Result Interpretation 5.2. Managerial Implication 6. Conclusion References