Elsevier

Computers & Education

Volume 54, Issue 1, January 2010, Pages 69-87
Computers & Education

A drawing and multi-representational computer environment for beginners’ learning of programming using C: Design and pilot formative evaluation

https://doi.org/10.1016/j.compedu.2009.07.012Get rights and content

Abstract

This paper presents both the design and the pilot formative evaluation study of a computer-based problem-solving environment (named LECGO: Learning Environment for programming using C using Geometrical Objects) for the learning of computer programming using C by beginners. In its design, constructivist and social learning theories were taken into account. The general design has taken into consideration models of the learning process and subject matter as well as potential learner behaviour in dealing with fundamental tasks. The main emphasis has been placed on the role of: (a) multiple external representations in student learning, (b) motivation, through performing problem-solving activities taken from the familiar and meaningful context of drawing, using simple geometrical objects, (c) the active participation of students in their own learning by using hands-on experience, (d) appropriate feedback on the actions taken by students, to aid their self-correction, and (e) holistic, activity-based, multi-media, multi-representational and multi-layered content for the learning of basic concepts of programming using C. LECGO was pilot evaluated in the field through a qualitative and comparative study where nine 12th grade (18-year-old) students participated. In fact, students faced three similar yet not identical sets of four tasks across three learning environments, namely; paper and pencil (p–p), Turbo C and LECGO. The data emerging from this field evaluation study indicates that students gain better results within LECGO than in both the p–p environment and the typical programming environment of Turbo C, while performing similar activities.

Introduction

The rapid growth of computing and technology and their impact on modern life have created a pressing need to provide academic coherence in computing and also to improve the level of public understanding of Computer Science (CS) as an academic and professional field (National Research Council Committee on Information Technology Literacy, 1999). To this end, a four-level model curriculum of CS for K-12 has been proposed (Association for Computing Machinery, 2003). One of the four goals of this curriculum is to introduce the fundamental concepts of CS to all students, beginning at elementary school. In the context of this curriculum, high school graduates will be taught to use CS skills and concepts – especially algorithmic thinking – in their problem-solving activities in diverse subjects. Thus, the learning of programming is acknowledged as a central element of this curriculum.

However, programming is not only an essential topic proposed for a K-12 curriculum, and a fundamental subject in studying Computing at Tertiary level, but also a ‘mental tool’ of general interest (Satratzemi, Dagdilelis, & Evaggelidis, 2002) where problem-solving skills can be encouraged in learners. In fact, programming is more a mental skill than a body of knowledge (Hadjerrouit, 2008). It is a complex task, including understanding of the task at hand, method finding, coding, testing and debugging of the resulting program (Brooks, 1999). Here, it is essential to note that, students encounter serious difficulties in performing any or all of the above (Allwood, 1986, Christiaen, 1998, DuBoulay, 1986, Hadjerrouit, 2008, Lemone and Ching, 1996, Pacheco et al., 2008, Robins et al., 2003, Soloway and Spohrer, 1989, Winslow, 1996). Many CS students cannot grasp the most fundamental concepts of programming, unable to produce even the most basic programs (Eckerdal, 2009). Programming problems come from a wide range of problem domains and understanding the problem domain is also critical (Anderson & Soloway, 1985). Moreover, novices seem to lack the ability to combine the individual statements and constructs of a programming language into valid programs (Eckerdal, 2009, Soloway and Spohrer, 1989, Winslow, 1996). Most importantly, students are also rarely aware of the problems that can be solved by a computer and the benefits to be had from using programming (Lemone & Ching, 1996).

Good performance in programming implies the ability of learners to use various and new representation systems to express their problem-solving strategies in order to progress smoothly to the formation of the appropriate code (Brooks, 1999, Komis, 2001, Kordaki, 2007). To this end, the role of using pseudo-code before writing code is essential, despite the fact that students prefer to skip the careful thought processes required in program design and use trial and error techniques in their algorithm design (Garner, 2007).

Programming in schools is currently supported by professional integrated software environments. Although they feature capabilities and aids for experienced users, these tools are of little use for novices: they do not support algorithmic solutions, provide insufficient feedback and are extremely complicated (Freund & Roberts, 1996). Thus, a student’s frustration with programming often depends less on the target programming language and more on the programming environment in use (Freund & Roberts, 1996). To this end, it has been acknowledged that the role of designing appropriate feedback is crucial for student learning in the context of computer learning environments (Hummel, 2006) and especially those dedicated for the learning of such a complex task as programming, indeed in any educational setting (Cohen, 1985).

Well-known examples of such environments for the learning of programming in computer language C are BACCII (Calloni and Bagert, 1994, Calloni and Bagert, 1997), THETIS (Freund & Roberts, 1996) and ‘Karel the Robot’ (Pattis, Roberts, & Stehlic, 1995). Despite the incorporation of one or more of the features mentioned in the previous paragraph, together with fundamental principles of modern social and constructivist theories of learning (Jonassen, 1999, Vygotsky, 1978), these environments either fail to emphasize learner ability and the need to express their knowledge in different representation systems or offer possibilities to solve only a limited set of problems. In addition, the reported environments lack the appropriate feedback to help novices meaningfully correct their mistakes.

