Abstract

Teaching and learning programming constitutes a challenge. Although several teaching approaches and programming tools have been proposed, it seems that they have limited impact on classroom practice. This article investigates students' perceptions on five educational programming environments that are widely used and the features that any introductory programming environment should have. The environments investigated are: BlueJ; objectKarel; Scratch; Alice; and MIT App inventor. These environments were studied and used by experienced undergraduate students of Informatics in the context of a fourth year course. The main features of the environments and the way of presenting them to students, as well as the assignments in the context of the course are presented, in order to help the reader realize what experience was gained by the students that evaluated the environments. Based on a questionnaire filled in by students interesting conclusions were drawn. Students identified the main features of the environments and evaluated them positively, although problems were identified. An introductory programming environment should engage students through the development of programs connected to their interests, such as games and mobile apps. Moreover, an ideal introductory programming environment should provide a simple and user-friendly Graphical User Interface (GUI) that supports visualization of objects and classes, includes a puzzle-like editor for program development, reports simple and understandable error messages in natural language, and finally the ability to execute the program in a step by step manner. Although no single environment fulfils all these features, it seems that the most successful environment is Scratch.

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