One thing that I feel is important, is that I do not believe charity, handouts in general are a good idea. they make people dependent or expectant of such charity instead of motivating them to solve problems.
Paying for education however is different. Education should be free. I come from a country where all education including university is free. So when I pay for a students education I am not being charitable, but I am correcting an error in the system.
Another way to look at it is to see going to school as the kids job. I literally got one kid off the streets by paying for their school and board, and all other personal expenses. The kid had already dropped out of school and ran away from home, and I offered to help only if and as long they would go back to school. That was their job. Their obligation.