However, various studies indicate that a need for a novice-oriented programming environment still exists. It is suggested that the success of such an environment is mainly dependent on its ability to: (a) encourage active learning, (b) emphasize design of the algorithmic solution – using pseudo-code – rather than the syntactic rules of the specific programming language at hand, (c) provide usable coding tools such as programming patterns and models for selecting and combining language structures, (d) support problem-solving settings, (e) visualize the program and its output, (f) encourage the solution of appropriate tasks, and (g) provide assistance in terms of appropriate information and also meaningful feedback (Freund and Roberts, 1996, Brusilovski et al., 1997, DiGiano et al., 2001, Garner et al., 2005, Sangwan et al., 1998, Soloway and Spohrer, 1989, Wallingford, 2001, Winslow, 1996; Garner, 2007).

In fact, appropriately-designed computer learning environments can provide learners with great and unique opportunities for the learning of all learning subjects during the entire learning process (ACM, 2003, Jonassen, 1999, Noss and Hoyles, 1996). To this end, many researchers acknowledge the critical role of constructivist educational software in student learning in terms of: (a) acquiring hands-on experience, at the same time reflecting and translating this experience in multiple representation systems (MRS), (b) expressing their knowledge, including their mistakes, taking advantage of MRS of different cognitive transparency, (c) exploring dynamic visualization of complex procedures such as specific algorithms and programs, (d) obtaining hyperlinked, multilayered and multi-media information, including specific programming language constructs and plans, and (e) receiving appropriate intrinsic and extrinsic feedback in MRS (Ainsworth, 1999, Jonassen, 1999, Kordaki et al., 2008).

In an attempt to exploit all the above, an open problem-solving computer learning environment has been constructed to support secondary level education students in their learning of programming using C. This environment is named LECGO (Learning Environment for programming using C using Geometrical Objects) and its design was based on social and constructivist perspectives (Jonassen, 1999, Vygotsky, 1978) regarding knowledge construction, with an emphasis on the role of: (a) algorithmic logic instead of the syntactical rules and grammar of a specific programming language, (b) performing meaningful learning activities within the motivating context of drawing using geometrical objects, at the same time avoiding the extra cognitive load that usually comes from complex problem domains, (c) hands-on experience in solving programming problems and subsequently in the role of reflection and translation of this experience in MRS, (d) constructing algorithmic solutions to problems in various Representation Systems (RS), starting from intuitive, more ‘anthropocentric’ solutions, and gradually moving to more computer-oriented solutions, (e) appropriate help, including language plans and constructs in a multi-layered hyperlinked content, using the learning activity as a basic structural element, and (f) appropriate feedback on student learning. The features provided by LECGO are not only theoretically documented but have been pilot tested in the field using actual students to verify their impact on student learning. Such a computer environment for the learning of programming using C has not yet been reported.

The main research aims motivating this study are:

  • to explore ways of designing educational software that effectively supports beginner learning of programming using C (mainly at secondary education level)

  • to examine the impact of the proposed software on student conceptualization of basic aspects of programming in C

The following section features the rationale behind the design of LECGO and its general architecture and features are then demonstrated. Subsequently, a pilot formative evaluation study of LECGO using real students is reported. The results from this study are then discussed in comparison to the results that emerged from the same students’ involvement in similar tasks performed in the p–p environment and also in the context of Turbo C. Finally, conclusions are drawn.

Section snippets

The rationale behind the design of LECGO

In order to meet the first research aim of this study – namely, to explore ways of designing educational software that effectively supports secondary level education student learning of programming using C – it emerged that it was crucial to address certain vital questions:

  • What is the subject to be learned, in terms of the basic concepts that have to be learned by the students?

  • What is the target group of learners that LECGO will address?

  • What is their profile?

  • How they can learn the specific

The general architecture and features of LECGO

The general architecture of LECGO is presented diagrammatically in Fig. 2 and also demonstrated on the LECGO home page. The aforementioned architecture is divided into two main parts: (a) that presenting an appropriate content for learning fundamentals in programming using C (Kordaki, 2006) and (b) that dedicated to the learning activities that have to be actively performed by students in order for them to learn fundamentals in programming using C. These parts are described in the next section

The theoretical framework and the aims of the study

The aims of this evaluation study were: (a) to provide evidence about student programming constructions using the tools and RS provided by LECGO and (b) to compare these constructions to the ones realized by the same students while performing similar tasks in the p–p environment and in the typical programming environment of Turbo C. This was decided because in school practices students are very frequently asked to write programs using paper-and-pencil. The second aim was selected to clarify the

Results

