Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am not sure if this would be the right forum to ask the question (Please let me know and I will move the question to appropriate forum).

I would like to know what can be the best way for elders (in my case, my parents) to learn how to program. I was looking at Qimo 4 kids as a possible platform so that my parents can have a closer look at Linux environments. But it seems like Qimo mostly consists of educational games. I also don't know about which programming language would make the best choice.

If anyone can provide me with information on how to go about with this "project", that would be grateful!!!

share|improve this question
    
depends strongly on what they want to do. to automate simple tasks shell scripts and knowledge about the operating system is needed, for applications high level languages and a gui toolkit, for driver programming C/ASM and hardware knowledge –  Firo May 10 '12 at 7:06
add comment

4 Answers

Unless your parents have expressed a clear, strong desire to learn programming, I recommend against trying to teach them. Programming is hard, and requires a special way of thinking and a significant investment in time to reach the point where you feel like you know what you are doing. Unless they are motivated to learn, it might not be much more than a frustrating experience for them.

That being said, you probably want to teach them a language or system that provides a lot of immediate visual feedback without being too picky about getting things just right. Something like C or C++ might be too hard with having to worry about #including headers, compiling, linking, and learning how to fix errors at each step. Java might be a better choice, but it still a pretty verbose language. Python can be picky about indentation, but is otherwise pretty good.

Something that I saw recently was a presentation on a small DSL called PIE to allow kids to code simple games. The language was super simple, and when run it produced something that felt "real". Perhaps a custom language focused on programmer satisfaction rather than solving real-world problems might be a good choice.

share|improve this answer
add comment

codecademy.com

It has easy to understand and easy to follow videos to learn coding. I think it's a great resource for all ages.

It covers Ruby, Python and Javascript - high-level languages per se - but it still is a nice introduction to understanding what is a programming language, what are the common concepts shared by different languages, what are functions, conditionals, loops, objects, etc.

It follows the exercice and apply pattern, the finality being to code a black jack game, at least for the javascript lessons (see JavaScript fundamentals).

Finally, you don't need an IDE, which might confuse the user at first. You only need a browser.

share|improve this answer
    
Please use the Post answer button only for actual answers. You should modify your original question to add additional information. –  Dynamic May 11 '12 at 22:33
add comment

Start them off with BASIC first. BASIC would be a very nice choice of programming language if they just want to do simple programming problems initially. This would let them understand how programming works when they solve small-sized problems like adding 2 numbers, making a calculator, taking user input, etc. Initially help them yourself, then let them ponder and explore it a bit. Tell them to solve regular-day problems in BASIC.

In case they want to then go for a "proper" programming language later on, my vote goes for Python. Here is a small excerpt from Wikipedia about Python:

Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to combine "remarkable power with very clear syntax"...

I myself being a long-time python programmer, I can very well say that it is a very good choice to start programming with. But, this answer is subjective, every user has his/her own preferences. Also, it depends on what all your parents are willing to learn. :)

share|improve this answer
    
What about Logo? ;) –  Li-aung Yip May 10 '12 at 7:06
add comment

Udacity has an interesting project-based approach to learning.

Udacity's course catalog has several beginner courses. One that you may be interested in is:

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.