efficiency of algorithms for programming beginners
Introductory computer science courses often present the concept of algorithm efficiency in a rather late stage, through searching and sorting problems. We believe that the concept of efficiency can be presented much earlier. In this paper we present a novel approach in which efficiency of algorithms is presented early, gradually and intuitively. We link our approach to cognitive consequences of programming instruction and illustrate it with three problems.We implemented our approach with 10th and 11th grade high-school students. In the paper, we describe our experience with posing the three problems to the students. Student solutions varied considerably, reflecting different levels of insight into the problems. The various solutions led to fruitful class discussions, thus widening the students' repertoire of templates, and enhancing student realization as to the importance of analysis and planning.
efficiency algorithm program computer science concept sorting paper linking cognition instruction student experience class template analysis plan high school