Ask HN: Why do schools still teach arithmetic algorithms?
1amichail58/8/2025, 3:03:33 PM
No one does arithmetic by hand nowadays. You don't even need to know the algorithms to do most higher level math.
Comments (5)
falcor84 · 3h ago
I think that's it's really cool to learn the algorithms, as tools that improve reasoning in math, in CS and in systems thinking in general.
What I dislike is the focus on avoiding errors. I think it's beyond silly these days to deduct points from a student when they got a couple of questions on a set wrong, but clearly understand the algorithm. We should figure out a way to teach algorithms without focusing on manual execution of them. For older kids, the proper way is possibly to get them to implement them in code, until they pass the given test cases, and for younger kids, I suppose that despite its costs, I'd go back to oral examination.
amichail · 3h ago
But they don't prove correctness of those algorithms.
Maybe they could teach non-arithmetic algorithms whose correctness is more obvious without a formal proof.
falcor84 · 2h ago
I'm a big believer in spiral learning, and think that it's absolutely ok to teach younger kids algorithms without proof of correctness with hand-wavy motivations, in order to get them used to the idea and feel empowered in using the algorithms, and then to come back to the proof later, once they have more mathematical maturity.
But yes, teaching additional non-arithmetic algorithms would probably be very useful; two related examples I like are binary search in a dictionary and lexicographic ordering to make your own dictionary/index. This can then also lead to an investigation of sorting algorithms, and then back to math.
manfromchina1 · 2h ago
> prove correctness
They would have to know induction which appears in 9th(?) grade algebra. Efficiency analysis would likely be super difficult even to high school students.
What I dislike is the focus on avoiding errors. I think it's beyond silly these days to deduct points from a student when they got a couple of questions on a set wrong, but clearly understand the algorithm. We should figure out a way to teach algorithms without focusing on manual execution of them. For older kids, the proper way is possibly to get them to implement them in code, until they pass the given test cases, and for younger kids, I suppose that despite its costs, I'd go back to oral examination.
Maybe they could teach non-arithmetic algorithms whose correctness is more obvious without a formal proof.
But yes, teaching additional non-arithmetic algorithms would probably be very useful; two related examples I like are binary search in a dictionary and lexicographic ordering to make your own dictionary/index. This can then also lead to an investigation of sorting algorithms, and then back to math.
They would have to know induction which appears in 9th(?) grade algebra. Efficiency analysis would likely be super difficult even to high school students.