Elsevier

Computers & Education

Volume 42, Issue 3, April 2004, Pages 215-226
Computers & Education

The efficiency of algorithms—misconceptions

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

Abstract

The implementation of a new computer science (CS) curriculum in high schools which includes all the basic elements of traditional CS programs, motivated a research to determine how students conceive the very fundamental notion of efficiency. Since this was the first time that algorithm efficiency was integrated into a high school curriculum, our study was crucial for further implementation of the program. This paper describes a study that revealed misconceptions in perceiving the efficiency of algorithms by high school students. We discuss the results, provide some indication of the roots of these misconceptions, suggest ways to prevent them, and recommend further research.

Introduction

A new computer science (CS) curriculum has been designed and is now being implemented in high schools (Gal-Ezer, Beeri, Harel, & Yehudai, 1995). While there has been considerable activity regarding CS curricula on the college and university levels over the years, on the high school level, development has been somewhat slower, due in part to the lack of adequate separation between CS and computer literacy or computer applications. The new curriculum currently being implemented is in a sense a break-through since it combines conceptual and practical computing issues in a zipper-like fashion, with an emphasis on the basics of algorithmics, and introducing, for the first time, notions of algorithmic correctness and efficiency.

The design of efficient algorithms to solve algorithmic problems is one of the most important research fields in CS. Good algorithm design is crucial to the performance of all software systems and therefore essential in every CS program of study. The study of algorithms gives the learner insight into the problems involved in providing techniques for solutions that are independent of programming languages or other implementational aspects.

Efficiency and complexity are pervasive themes throughout the study of algorithms, however they are considered advanced issues and therefore were not included in high school CS curricula in the past. Even in many university programs, they were not usually included in the introductory course, but only when teaching data structures. Thus, it was important to design a study to examine whether the curriculum suits high school students and to suggest ways to revise the materials if that was found to be necessary, depending on the outcomes of the research.

Recognizing the important contribution that research on misconceptions in relation to mathematics and science education made to the teaching of these fields (Eylon and Lynn, 1988, Fischbein, 1987, Hart, 1981, Osborne and Freyberg, 1985, Perkins and Simmons, 1988, Stavy and Tirosh, 1996a, Stavy and Tirosh, 1996b), we believed that exposing misconceptions in relation to the concept of efficiency was crucial to the examination of the CS high school curriculum.

Initial observations of the implementation of the program, interviews with teachers and students, and examination of students' achievements, confirmed our assumption that efficiency is a difficult concept to grasp. The goal of our study was to find out what misconceptions students hold regarding the notion of efficiency. We did not attempt to uncover the source of the misconceptions, nor did we systematically examine ways to prevent them. We will, however, provide some assumptions and clues regarding reasons for the misconceptions together with some ideas on how to prevent them; however, these need to be further investigated.

Section snippets

Background

Algorithmic thinking is a special and powerful way of thinking, which lies at the heart of computer science and represents the “spirit of computing” (Harel, 1992). As a consequence, the correctness and efficiency of algorithms—their computational complexity—are basic concepts in every CS curriculum (see, for example, ACM, 1968, IEEE Computer Society/ACM Task Force, 2001, Merritt et al., 1993, Tucker et al., 1991).

When given a problem, it is useful to compare several algorithms that solve it,

Research hypotheses

Our assumption was that students' intuitive perception of the concept of algorithm efficiency is not compatible with the definition of efficiency in computer science. We assumed that the students' perceptions were the following:

  • A shorter program (in terms of number of lines) is more efficient.

  • Two programs containing the same statements are equally efficient (even if the order of the statements is different).

  • The fewer variables there are, the more efficient the program.

We also examined to what

Results

The findings confirmed our assumption that students indeed have misconceptions regarding the notion of time-efficiency. As expected, students relate the efficiency of an algorithm to its length. Also, we found that students thought that if two programs accomplish the same task they are equally efficient, and that if the algorithm uses fewer variables, it is more time efficient. We also found evidence of other misconceptions regarding efficiency on which we will not elaborate here, such as the

Discussion

