Block-Based Object-Oriented Programming

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 t...

Full description

Saved in:
Bibliographic Details
Published inIEEE Transactions on Learning Technologies Vol. 15; no. 4; pp. 439 - 453
Main Authors Allen, Oliver, Downs, Xavier, Varoy, Elliot, Luxton-Reilly, Andrew, Giacaman, Nasser
Format Journal Article
LanguageEnglish
Published Piscataway IEEE 01.08.2022
Institute of Electrical and Electronics Engineers, Inc
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary: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 ( n = 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.
ISSN:1939-1382
2372-0050
DOI:10.1109/TLT.2022.3190318