Okay, teaching children to tie their shoes does not have to be difficult. It usually just takes practice (lots of trials) and a consistent method. I've seen lots of different ways of tying shoes but this is the one with which I've had the most success.
A task-analysis for shoe tying:
Start with laces straight out to each side of the shoe.
Take the right lace (A) and cross the front of the shoe.
Set it down on the left.
Take the left lace (B) and cross it over the shoe (and other lace).
Set it down on the right.
At the top of the shoe, pull up on lace (A) with your left hand to make a little tunnel (with B still on top of A). Hold on to it.
Pick up the end of lace (B) with your right hand (right side of the shoe) and drive it through the tunnel you are still holding with your left hand (sometimes this comes with train noises, "choo choo!").
Let go of lace (B) once it enters the tunnel, then grab it again with the same hand on the other side of the tunnel.
Let go of lace (A) and grab the end of lace (A), which should still be on the left side of the shoe. Now you are holding the ends of both laces.
Pull both laces.
Let go of both laces.
Make a loop on lace B (right lace) by touching the two dots together and pinching.
Do the same with lace A (left lace).
Cross the tops of both loops, with the right loop in front of the left. Make sure there is a space under the loops.
Make 1 loop do a "flip", turning one loop completely under the other by pushing it over the other loop and through the space below the 2 loops. Don't let go of either lace!
Pull them tight. The shoe is tied!
At this point you can pull on each lace until the ends are not dragging.
Keys to remember:
It is often helpful to start with extra-long shoe laces. You remember, right? Having laces that are too short can turn an otherwise successful attempt at tying shoes into a frustrating moment right at the end when you pull your loops and the end of the lace gets pulled out of the knot. Start with long laces. It's also helpful to put 2 dots on the each lace where the points on the"loop" should touch. Kids can use them to learn how big the loop should be in order to tie successfully. (Most kids will start out using nearly the whole lace to make the initial loops.)
When teaching kids to tie their shoes, show them then physically help (prompt) them to do it. Don't be afraid to help until they don't need it anymore. Reduce the potential of frustration by practicing "success" (with you helping). This will help the activity become more reinforcing to them and will help them demonstrate persistence in learning the skill.
Demonstrate and Help/prompt from behind. Put the shoe in between their legs (right in front of them), facing the same direction it would be if it was on their foot. Initially, I wouldn't start with it on their foot simply because they will be putting a lot of effort into concentrating on completing the "right" steps (physically and mentally). We don't want to wear them out because it takes more effort to fold up their leg and keep it close to their body to reach the shoe in the first place. If you demonstrate how to tie the shoe from behind, they'll be looking at it from the same point of view as you. And when you help/physically prompt from behind, your fingers will be in the same positions their fingers should be in.
Follow the same task analysis every time. This is important as it will lead to mastery much quicker if the same steps are being practiced in the same order every time. If more than one person is teaching this skill to your child, make sure you are all on the same page.
Fade prompts (your help) gradually. Initially, physically help your child complete every step in the chain. Then fade how much you are physically helping (prompting) them. Normally, I like to teach skills by backward chaining. However, I've found that kids like to complete at least the first 3 steps in the shoe-tying chain independently pretty quickly. Just make sure that if they can complete a step independently, let them do it. If they are shaky or are not able to be independent, provide a prompt BEFORE they miss a step or complete an "error". This will reduce frustration and prevent practicing incorrect steps.
Initially, reinforce EVERY accomplishment, big or small. Tying shoes is hard. There are a lot of steps and most kids haven't had a ton of "that kind" of fine motor practice prior to learning how to tie their shoes. Reinforce independence as it happens (with each step). Make a big deal out of accomplishments at every level.
Let me know if this "makes sense". Are there other "tasks" you'd like to see "analyzed"?