Abstract

Object-oriented programming (OOP) is not only an integral part of computing degrees but also a requirement in non-computing majors such as engineering. Understanding OOP concepts can be difficult for novice programmers, and often leads to the development of misconceptions. This is exacerbated when the discipline requires students to learn a technical low-level language such as C++, as is the case in many engineering disciplines. We propose a block-based programming language extension, Blockly-OOP, to help students learn core OOP concepts without the technical complexities associated with traditional textual languages. The Blockly-OOP Learning Environment was developed by integrating Blockly-OOP with learning activities that guide students through programming exercises that target popular OOP misconceptions. An evaluation ( <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">n</i> = 238) in a second-year programming course (CS2) showed that a block-based programming language helps students improve their understanding of object-oriented concepts, warranting further research in this area.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call