If you choose the project/problem based approach I recommend https://projecteuler.net
You will learn a ton solving these problems (the programming aspect is the trivial piece in most cases).