First of all, programming is not easy. If you teach yourself, you can't learn. Generally speaking, you can't learn, so let's see if children can teach themselves first.
Secondly, it depends on the time. If you are a freshman and a sophomore and are not in a hurry to work, you are still at school and have school resources. It is suggested that you can teach yourself, have enough time, and use resources such as libraries.
But if you are in a hurry to find a job, it usually takes about 4-5 months of training and programming, not to mention self-study. Therefore, if you are in a hurry to go to work, it is recommended to go to training, which will save time on the one hand and achieve better results on the other.
As for the cost, if you want to choose the programming direction, you must be recognized by the industry and probably know the salary. If you go to work, the first-tier cities will earn their tuition back in about 3 months, and other cities will earn their tuition back in 4-5 months. Counting five months of training, 9- 10 months has a solid foundation and several months of experience. If you don't train, you will basically give up this time.
Give these suggestions as a whole, or make a choice according to the children's own situation and overall needs. How to choose must also be grasped.