Ask HN: Best way(s) to teach someone else to program, person to person.
1–5 of 5 posts
Re: Ask HN: Best way(s) to teach someone else to program, person to person.
#2So pick a timeline, agree in advance that, "If you get stuck on something, we'll try to work it out but we must make it through this section by 3:00PM today no matter what."
2nd piece of advice - don't let them ask so many questions that they take you off topic or into areas that your timeline has you covering later. "We're going to cover that in a bit..."
Training is an area in which the trainee can make or break the experience. A trainee that lets you be their guide will learn from a good trainer but a trainee that tries to wrestle control from even a great trainer will not learn much.
Re: Ask HN: Best way(s) to teach someone else to program, person to person.
#3Re: Ask HN: Best way(s) to teach someone else to program, person to person.
#4I was tought PHP that way (I only used to program in Delphi before a bit). Initially, I read the basic parts of the PHP manual (about syntax, etc), then we and my friend (a PHP master) sat for about 5 hours and wrote code that did a lot of different stuff - cycles, regexps, reading files, basic XML parsing, etc. Of course I forgot it all in the next several hours, but I later often returned to it to see how to do var…
this is certainly useful information for me, something i could try
Re: Ask HN: Best way(s) to teach someone else to program, person to person.
#5First, I like to show the person some feature in the program or Web site, like say a popup window. Then I show them the code for that window. Then I show them how to modify different components by adjusting variables and so on, so that they get the feel for where all the moving parts are and see how their changes directly affect the popup window.
Then, I have them write a basic function that does the same thing, but this time from scratch. Once we go over what worked and didn't and debug the code and get things working, we move on to a second function or construct.
Ultimately, the goal is to start small and continue expanding from there, kind of like having the trainee drive around a parking lot, then city streets, then the freeway.
Most importantly, I find that the key is to keep building on the same code, and helping the trainee see their program grow into something useful -- as opposed to simply showing them one construct in the abstract and then another and then another, without tying them together in any way.