Factors Affecting Engineering Students’ Achievement in Computer Programming

Literature indicated that attitude toward programming, programming self-efficacy, gender, and students’ department was related to achievement in computer programming. However, there is a need for further studies investigating to what extent these factors explain programming achievement in a model. This study aimed to investigate the effects of programming self-efficacy, attitude towards programming, gender, and students’ department on their perceived learning. The correlational study design was adopted for this study. The sample of the study was 742 students of an engineering faculty at a state university Turkey. To collect data, Programming Self-Efficacy Scale, Computer Programming Attitude Scale, and Perceived Learning Scale were used. To analyze data, descriptive statistics such as mean, standard deviation, and Pearson Correlation tests were administered. In addition, to determine the factors affecting perceived learning, multiple regression analysis was employed. The results indicated that the engineering faculty students’ attitudes towards programming, programming self-efficacy, and perceived learning were at a high level. In addition, significant correlations between perceived learning and predictive variables were found. Finally, it was concluded that gender, attitude towards programming, and programming self-efficacy significantly predicted perceived learning. The results of the study provide a deeper understanding of how students’ learning was affected in programming courses.


Introduction
Computational thinking has been regarded as one of the crucial skills of next-generation students (International Society for Technology in Education [ISTE], 2016). Core components of computational thinking curated by ISTE (2016) are decomposition, gathering and analyzing data, abstraction, and algorithm design. Decomposition is the breaking down of a larger problem into smaller and manageable parts. Gathering and analyzing data refers to collecting, organizing, and representing data. Abstraction is determining what parts of the problem can be ignored, to decrease the computational complexity of a problem. Algorithm design is the process of designing a step-by-step process to achieve a task (ISTE, 2016). Such skill is not only crucial for students' professional careers, but also for the industry's economic competitiveness and the ability to find qualified employees (Gardiner, 2017). For this reason, as a fundamental tool of computational thinking, many studies have been carried out to introduce students to computer programming in all levels of education, from elementary school to graduate level.
Scholars have proposed that programming is one of the essential skills for many engineering schools (Hodge & Steele, 2002). To Zyda (2009), strong programming skills would be one of the essential criteria for the graduates of engineering to be employed by the industry. Programming education instills some of the concepts and abilities of computational thinking and provides a basis for computational thinking, which helps in following a mental path through comprehension and understanding of concepts (Kılıçarslan-Cansu & Cansu, 2019). Therefore, programming education is essential for shaping the perceptions and thinking strategies of engineering students.
Engineering faculty students face with the task of solving problems by using numerical approaches in their 1st and 2nd grades. Good programming skills will enable them to easily solve these problems (Naraghi & Bahman, 2001). Therefore, it is important for engineering and technology students to learn basic computer programming skills in the first years of university education. Almost all engineering programs contain basic information about programming as part of their curriculum. Introduction to programming languages is an essential and compulsory course for students in computer engineering, software engineering, information systems engineering, as well as in many engineering fields such as electrical engineering, industrial engineering, civil engineering, mechanical engineering.
With the emphasis on computer programming and the proliferation of programming education, the number of studies on programming education has increased. Researchers have studied the learning and teaching of programming (Askar & Davenport, 2009;Yılmaz, 2013), attitude toward programming (Anastasiadou & Karakos, 2011;Gurer, Cetin, & Top, 2019;Korkmaz & Altun, 2013), and perception of programming selfefficacy (Akçay & Çoklar, 2018;Özyurt & Özyurt, 2015). In addition, there are studies on the factors related to programming achievement (Askar & Davenport, 2009;Başer, 2013a;Clinkenbeard, 2017). Related literature has indicated that attitude toward programming, programming self-efficacy, gender, and department of students are related to programming achievement. However, the correlations between the variables are needed to be examined in a more comprehensive manner. Although a correlation between each variable and the programming achievement has been shown, there is a need to investigate to what extent each variable explains programming achievement. An investigation of factors is supposed to guide teachers in designing computer programming courses.

