| Do you want to teach your child computer skills, | | | | language, from the perspective of not having a |
| but have no idea how to do so? | | | | ton of details to get mired in, yet at the same |
| Computer programming is not exactly a trivial | | | | time is a very powerful language. C is a good |
| thing to teach. Home school parents can usually | | | | language to teach fundamental principles. If you |
| handle the easier subjects, learning themselves as | | | | start with an object-oriented language like C++ or |
| necessary simultaneously as they teach their child. | | | | perhaps Java, you run the risk of being |
| The challenge in programming comes with there | | | | overwhelmed with all the terminology that goes |
| being so much information available online. The | | | | along with it. Best to learn principles first, then |
| internet is a wonderful thing, and it is great to | | | | advanced topics such as OOD (Object Oriented |
| have access to so much info, but sometimes it is | | | | Design). |
| overwhelming. | | | | What's the best way to learn? |
| Where to start if you want to provide a solid, | | | | I think the easiest way to learn programming is to |
| basic understanding of computer programming | | | | be tossed into a real 'project', rather than just |
| skills to your child? Learning a bunch of random | | | | learning individual details of the language. |
| facts on programming does not serve much | | | | Developing a project from start to finish, over a |
| purpose. What your child does need is a solid | | | | period of time, demonstrates the entire process |
| grasp of principles. Regardless of what direction | | | | of design, coding, and debugging. It gives a better |
| your child goes, be it engineering, computer | | | | view of 'what programming is' versus just learning |
| science, or something completely different, | | | | the language. |
| learning the principles of breaking down a problem | | | | While progressing through a project, the language |
| into manageable pieces and creating those pieces | | | | details (again, the syntax) will come along naturally. |
| (which is pretty much what programming is), will | | | | Who is qualified to teach you? |
| serve him or her quite well in the future. | | | | As an engineer who has been out of college now |
| Computer programming is about thinking in terms | | | | for 20 years, I definitely understand how to break |
| of the structure, or architecture, of a system. | | | | a problem down and solve it. I've taken it upon |
| Certainly the language details of the programming | | | | myself to create a lesson program to teach |
| language must be mastered (this is referred to as | | | | computer programming to beginners. I believe I |
| syntax), but more importantly the thought | | | | have the unique ability to be able to relate to the |
| process and problem solving approach inherent in | | | | beginner mindset, and to be able to translate the |
| programming needs to be learned. | | | | complex ideas behind programming into terms |
| Which programming language should you teach? | | | | that are understandable to the beginner. |
| Of course if your student is a male, he probably | | | | My lessons are all video-based, so it isn't just a |
| wants to learn how to make video games. Game | | | | bunch of dry reading. I'll lead your student through |
| programming is certainly a viable goal to shoot for. | | | | the creation of a project, from start to finish, |
| Or perhaps the next killer iPhone app is in your | | | | teaching the fundamentals of computer |
| child's future, who knows. Whatever the ultimate | | | | programming along the way. Check it out, send |
| goal, I believe learning the "C" language is an | | | | me an email with your thoughts and I'd love to |
| excellent starting point. C is a relatively simple | | | | chat. |