Thinking in imperative or objects? A study on how novice programmer thinks when it comes to designing an application

Sim, Tze Ying * (2019) Thinking in imperative or objects? A study on how novice programmer thinks when it comes to designing an application. In: IEEE International Conference on Engineering, Technology and Education, 10-13 December 2019, Yogjakarta, Indonesia.

SimTY thinking_in_imperative_or_objects___tale_.pdf - Accepted Version
Available under License Creative Commons Attribution Non-commercial.

Download (433kB) | Preview
Official URL:


Novice programming is a challenging subject to teach and learn. However, programming is an essential skill that is required by many majors apart from Computer Science. The challenges in a novice programming subject change according to the programming language used. At the beginning of the 90s, the object-oriented programming was introduced. Detienne claimed that it is easier for programmers to program using the object-first approach as humans think naturally in objects. The IEEE and ACM joint task force on Computing Curriculum proposed two tracks of curriculum, one for imperative-first and the other for objectfirst implementation. However, most of the work conducted on novice programming focused on the issues of syntax errors, reducing the possibilities of syntax error through a new or adapted programming environment. This paper will present the preliminary work to investigate if students will naturally think in objects or a series of steps. Three intervention methods were implemented in three different workshops. The intervention methods are the object-first, the imperative-first and the problem-solving-first. The students are then requested to design an application. Through the design, the research will identify if the students use the object-first or the imperative-first design. Assuming that the object-first intervention group will design primarily in objects, and the imperative-first intervention group in a series of steps, the problem-solving intervention will be the ”neutral” group. The object-first design is reflected through the attributes and methods of a particular object. The imperative-first design is identified if the solution contains a series of steps. The findings show that most of the students designed the application using a series of steps reflecting the imperative-first design. This finding should be included when considering if imperative-first or object-first should be the way forward for a novice programming subject.

Item Type: Conference or Workshop Item (Paper)
Uncontrolled Keywords: engineering education; computer science education; object oriented programming; logic programming
Subjects: Q Science > QA Mathematics > QA76 Computer software
Divisions: Sunway University > School of Interdisciplinary Studies > Centre for American Education (CAE)
Depositing User: Dr Janaki Sinnasamy
Related URLs:
Date Deposited: 26 Apr 2021 04:06
Last Modified: 26 Apr 2021 04:06

Actions (login required)

View Item View Item