Literature Review
As in the teaching of many disciplines and fields, achievement has been one of the topics that are emphasized and examined in programming studies. Literature showed that mostly test grades or final course grades were used to measure the level of learning. However, Ewell (1994) stated that grades might have little correlation with what students learned, and learning can also be measured effectively with self-assessment tools. Rovai and Barnum (2003) asserted that the use of grades to functionalize learning does not always give the best results. Learners can monitor their learning, and therefore perceived learning could be a valid measure of student learning (Metcalfe, 2009). Alavi, Marakas, and Yoo (2002) define perceived learning as the changes in the perceptions of learners about their knowledge and skill levels before and after the learning experience. According to Rovai, Wighting, Baker, and Grooms (2009), perceived learning has three components; cognitive, affective, and psychomotor learning. The cognitive domain is expressed as remembering or recognizing information, while the affective domain is expressed as the development of positive attitudes towards a specific content or subject. The psychomotor field is described as the development of skills related to manual tasks and physical movement. Considering components of perceived learning, it is expected that attitude toward computer programming and programming self-efficacy influence perceived learning.
Several researchers have aimed to examine the relationship between achievement and attitude in programming studies, and confounding results have been found. Aiken (2002) suggested that attitude is learned cognitive, affective, and behavioral tendencies to respond positively or negatively to specific objects, situations, institutions, concepts, or people. According to this definition, attitude consists of three dimensions: (1) cognitive dimension, consisting of beliefs about the object of attitude, (2) affective dimension, consisting of feelings about the object, and (3) behavioral dimension, composed of tendencies of action towards the object. As a result of their experimental study, Cetin and Andrews-Larson (2016) and Hongwarittorrn and Krairit (2010) stated that there was no explicit relationship between students' computer programming achievement and their attitudes towards computer programming (ATCP). Korkmaz (2016) confirmed this result in another study. On the other hand, after investigating 113 studies, Ma and Kishor (1997) offered a positive correlation between attitude and achievement. The positive relationship between attitude and achievement has been confirmed in computer programming related studies. In a recent study, the Gurer et al. (2019) investigated the relationship between perceived learning and ATCP, and found that there was a positive correlation between two variables. Başer (2013a) conducted a study with 179 prospective teachers and stated that there was a significant relationship between students' ATCP and their success in programming. Additionally, Lee, Kim, and Lee (2017) conducted a study with 4221 primary school students and found that the ATCP was highly correlated with academic achievement in programming education. Hence, further investigation is needed to investigate the potential relation between students' learning and their attitudes towards computer programming.
Self-efficacy has been another psychological construct researched in computer programming studies. Perceived self-efficacy means one's beliefs about his or her ability to regulate and conduct the behavior to achieve specific goals (Bandura, 1997). According to Bandura, self-efficacy influences the way people think, motivate themselves, and behave. Schunk (1989) claimed that perceived self-efficacy is an important construct that directly influences students' learning and achievement-related behaviors. With this point of view, students with high self-efficacy tend to be more motivated, persistent, and perform better in a given task. On the other hand, students with low-level of self-efficacy perceive a given task threatening and unchallenging. Askar and Davenport (2009) stated that students' self-efficacy would lead to their future success. In a study related to computer programming, Yılmaz (2013) found that computer programming self-efficacy (CPSE) had a significant effect on programming achievement. Similarly, Wiedenbeck, LaBelle, and Kain (2004) stated that CPSE has a direct impact on students' overall achievement in programming. Clinkenbeard (2017) concluded that students' computer self-efficacy is an important determinant of their success in the introduction to computer programming. In a recent study, Cigdem (2017) indicated that self-efficacy was the strongest positive determinant of achievement in programming courses. Further studies need to consider the effect of self-efficacy in explaining students' computer programming achievement.
Gender, which may be one of the potential factors that affect students' programming achievement, should also be investigated. It has been argued that females are not adequately represented in computer-related work and computer science (Doube & Lang, 2012;Singh, Allen, Scheckler & Darlington, 2007) for some cultural and environmental reasons. Moreover, it was reported that males have higher attitudes towards computer programming than females (Başer, 2013b;Korkmaz & Altun, 2013;Özyurt & Ozyurt, 2015). Contrary to these results, some studies show that female students have higher programming success than male students. For example, Yılmaz (2013) concluded that female students' computer programming success was significantly higher than male students. Similarly, Pioro (2004) stated that female students had higher success in computer programming than male students. Lau and Yuen (2009) reported that in computer programming, secondary school female students perform slightly higher than male students. Despite such studies pointing to gender differences in information and communication technologies (ICT), gender differences in ICT use have generally been shown to decrease (Alsadoon, 2013;Top, Yukselturk & Cakir, 2011).
Students' discipline may be one of the factors which affect the achievement of computer programming. Each discipline puts a different emphasis on computer programming, and this emphasis is reflected in the curriculum of the program. The computer engineering programs have five or more compulsory and several selective programming courses in their curriculum. On the other hand, the curriculum of other engineering programs includes two or more compulsory programming courses. Students of these programs register to programming courses related to their interests and motivations. Studies are indicating a significant relationship between the students' discipline and the variables that are thought to be related to programming achievement. Ülkü, Doğan, Demir, and Yıldız (2017) reported that the electrical-electronics engineering department students' self-efficacy perception of programming is higher than that of the textile engineering department. Gezgin and Adnan (2016) found that there was a significant relationship between students' self-efficacy and the discipline of students. Altun and Mazman (2012) and Askar and Davenport (2009) state that computer engineering students have a higher perception of programming self-efficacy than students in other departments. Moreover, Korkmaz and Altun (2013) and Başer (2013b) found that computer engineering students had more positive attitudes towards programming than other department students. Although students' achievement in computer programming takes attention, the research on the factors affecting achievement in computer programming is still limited. This study aims to investigate the factors related to students' perceived learning on computer programming (PLCP), and to what extent gender, department, computer programming self-efficacy (CPSE), and attitude toward computer programming (ATCP) predict students' PLCP.
This study was guided with the following research questions: 1) What are the engineering students' PLCP, attitudes towards computer programming, and computer programming self-efficacy? 2) Is there a significant correlation between students' PLCP and the predictor variables (gender, department, computer programming self-efficacy, and attitude toward computer programming)? 3) What are the significant predictors of students' PLCP, and to what extent do the predictor variables explain PLCP?

Methodology
The correlational study design was implemented for this study. The relationship between the two or more variables, where no interventions are applied to the variables, are examined with correlational studies (Fraenkel, Wallen, & Hyun, 2015). As this study aims to examine to what extent the selected variables (gender, department, CPSE, and ATCP) accounts for engineering students' PLCP, a correlational study was considered to be appropriate for this study. The dependent variable of the study was engineering students' PLCP, and the independent variables were their gender, department, CPSE, and ATCP.

Participants
The current study was conducted with 742 voluntary students of an engineering faculty in a state university located in the northeastern part of Turkey in the spring semester of 2018-2019 academic year. The participants were briefed about the purpose of the study and the privacy of the data with a statement on the first page of the questionnaire. They were also told that they had the right to withdraw from the study at any time. Table 1 indicates the demographics of the participant students. The age of the students varied between 18 and 26, and the mean age was computed as 21.15. The number of male students (72.51%) was more than females (27.49%). While the number of juniors (31.81%) and seniors (32.08%) were nearly the same, they were more than freshman (14.29%) and sophomore (21.83%) students. In the faculty where this study was conducted, the students in the computer engineering department take six compulsory programming language courses, electrical-electronics and mechatronics students take three compulsory programming language courses, and students of other departments take one or two compulsory courses on programming language courses. However, the students of all departments take at least one course on programming languages in their first grade. As the data were collected at the end of the spring semester, it was considered that all the students who participated in this study had at least one computer programming language course. None of the students reported that they had not taken a programming language course. In addition, their success or failure in the programming language course(s) was not considered as a criterion for a student to be a participant of this study.

Data Collection
Data of this study were collected with a paper-based survey at the end of the course year. After having required permissions from the faculty and the instructors, the surveys were administered to engineering faculty students in their classrooms. Only the volunteers completed the surveys. In this study, the surveys used to collect data were perceived learning on computer programming (PLCP) scale, computer programming self-efficacy (CPSE) scale, and attitudes toward computer programming (ATCP) scale.
PLCP was used to measure engineering students' perceived learning levels at computer programming lessons. The Perceived Learning survey was originally developed by Rovai et al. (2009) to reveal students' perceptions of their learning in any course. The initial form consisted of nine items in three constructs; cognitive, affective, and psychomotor learning. Then the survey was adopted by Top, Yukselturk, and Inan (2010) resulting in nine items and the Cronbach's alpha internal consistency coefficient of 0.81. The items were in a 5-point Likert type ranging from 1 = completely disagree to 5 = completely agree. In this study, the Cronbach's alpha coefficient was found to be 0.75, which was good (Field, 2009).
The CPSE was originally developed by Ramalingam and Wiedenbeck (1998) to study higher education students' self-efficacy beliefs on a computer programming language. The scale development study resulted in four factors; (1) independence and persistence, (2) complex programming tasks, (3) self-regulation, and (4) simple programming tasks. The reliability coefficient was computed as 0.98. The original survey was adopted by Altun and Mazman (2012). It resulted in nine items within two factors; the ability to perform simple programming tasks and the ability to perform complex programming tasks. They found the reliability of the scale as 0.93. In this study, the reliability coefficient was calculated as 0.88, which was good (Field, 2009).
To investigate higher education students' attitudes towards computer programming, Cetin and Ozden (2015) developed the ATCP. It included 18 items in a 5-point Likert type within three factors (affection, cognition, and behavior). The internal reliability coefficient of the original scale was determined to be 0.94. In this study, the Cronbach's alpha value of the scale was found to be 0.86, which was good (Field, 2009).

