Moral science is taught as a subject in most schools but with little effect. Perhaps part of the problem lies in the fact that morality is not a science, strictly speaking. It is too much of a social phenomenon, and also has too much of the personal and subjective things mixed within. Besides, morality itself changes with generations. So it is impossible to be defined in a textbook. I remember sitting through forty minutes of moral lessons, which told stories about little children who never told lies and were rewarded for their goodness. It had little effect and left no impression on me, though. If moral science has to be taught as a subject in schools, it needs a participatory  approach. When you tell a child about morals, you also have to deal with social norms and cultural differences. You have to explain that morality can be subjective, and be able to co-exist in society. You will probably have to refer to the morals of the present time. The best way to tell a child how to live is to show him what is valued. If a child likes his friend, you have to make the child think about why. Once the child notices and recognizes goodness in others, he or she is likely to develop it as well. In fact, children learn most of their morals by watching people around them. They absorb behavior patterns from teachers and older students. They watch to see what is rewarded and who is punished. They learn on the sports field and through social work. Moral science lessons should simply consist of letting them live and interact, and watch you support correct values and reward good behavior. Which is NOT the reason that moral science is taught in schools but with little effect?
Morality doesn't strictly belong to a science Morality is more like a social phenomenon. Different generations have different moral ideas. Morality can't be written down in textbooks.