I would say introduce him to at least one foreign language like spanish, french, german, portuguese, japanese, or chinese. I learned spanish as I learned english, by age 3 I was fluent in both. I had the advantage of having a spanish teacher for a mother, but it gave me the building blocks for understanding the rules and concepts of other languages (on 4 so far, working on 5th). These rules, grammatical, syntactical, etc. can help with picking up things like computer programming later. I mean they are called languages for a reason.
I think that giving your son excellent communication skills will give him a huge leg up on all his peers. Make sure to include reading in both english and another language too if possible.