Only the data emerging from the first two tasks given during the course of this formative evaluation study are presented in this paper. This was decided due to space limitations and, most importantly, due to the fact that the results from the remaining two tasks were similar to the results of the first two’. These data are organized in terms of student programming problem-solving strategies for each task (see Sections 5.1 Task1: student sequential programming problem-solving strategies within;

Discussion

In this paper, the design, basic features and pilot evaluation of a computer environment for beginners’ learning of computer programming using C has been presented. A number of decisions were made in terms of the design to interpret both basic aspects of constructivism and social theories of learning, as well as basic aspects of programming in C and student difficulties in the learning of programming that have emerged from the literature. As a result, a problem-solving environment was designed

Conclusions

This paper considered the design and the pilot evaluation phase of a drawing, multi-representational and multi-aided, web-based learning environment that emphasizes the performance of drawing tasks for the learning of fundamentals in programming using C, named LECGO. Multimedia, multi-representational and multilayered, activity-based hyperlinked content was integrated into the proposed environment. A modeling methodology was used for the design of LECGO that was also inspired by modern social

Acknowledgement

Many thanks to Konstadina Zikouli, not only for her ideas but also for her contribution in the collection of the data used in this paper.

Maria Kordaki is an advisor for secondary education mathematics teachers and adjunct assistant professor in the Department of Computer Engineering and Informatics, Patras University, Greece, where she trains students in Educational Technology and in Didactics of Computer Science. Her research interests include Educational Technology and Didactics of both Mathematics and Computer Science. Her correspondence address is: Maria Kordaki, Department of Computer Engineering and Informatics, Patras

References (75)

  • M. Ben-Ari

    Situated learning in computer science education

    Computer Science Education

    (2004)
  • Berglund, A., Daniels, M., & Pears, A. (2006). Qualitative research projects in computing education research: An...
  • Britos, P., Rey, E.-J., Rodríguez, D., & García-Martínez, R. (2008). Work in progress – Programming misunderstandings...
  • P. Brusilovski et al.

    Mini-languages: A way to learn programming principles

    Education and Information Technologies

    (1997)
  • J.M. Burton et al.

    Learning in and through the arts: The question of transfer

    Studies in Art Education

    (2000)
  • Calloni, B., & Bagert, D. (1994). Iconic programming in BACCII vs. textual programming: Which is a better learning...
  • Calloni, B., & Bagert, D. (1997). Iconic programming proves effective for teaching the first year programming sequence...
  • H. Christiaen

    Novice programming errors: Misconceptions or mispresentations?

    ACM SIGCSE Bulletin

    (1998)
  • L. Cohen et al.

    Research methods in education

    (1989)
  • V.B. Cohen

    A reexamination of feedback in computer-based instruction: Implications for instructional design

    Educational Technology

    (1985)
  • C. Crooks

    Computers and the collaborative experience of learning

    (1994)
  • M. Csikszentmihalyi

    Assessing aesthetic education

    Grantmakers in the Arts

    (1997)
  • CTGV

    Technology and the design of generative learning environments

  • V. Dagdilelis et al.

    Introducing secondary education to algorithms and programming

    Education and Information Technologies

    (2004)
  • L. Davidovitch et al.

    Simulation-based learning in engineering education: Performance and transfer in learning project management

    Journal of Engineering Education

    (2006)
  • R.J. Deasy

    Critical links: Learning in the arts and student academic and social development

    (2002)
  • B. Du Boulay

    Some difficulties in learning to program

    Journal of Educational Computing Research

    (1986)
  • E.W. Eisner

    The state of the arts and the improvement of education

    Art Education Journal

    (2002)
  • Eckerdal, A. (2009). Novice programming students’ learning of concepts and practise. Dissertation presented at...
  • Ellis, A. (1998). Development and use of multimedia and internet resources for a problem based environment. In...
  • S.N. Freund et al.

    THETIS: An ANSI C programming environment designed for introductory use

    (1996)
  • H. Gardner

    Frames of mind: The theory of multiple intelligences

    (1983)
  • Garner, S., Haden, P., & Robins, A. (2005). My program is correct but it doesn’t run: A preliminary investigation of...
  • Garner, S. (2007). A program design tool to help novices learn programming. In ICT: Providing choices for learners and...
  • M. Greene

    Releasing the imagination: Essays on education, the arts, and social change

    (1995)
  • Guzdial, M. (2003). Programming environments for novices....
  • M. Guzdial et al.

    Introduction to computing and programming in Java: A multimedia approach

    (2005)
  • Cited by (0)

    Maria Kordaki is an advisor for secondary education mathematics teachers and adjunct assistant professor in the Department of Computer Engineering and Informatics, Patras University, Greece, where she trains students in Educational Technology and in Didactics of Computer Science. Her research interests include Educational Technology and Didactics of both Mathematics and Computer Science. Her correspondence address is: Maria Kordaki, Department of Computer Engineering and Informatics, Patras University, 26500, Rion Patras, Greece. Tel.: +2610 996932; e-mail: [email protected].

    View full text