The Euler project (https://projecteuler.net/) is a collection of currently over 400 mathematics/programming problems. The problems are generally meant to be solved via both mathematical and programming “tricks” or skills and only a small fraction of them are solvable via brute force. There’s a ranking of problem’s difficulty based on the number of people who successfully managed to solve the problems so that gives you an idea about what to expect about the difficulty of any particular problem once you’ve solved a few of them.

I think it’s a very nice project to spark interest in programming for “math people” and also to learn some programming.

You basically look for an interesting Euler project problem, i.e. a problem you read and really want to know the answer to, then you pick any programming language you feel comfortable with and you start to think of ways to solve the problem. You try out stuffs and check whether that works or not. The program should not take more than about 1 minute of running time to solve the problem so it’s easy to check whether your method is not well suited.

I think this project should be mentioned in high schools even though it shouldn’t be hard to find the answer to all of the problems on the web. If someone is serious about it, he wouldn’t look for the solution and that’s what matters most.

The only downside I’ve found so far is that it can get pretty addictive and can make one spend way too much time thinking about a particular problem and that could have a bad impact on one’s life. You’ve been warned. 🙂