Interactive Learning of Abstract Programming Concepts with InteractiveOOP
Asheer Ahmad, Harsh Chokshi, Giuseppe De Ruvo, Nasser Giacaman · 2018
Not only is understanding object-oriented programming fundamental for software engineering and computer science students, but it is also important for non-major programming courses. Combined with the burden of navigating a new programming language, students can struggle to understand the abstract concepts that underpin the paradigm. Existing learning solutions typically concentrate on a particular programming language. This paper proposes The Realization Framework for teaching abstract programming concepts without code. It employs analogies and visualization to translate the abstract concepts into forms students can understand. Theories on education and student interaction are incorporated to guide the learning process. InteractiveOOP, a practical implementation of this framework, was evaluated by novice programmers in a non-major CS2 programming course. Students responded positively to the tool, noting that the interactive, visual presentation of abstract concepts helped them deepen their understanding.