The efficiency of algorithms—misconceptions
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)
Computer science teachers' certification program
Computers and Education
(1995)- 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)Some difficulties of learning to program
Journal of Educational Computing Research
(1986)- et al.
Learning and instruction: An examination of four research perspectives in science education
Review of Educational Research
(1988) Intuition in science and mathematics: an educational approach
(1987)- et al.
A high school program in computer science
Computer
(1995) - 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...
Algorithmics: the spirit of computing
Children's understanding of mathematics
Cited by (36)
The effect of computer-assisted teaching on remedying misconceptions: The case of the subject "probability"
2012, Computers and EducationCitation 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 EducationProblematic and Persistent Post-Secondary Program Performance Preconceptions
2022, ACM International Conference Proceeding SeriesAlgorithm Visualization and the Elusive Modality Effect
2021, ICER 2021 - Proceedings of the 17th ACM Conference on International Computing Education ResearchNovice Difficulties with Analyzing the Running Timeof Short Pieces of Code
2021, ACM International Conference Proceeding SeriesExploring the Effectiveness of STEAM Integrated Approach via Scratch on Computational Thinking
2021, Eurasia Journal of Mathematics, Science and Technology Education