Abstract
Despite the fact that programming is at the heart of computer science, it is argued that even at its simplest level it is a difficult subject to teach and learn. For any new learner programming concepts are abstract and confusing. As teaching programming continues to be a daunting task, this article revisits common challenges inherent in teaching computer programming to novices. Further, Memory Transfer Language (MTL) as used to teach programming is introduced and demonstrated. Different kinds of misconceptions in programming and their associated bugs are analysed. An experiment using MTL to teach programming was carried out, using error-counts in examination scripts from two groups of students, one instructed using MTL and the other through the conventional approach. Results indicated a highly significant statistical difference (p = 0) between the two groups, showing that MTL can help novices avoid common programming misconceptions and reduce the errors they make. This shows that if programming is taught using MTL, comprehension is enhanced.
Highlights
A novice programmer is a person who is learning programming for the first time
A distinctive characteristic of novice programmers is that they see each line of code in isolation from others
We were interested in determining whether using Memory Transfer Language (MTL) in teaching programming would reduce common misconceptions and avoid common errors in programming and improvement of comprehension
Summary
A novice programmer is a person who is learning programming for the first time. The basic characteristics of novice programmers include inability to design proper algorithms to solve given tasks, and inability to master the syntax and semantics of programming languages. Novices find the learning environment (editors and debuggers) to be unfriendly This mixture of challenges makes programming intrinsically a difficult subject to learn.[1]. Samurcay[2] contends that programming is a complex domain of knowledge and practice, corresponding both to the scientific field and professional practice field. He argues that learning programming means acquisition of specific programming concepts mediated by a technological tool, which necessitates construction of higher-level representations and conceptual invariants. He concludes that a definite solution to this challenge is not yet available. A similar point of view is expressed by other authors.[3,4,5,6,7,8] there are other researchers, like Wilson and Moffat[9], who conclude that programming is not difficult, all researchers propose further investigation of how to teach programming more effectively
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: International Journal of Machine Learning and Applications
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.