Data Analysis
The negative items in the scales were reversed before the data analysis. Initially, descriptive statistics such as mean, standard deviation, skewness, and kurtosis were administered to analyze the data. The skewness and kurtosis tests were used to check the normality of data. To Field (2009), a normally distributed sample is satisfied if 95% of z-scores of skewness and kurtosis should lie between −1.96 and +1.96. The skewness and kurtosis values of each variable ranged between -0.57 and -0.06. Hence, it could be said that the data of each factor were normally distributed. Then, to investigate the correlation among the engineering students' gender, department, CPSE, ATCP, and PLCP, the Pearson Product-Moment Correlation test was administered. Finally, multiple regression analysis was run to examine to what extent the independent variables explain the students' PLCP. For multiple regression analysis, as the gender and department variables were nominal type variables, dummy coding was applied to the two variables. For gender, male was coded as "1", and female was coded as "0". In addition, for department variable, computer engineering was coded as "1", and the others were coded as "0". Multiple regression analysis was run based on this dummy coding.

Descriptive Findings
The engineering students' PLCP, CPSE, and ATCP scores, including the sub-dimensions of the scales, are indicated in Table 2. On the 5-point Likert type scale, it was found that students' ATCP were at a moderately high level. Although students' attitudes at affective (X = 3.42) and behavioral (X = 4.15) dimensions were found to be at a high level, they were at a moderate level in cognitive dimension (X = 3.25). Students' CPSE was found to be moderate (X = 3.29). While their self-efficacy for simple tasks was at a moderately high level (X = 3.93), their self-efficacy for complex tasks was found to be at a moderate level (X = 2.65). In addition, students' PLCP were found at a moderate level (X = 3.15). Likewise, their perceived learning at all sub-dimensions was found to be moderate.

Correlations among Variables
Pearson correlation test was carried out to investigate the correlations between PLCP and the predictive variables. The correlation test was administered after the dummy coding of gender and department variables. However, as gender and department are categoric variables, the correlation between these variables was not computed. Table 3 shows the correlations between the variables. All of the predictive variables were significantly correlated with PLCP. A negative significant correlation between PLCP and gender (r = -0.09) means that, depending on the dummy coding, females' PLCP was higher than males' PLCP. In addition, due to the dummy coding of the department variable, the positive and significant correlation between PLCP and department means that computer engineering students' PLCP was higher than that of other departments. While the correlation between PLCP and department (r = 0.20) were found to be positive and low, PLCP was positively and moderately correlated with both CPSE (r = 0.58) and ATCP (r = 0.56). Furthermore, CPSE was found to be positively and moderately (r = 0.43) correlated with ATCP.

Regression Analysis
As gender, department, CPSE, and ATCP were found to be significantly correlated with PLCP, they were entered the multiple regression analysis to test how well PLCP can be explained by them (Field, 2009). Firstly, possible multicollinearity, which is one of the assumptions of multiple regression, between the dependent and the independent variables was examined. Table 3 shows that the correlation coefficients were not higher than 0.80. Strong correlations between the predictor variables make it difficult to distinguish the unique estimates of regression coefficients (Cohen, Cohen, West, & Alken, 2003). Additionally, for the current model, the variance inflation factors (VIF) values are all below 10, and the tolerance statistics all well above 0.2. Hence multicollinearity between the predictors, which is the violation of one assumption of multiple regression analysis, was not worthy of concern for this study. Table 4 presents the results of the multiple regression analysis tests.  (F = 155.385, p <0.01). In other words, it was found that this model was found to be significant and accounted for 45.8% of the variance (R = .676) in engineering students' PLCP. While ATCP (t=12.709, p<0.01) and CPSE (t=13.632, p<0.01) were positive significant predictors of the PLCP, being male student had negative significant impact on students' PLCP (t=-2.927, p<0.01). With this finding, it can be said that female students with high ATCP and CPSE scores were expected to have higher PLCP scores. According to the standardized regression coefficient beta (β) in the table, the relative importance of predictive variables on PLCP was as following; (1)

