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

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

Full description

Bibliographic Details
Main Author: Sim, Tze Ying *
Format: Conference or Workshop Item
Language:English
Published: 2019
Subjects:
Online Access:http://eprints.sunway.edu.my/1742/
http://eprints.sunway.edu.my/1742/1/SimTY%20thinking_in_imperative_or_objects___tale_.pdf
_version_ 1848802123838390272
author Sim, Tze Ying *
author_facet Sim, Tze Ying *
author_sort Sim, Tze Ying *
building SU Institutional Repository
collection Online Access
description 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.
first_indexed 2025-11-14T21:18:21Z
format Conference or Workshop Item
id sunway-1742
institution Sunway University
institution_category Local University
language English
last_indexed 2025-11-14T21:18:21Z
publishDate 2019
recordtype eprints
repository_type Digital Repository
spelling sunway-17422021-04-26T04:06:02Z http://eprints.sunway.edu.my/1742/ Thinking in imperative or objects? A study on how novice programmer thinks when it comes to designing an application Sim, Tze Ying * QA76 Computer software 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. 2019 Conference or Workshop Item PeerReviewed text en cc_by_nc_4 http://eprints.sunway.edu.my/1742/1/SimTY%20thinking_in_imperative_or_objects___tale_.pdf 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. https://ieeexplore.ieee.org/abstract/document/9225966
spellingShingle QA76 Computer software
Sim, Tze Ying *
Thinking in imperative or objects? A study on how novice programmer thinks when it comes to designing an application
title Thinking in imperative or objects? A study on how novice programmer thinks when it comes to designing an application
title_full Thinking in imperative or objects? A study on how novice programmer thinks when it comes to designing an application
title_fullStr Thinking in imperative or objects? A study on how novice programmer thinks when it comes to designing an application
title_full_unstemmed Thinking in imperative or objects? A study on how novice programmer thinks when it comes to designing an application
title_short Thinking in imperative or objects? A study on how novice programmer thinks when it comes to designing an application
title_sort thinking in imperative or objects? a study on how novice programmer thinks when it comes to designing an application
topic QA76 Computer software
url http://eprints.sunway.edu.my/1742/
http://eprints.sunway.edu.my/1742/
http://eprints.sunway.edu.my/1742/1/SimTY%20thinking_in_imperative_or_objects___tale_.pdf