Public schools are terrible because they aren't tailored to each individual kid. They simply don't care, and that's because of government oversight.
Nobody cares about the children. To all of the teachers there (who most of the time tried to get into another field but fell into teaching as a backup field after they failed) the kids are paperwork. The teacher's job is to get the best test scores, not the best education, for each kid.
Say a kid completely fucks up in Algebra for whatever reason. Most teachers are simply going to rant and rave at the kid (or worse, simply ignore them) instead of trying to help them get better. This is because the teacher has never actually had to make sure anyone absorbed anything, they've just had to repeat shit out of textbooks and get people to write it back down a week later.
This is because the state requires each and every kid to be tracked through their education. Instead of leaving the job of assessment up to the teachers and the parents, everything has to go into massive databases and annual reports that nobody gives a fuck about.
It is unacceptable for a teacher to, say, have a kid pop around during lunch and review what they've learned. No no, that'd be unaccountable. How can we trust the teacher, or the kid, or the parents? No, we must keep numerical track of the student's results, surely this will help.
All this results in is a bunch of kids who have A+'s, trophies and honours everywhere, but no actual education. They don't know how to act in an interview, or teach themselves anything, or any number of useful skills. They just know how to read a bunch of text, condense it into two sentences, and repeat it on a test later on. This results in kids who have drastically shortened attention spans, some lasting only a minute or two.
Either abolish the public education system, start trusting your teachers more, or just accept that it's going to get worse.