views:

156

answers:

3

What is the best way to teach someone how to program, the language doesn't matter.

It's more of a case of how to make them think logical and clearly on how to over come a problem. Or is this something that comes naturally to most developers and can't be taught.

Any online resources or book recommendations appreciated.

A: 

an earlier question "Best ways to teach a beginner to program?" here at stackoverflow asks the same. I think you can find all the needed information there, it has some really good answers.

Sven
A: 

I would say check out the book Conceptual Blockbusting if you're just interested in getting someone to think more logically and clearly. Otherwise you're probably fine just starting off with the simplest language you can find. What exactly is the end goal, to teach them how to program or to teach them a new way of thinking?

Eric Scrivner
A: 

IMHO, learning to program means to become able to understand the concepts of a programming language (no matter which), i.e. loops, if-else statements etc. and how to apply these to implement solutions. This is a separate issue from solving the problem itself, i.e. coming up with the solution.

For exmaple: a programming language will not help you by itself come up with the numbers of the Fibonacci sequence. You have to know the algorithm first to come up with the sequence. Then you have to understand how to apply the programming language to implement the solution to come up with the numbers.

First, teach the person basic problem solving skills without touching programming. Then teach him/her the basics of programming in a language of your choice. Use the programming language to implement solutions for problems but always make sure that the person also understands how to solve the problem without the help of a programming language. The programming language is a tool to come up with the solution, not the solution itself.

cschol