Discussion
This study investigated the factors affecting engineering students' perceived learning in computer programming. Related literature highlighted that gender, department, computer programming self-efficacy, and attitude toward computer programming were related to perceived learning. These variables were subjected to multiple regression analysis to predict PLCP. The analysis of data showed that these variables accounted for 45.8% of the variance in PLCP. While gender, attitude toward computer programming, and computer programming self-efficacy had a significant influence on PLCP, students' department was not determined to be a significant predictor of PLCP.
There was a positive and significant relationship between students' PLCP and ATCP in the current study. According to this result, it can be estimated that students with positive attitudes towards programming are likely to have higher PLCP, and students with low attitudes tend to have low PLCP. Furthermore, ATCP was found to be one of the significant predictors of PLCP. Researchers have been studying the relationship between achievement and attitude. Ma and Kishor (1997) analyzed 113 studies focused on the relationship between attitude and achievement. They noticed that the correlation between attitude and achievement was positive, but not significant. Contrary to this meta-analysis study result, Recber, Işıksal, and Koç (2018) found a significant relationship between attitude and achievement. Similar to the results of this study, studying with 168 higher education students, Akinola and Nosiru (2014) also found that students' attitudes had an impact on their programming success. The results of the studies conducted at the higher education level are similar to the results of the studies conducted at the primary education level. After surveying with primary school students, Lee et al. (2017) concluded that the students' attitudes towards programming were significantly related to their programming achievement. This result indicates that teachers of programming courses should consider students' attitudes towards programming to increase students' achievement in the course. In recent years, the number of programming languages and tools has increased, and they were shown to have an impact on attitude and achievement (Du, Wimmer & Rada, 2016). Prior programming experience has effects on students' attitudes and success in programming courses and attitudes towards programming. Tafliovich, Campbell, and Petersen (2013) suggested that the prior experience "affects students' expectations, work habits, attitude and confidence, and perceptions of self and peers" (p. 244). It was found that graphical programming languages as the first experience in programming has effects on students' performance (Chen, Haduong, Brennan, Sonnert, & Sadler, 2019). In addition, instructional strategies such as game-based learning environments have influenced students' attitudes toward programming (Goel & Kathuria, 2010). Hence, instructors can employ graphical programming languages, proper instructional strategies, select languages with a higher level of abstraction, and use software visualization tools to enhance students' attitudes towards programming. Ramalingam and Wiedenbeck (1998) noted that self-efficacy is essential for personal motivation. Individuals with high self-efficacy can take on more challenging tasks and spend more effort in achieving these tasks. Similarly, students with high self-efficacy effort higher performance and sufficiency in activities and can achieve higher success in these activities (Sternberg & Williams, 2010). This study indicated that there was a positive and significant relationship between the perceived learning level of the students and their self-efficacy scores. Furthermore, CPSE was one of the significant predictors of PLCP and one of the factors affecting students' success in learning environments. According to this result, it can be said that students with higher CPSE are likely to have higher PLCP. There are studies supporting this result of the study in the literature. Gurer et al. (2019) indicated the positive correlation between PLCP and CPSE. Moreover, Cigdem (2017), Clinkenbeard (2017), Wiedenbeck et al. (2004) and Yılmaz (2013) concluded that students' computer self-efficacy is an important determinant of their success in introductory computer programming. The significant correlation between self-efficacy and learning in this study was also supported by the self-efficacy theory (Bandura, 1997). Students' practice, teachers' assistance, and students' value of computer programming influence students' efficacy of programming. Askar and Davenport (2009) stated that when faced with difficult tasks, learning achievement leads to an increase in learners' self-efficacy and success in future life. Therefore, teachers could lead students to more practicing and guide them. Additionally, they should adjust the difficulty of tasks based on the content of the course.
There are many studies in the literature showing that computer science is a male-dominated field, that women are not adequately represented in universities in computer science-related courses, and that only a small percentage of women choose computer science as a future career (Cheryan, Master & Meltzoff, 2015;Galpin, 2002). However, the gap between men and women is gradually decreasing in terms of access to education and technology (Ikolo & Okiy, 2012;Yılmaz, 2013). Therefore, it can be stated that female students could become as successful as male students when opportunities for education and technology are improved. According to the results of the study, gender was significantly correlated with PLCP and was a significant predictor of PLCP. In other words, in this study, female students think that they learn computer programming more than boys. This result is similar in some studies in the literature and contradicts with some others. Pillay and Jugoo (2005) stated that male students' computer programming achievement was higher than female students. Similarly, Pala and Mıhcı-Türker (2019) examined prospective teachers' views on programming and found that females found programming languages more difficult than male teachers. In some studies, it was stated that there is no significant relationship between computer programming success and gender (Byrne & Lyons 2001;McDowell, Werner, Bullock, & Fernald, 2003). Lau and Yuen (2009) stated that female students showed higher performance in computer programming than male students, but this difference was due to talent differences, and there was no statistically significant difference between female students and male students' computer programming performances. Contrary to these studies, Yılmaz (2013) concluded that the computer programming success of female students was significantly higher than that of male students. Likewise, Pioro (2004) stated that female students had higher success in computer programming than male students. It can be stated that these results presented in the literature differ according to the time of the study, the characteristics of the sample group and the cultural structure of the region where the research was conducted. Similarly, the results obtained in this study are thought to be due to the characteristics of the sample group. This conclusion emphasizes the importance of teachers' analysis of the target group. The analysis of the students in the classroom reveals the characteristics of learners, i.e., motivation, attitude, readiness. This supports teachers in designing teaching activities, instructional materials, learning environment, and selecting evaluation strategies. When a group of students with similar characteristics, i.e., gender, have lower performance and achievement, the teacher should put more effort into those students.
In this study, a positive and low-level correlation between the perceived learning levels of the students and their departments was found. However, department variable was not found to be a significant predictor of PLCP. This result implies that although the variation in the perceived learning of engineering students could be explained by being a computer engineering or other engineering department student, it is not a determinant of student's PLCP. The reason for this result may be related to the courses offered in the departments and the field of work they will work upon graduation. The number of courses on programming offered in the computer engineering department is higher than the other departments. The higher number of courses on programming and more in-depth content on computer science and programming may have led to higher PLCP of computer engineering students. In addition, students of the computer engineering department are potential computer scientists or will likely work in a profession related to information and communication technologies. It can be thought that computer engineering students consider programming as an important gain for their future professions and therefore have high motivation for computer programming. In this case, computer engineering students are expected to have a higher PLCP than other departments' students. Previous studies have indicated that computer engineering students' perceptions of programming self-efficacy (Altun & Mazman, 2012;Askar & Davenport, 2009), and their attitudes towards programming (Başer, 2013b;Korkmaz & Altun, 2013) are higher than those of other department students. Additionally, students of computer-related departments have higher attitudes towards programming than other departments' students (Gezgin & Adnan, 2016;Yılmaz, 2013). Therefore, these variables, which are positively related to perceived learning, may cause computer engineering students to have higher PLCP.

