Hacker News new | ask | show | jobs
by alexee 3279 days ago
My father is 59 and started to learn programming half a year ago. So far I was giving him algorithmic tasks to learn basic language constructs, he is now comfortable with basic Java and is able to solve most of easy problems from programming contests. And idea where to go from here? I don't think solving more difficult problems (like that involving algorithms or creative thinking) would make sense at this point. I tried to give him simple GUI project (tick-tac-toe in Swing), this kind of worked with lots of my help, but of course it was badly designed with model-view mixed, and he is unable to understand design pattern concepts at this point.
2 comments

I guarantee you that if your father is 59, that at some point in his life he's found a way to be more efficient at whatever his workload was at the time than a raw beginner. Design patterns are exactly that: patterns of efficiency.

The terribad thing about them is that they don't often explain why they are more efficient than the the naive path.

I'd recommend that you pose a series of tasks to your dad, and work with him to build them out, rebuilding them several times if necessary, to start that deep understanding of the art. Adopt a posture that this work is critical, and that you are working together. You'll both learn why as you do it.

Give him a real problem to work on. It doesn't have to be big, but it has to be directly relevant to his life. Solving toy problems for fun is a good start, but to get further engagement, you need a reason to be doing x, y, or z.