Difficulties Facing Students in Learning Computer Programming Skills at Tabuk University MAHMOUD M. MHASHI AND ALI M. ALAKEEL Department of Computer Science Faculty of Computers and Information Technology University of Tabuk, Tabuk 71491, P.O.Box 741 Kingdom of Saudi Arabia Abstract: - Learning programming skills is not an easy task as supported by many research studies. Like other students around the world, the students of the University of Tabuk struggle through computer programming courses. This research investigates and analyzes the problems faced by computer programming students at the University of Tabuk with two main objectives. The first objective is to find out whether the students at the University of Tabuk face problems in computer programming similar to the ones faced by the students in different corners of the world as reported in the literature. The second objective is to study the impact of socio- cultural and environmental factors on learning computer programming skills by the students of the University of Tabuk. To perform our research, a case study and a questionnaire were designed. In order to ascertain whether our students face difficulties in programming, a case study with 10-questions test was performed. The results have shown that our students are in real difficulties. In the questionnaire, the questions reflect a wide range of views pertaining to educational facilities such as curriculum and teaching materials, lab equipments and class rooms’ environment, and the adequacy and proficiency of the professors and teaching assistants. This paper analyses the results of the questionnaires. The questionnaires provide insight into the environmental and socio-cultural effects and the difficulties experienced while learning and teaching programming.. Key-Words: - Programming difficulties, learning, teaching, novices, and environmental and socio-cultural effects. 1 Introduction Computer programming skills are very fundamental to the computer related fields of studies. Most of the students are required to take an introductory programming course and the basics of it. Programming is an academic discipline. Furthermore, programming is a skill requiring novice programmers to utilize multiple types of learning simultaneously [1]. Novice programmers lack the knowledge and skills of programming experts. The knowledge of novices tends to be context specific rather than general [2]. Winslow [3] have concluded that novices are limited to surface and superficially organized knowledge, lack detailed mental models, fail to apply relevant knowledge, and approach programming ‘‘line by line’’ rather than using meaningful program ‘‘chunks’’ or structures. Novices spend little time in planning and testing code, and try to correct their programs with small local fixes [4]. The computer programming learning is very complicated for many novice students at university level [5]. Computer programming is not difficult only because of the abstract concepts, but also students have problems in different issues related to program construction. The main source of difficulty does not seem to be the syntax or understanding of concepts, but rather basic program planning [6]. The introductory programming courses have a relatively high fail rate. Hagan in [7] indicates that programming was considered the most difficult and least interesting subject by most first year students in all computing courses. Many institutes report dropout rates of 20-40 percent [8-14]. Because of the importance of computer programming and the difficulties faced by the novice students, many authors have investigated this topic in one form or another [15-27]. The organization of this paper is as follows. Section 2 contains the design, the collected data, and the analysis of the 10 questions to test the current level of programming for our students. The survey design and methodology will be introduced in Section 3 and the analysis of the results in Section 4. The results of both the case study and the survey Recent Advances in Modern Educational Technologies ISBN: 978-1-61804-180-7 15