Article Preview
TopIntroduction
Learning to program is considered as a difficult area of learning for significant number of novice programmers (Malik et al., 2019a; Reardon & Tangney 2014; Shuhidan, 2012). One of the challenges for novices is to acquire a number of different skills at the same time. Novices have to learn not only the syntax and semantics of the programming language but also have to focus on the problem solving strategies. On the other side, Iqbal and harsh (2013) mentioned that introductory programming courses did not pay equal attention to programming knowledge (syntax and semantics) and problem solving strategies (pseudo-code and flowchart). De Raadt (2008) concluded that 6 out of 40 introductory programming textbooks incorporated problem solving strategies throughout the book. Robins et al (2003) discussed that ‘typical introductory programming textbooks devote most of their content to presenting knowledge about a particular language’ (p. 141). Winslow (1996) discussed ‘that novice programmer knows the syntax and semantics of individual statements, but they do not know how to combine these features into valid programs’ (p. 17).
Papp-Varga et al. (2008) discussed that the teaching methodology of ICT teaching is not well-established as compared to other subjects such as mathematics or physics because it is comparatively a new problem domain. Consequently, different instructors are using their own blend of methods. Gomes and Mendes (2014) interviewed IP instructors and concluded that some instructors’ emphasized that a good choice of programming exercises and teaching materials also play an important role in teaching and learning process of the course.
This study compared a current teaching and learning approach based on the ADRI approach in the introductory programming (IP) course with SOLO taxonomy. The comparison with SOLO taxonomy helps us to determine whether the current teaching and learning approach provides all the necessary programming skills to the novice programmers. The students’ performance in the IP course was assessed based on the four stages of the ADRI approach.
This paper is organized into a number of sections starting with an introduction to the novice programmers and ADRI approach, and SOLO taxonomy, followed by a review of relevant literature. The research questions and methodology used are then described,and results are reported and elaborated. The paper concludes with a summary of the research outcomes.
TopNovice Programmers
The Oxford English Dictionary (2014) defines novice as ‘a person new to and inexperienced in a job or situation’. Researchers defined novice programmers as those who are new, beginner or in the first stages of becoming a programmer (Thomas et al., 2004). In our context, novice is normally a first semester student within the Information Technology (IT) department and who has little or no prior experience or knowledge of programming. Generally, programming is considered an important component of computer science study plans and it can lead to a rewarding career (Robins at el, 2003).
It is generally accepted that novice programmers need 10 years of experience to become an expert programmer (Winslow, 1996). Dreyfus and Dreyfus (1986) proposed five stages for novices to become experts: novice, advanced beginner, competence, proficiency and expert. Winslow (1996) suggested that four year undergraduate degree graduates would rank between competent and proficient.
Some of the characteristics of novices drawn from various studies are: