I got into programming through making small games. It was very much a means to an end, a solution oriented path. I personally can't imagine trying to learn programming now in a similar manner to high school math courses, where problems are presented so abstractly. If I can't see a reachable and tangible end product in sight, it tanks my motivation to learn.