I think programming even a CRUD application is much more congnitively demanding than any math that your son is likely to be taught before university. This is because math in school is taught mostly in terms of procedures that can be blindly followed. On the other hand in writing even the simplest programs one must deal with freedom: there are many ways in which a program can be structured, and many paths its execution can follow, and you must develop your abstract thinking skills in order to see the consequences. It is only at the university level that you begin to see this kind of freedom in doing math.