Litcius/Paper detail

Tools and Techniques for Teaching Computer Programming: A Review

Kanika Kanika, Shampa Chakraverty, Pinaki Chakraborty

2020Journal of Educational Technology Systems91 citationsDOI

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.

Topics & Concepts

Computer scienceScratchComputer programmingCurriculumComputational thinkingMultimediaExtensible programmingMathematics educationGame programmingInductive programmingProgramming paradigmSoftware engineeringProgramming languageSymbolic programmingArtificial intelligenceGame designPedagogyGame DeveloperPsychologyGame design documentTeaching and Learning ProgrammingSoftware Testing and Debugging TechniquesExperimental Learning in Engineering