In addition to the great suggestions below, one of the things I would add ( this gels with the whole problem solving skills suggestion) is to introduce them to algorithms. It needn't even be in a specific language. Being able to think abstractly is one of the great powers that high schoolers should be exposed to.