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.