Novice mistakes: are the folk wisdoms correct?
Communications of the ACM
A debate on teaching computing science
Communications of the ACM
The case for case studies of programming problems
Communications of the ACM
Teaching loop invariants to beginners by examples
SIGCSE '92 Proceedings of the twenty-third SIGCSE technical symposium on Computer science education
Teaching programming to liberal arts students: using loop invariants
SIGCSE '94 Proceedings of the twenty-fifth SIGCSE symposium on Computer science education
Problem Solving with C++: The Object of Programming
Problem Solving with C++: The Object of Programming
Oh! Pascal!
The Science of Programming
Object Concept: An Introduction to Computer Programming Using C++
Object Concept: An Introduction to Computer Programming Using C++
Introductory computer science for general education: laboratories, textbooks, and the Internet
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
Computer science and general education: Java, graphics, and the Web
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
Analyze that: puzzles and analysis of algorithms
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Is it really an algorithm: the need for explicit discourse
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
Reductive thinking in undergraduate CS courses
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Commonsense computing (episode 5): algorithm efficiency and balloon testing
ICER '09 Proceedings of the fifth international workshop on Computing education research workshop
CS1 students' understanding of computational thinking concepts
Journal of Computing Sciences in Colleges
Efficient egg drop contests: how middle school girls think about algorithmic efficiency
Proceedings of the ninth annual international ACM conference on International computing education research
Hi-index | 0.00 |
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.