The major importance of our study was in uncovering misconceptions regarding the efficiency of algorithms. Since this is a fundamental notion in the theory and practice of computer science, it is important to introduce the topic at a relatively early stage of every computer science program of study. In our research, we examined the implementation of a new high school computer science curriculum and confirmed our assumptions regarding the difficulties in teaching and conceiving of the notion of

Acknowledgements

We thank Yael Alberton for her advice on the statistical analysis. The first listed author would like to thank the Weizmann Institute of Science for hosting her on a sabbatical leave, during which parts of this paper were written.

References (26)

  • J. Gal-Ezer

    Computer science teachers' certification program

    Computers and Education

    (1995)
  • C. Kann et al.

    Integrating algorithm animation into a learning environment

    Computers and Education

    (1997)
  • Curriculum 68: Recommendations for academic programs in computer science

    Comm. Assoc. Comput. Mach.

    (1968)
  • B. Du Boulay

    Some difficulties of learning to program

    Journal of Educational Computing Research

    (1986)
  • B. Eylon et al.

    Learning and instruction: An examination of four research perspectives in science education

    Review of Educational Research

    (1988)
  • E. Fischbein

    Intuition in science and mathematics: an educational approach

    (1987)
  • J. Gal-Ezer et al.

    A high school program in computer science

    Computer

    (1995)
  • J. Gal-Ezer et al.

    Curriculum and course syllabi for a high-school CS program

    Computer Science Education

    (1999)
  • Gal-Ezer, J., Vilner T., & Zur, E. (2003, June). Teaching efficiency at early stages: a different approach. To be...
  • Gal-Ezer, J., & Zur, E. (2002). The concept of “algorithm efficiency” in the high school CS curriculum. Paper presented...
  • D. Harel

    Algorithmics: the spirit of computing

    (1992)
  • K. Hart

    Children's understanding of mathematics

    (1981)
  • IEEE Computer Society/ACM Task Force. (2001). Computing curricula 2001. Available:...
  • Cited by (36)

    • The effect of computer-assisted teaching on remedying misconceptions: The case of the subject "probability"

      2012, Computers and Education
      Citation Excerpt :

      In this study, the Kuder-Richardson formula 20 (KR-20) reliability coefficient of the instrument was found as .81. More recently, researchers are beginning to examine the effect of more innovative teaching approaches that utilize computer-assisted learning environments to improve students’ understanding and to remedy students’ misconceptions (e.g., Chang & Chien, 1996; Demetriadis, Papadopoulos, Stamelos, & Fischer, 2008; Gal-Ezer & Zur, 2004; Huang et al., 2008; Lazakidou & Retalis, 2010; Lee, 1988; Liu et al., 2010; Özdener, 2008; Tirosh et al., 1990; Veerman, Andriessen, & Kanselaar, 2000; Zydney, 2010). In computer-supported collaborative learning environments, students can jointly work out a solution to a problem, increase their problem-solving skills in a relatively short period of time, and improve their approach to the solution of a given mathematical problem, showing significant signs of autonomy (Baki & Çakıroğlu, 2011; Baki & Güveli, 2008; Barron, 2000; Demetriadis et al., 2008; Lazakidou & Retalis, 2010; Monteserin, Schiaffino, & Amandi, 2010; Veerman et al., 2000).

    • To Be Or Not To Be . . . An Algorithm: The Notion According to Students and Teachers

      2024, SIGCSE 2024 - Proceedings of the 55th ACM Technical Symposium on Computer Science Education
    • Problematic and Persistent Post-Secondary Program Performance Preconceptions

      2022, ACM International Conference Proceeding Series
    • Algorithm Visualization and the Elusive Modality Effect

      2021, ICER 2021 - Proceedings of the 17th ACM Conference on International Computing Education Research
    • Novice Difficulties with Analyzing the Running Timeof Short Pieces of Code

      2021, ACM International Conference Proceeding Series
    • Exploring the Effectiveness of STEAM Integrated Approach via Scratch on Computational Thinking

      2021, Eurasia Journal of Mathematics, Science and Technology Education
    View all citing articles on Scopus
    View full text