Programmer/nonprogrammer differences in specifying procedures to people and computers
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Efficiency of algorithms for programming beginners
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Constructivism in computer science education
Journal of Computers in Mathematics and Science Teaching
The efficiency of algorithms: misconceptions
Computers & Education
Software engineering as a model of understanding for learning and problem solving
Proceedings of the first international workshop on Computing education research
Commonsense computing: what students know before we teach (episode 1: sorting)
Proceedings of the second international workshop on Computing education research
Commonsense computing (episode 3): concurrency and concert tickets
Proceedings of the third international workshop on Computing education research
Commonsense computing (episode 6): logic is harder than pie
Proceedings of the 10th Koli Calling International Conference on Computing Education Research
User interface evaluation by novices
Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education
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
An Experimental Method for the Active Learning of Greedy Algorithms
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.00 |
This paper investigates what students understand about algorithm efficiency before receiving any formal instruction on the topic. We gave students a challenging search problem and two solutions, then asked them to identify the more efficient solution and to justify their choice. Many students did not use the standard worst-case analysis of algorithms; rather they chose other metrics, including average-case, better for more cases, better in all cases, one algorithm being more correct, and better for real-world scenarios. Students were much more likely to choose the correct algorithm when they were asked to trace the algorithms on specific examples; this was true even if they traced the algorithms incorrectly.