Conclusion and Future Works
The study contributes to the literature on engineering faculty students' learning on computer programming. Data collected from engineering students indicated that the PLCP of engineering students could be predicted using gender, attitude toward computer programming, and computer programming self-efficacy. The results of this study can inform the instructors of computer programming lessons. Teachers may use the findings of this study to understand better the role of different variables in students' learning of computer programming. As it consists of cognitive, affective, and psychomotor domains of learning, perceived learning is a strong indicator of learning outcomes. While designing and implementing the programming courses, to increase learning, gender, attitude toward computer programming, and computer programming self-efficacy can be handled together.
One of the limitations of this study is the population. 63.89% of the students were in their third and fourth grade. The freshman and sophomore students were not represented equally. Hence, in a further study, equally represented groups in terms of grade-level could be created while collecting data to make more concrete comparisons and conclusions. In the current study, to apply dummy coding on department variable, the departments of students were categorized as computer engineering and other departments. Therefore, the generalizability of the result about the relationship between PLCP and department is another limitation of this study, and this result should be considered carefully. In this study, variables used to predict programming success explain only 45.8% of programming achievement, while 54.2% cannot be explained. There are other variables that could affect students' perception of learning in programming such as measured learning (Gurer et al., 2019), satisfaction with the course (Lee et al., 2017), or first-experience with programming (Chen et al., 2019). A more comprehensive study can be done by adding variables such as measured learning, attitude towards the course, satisfaction, motivation. Multiple regression analysis was used to investigate the effect of different variables on programming achievement. In another study, structural equation modeling, which is an analysis that is running multiple regression models simultaneously, can be used to investigate the direct and indirect effects of different variables on the learning of programming.