Tools and Techniques for Teaching Computer Programming: A Review

Kanika,Shampa Chakraverty,Pinaki Chakraborty
DOI: https://doi.org/10.1177/0047239520926971
2020-05-27
Journal of Educational Technology Systems
Abstract:Courses on computer programming are included in the curricula of almost all engineering disciplines. We surveyed the research literature and identified the techniques that are commonly used by instructors for teaching these courses. We observed that visual programming and game-based learning can enhance computational thinking and problem-solving skills in students and may be used to introduce them to programming. Robot programming may be used to attract students to programming, but the success of this technique is subjected to the availability of robots. Pair and collaborative programming allows students to learn from one another and write efficient programs. Assessment systems help instructors in evaluating programs written by students and provide them with timely feedback. Furthermore, an analysis of citations showed that Scratch is the most researched tool for teaching programming. We discuss how these techniques may be used to teach introductory courses, advanced courses, and massive open online courses on programming.
What problem does this paper attempt to address?