The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare
I like the SAMS books as they start from the absolute beginning and work through a language using discrete lessons. Each lesson is supposed to take an hour -- which is probably accurate for a complete beginner -- however, anyone with any programming knowledge will buzz through the first 7 lessons in less than an hour.
Each lesson has a quiz and exercises for practice, some of which are practical brain teasers. My learning style needs practical work to cement the lessons.
After you've learned the language fundamentals, you will be overwhelmed with all the other "stuff" you will need to know. For all that "other stuff", I think you will find this other article, also by Eric Elliot, to be *very* helpful:
ALL ABOUT COUNTING RIGHT
In a dark room (so you can't actually recognize the coins, but feel and mover them only) there are 284 coins scattered on the floor. It is known that only 14 hast their tail upward.
Create two piles of coins - using all the coins in the room - with the same number of coins with their tails up...
Skipper: We'll fix it. Alex: Fix it? How you gonna fix this? Skipper: Grit, spit and a whole lotta duct tape.
Soo... you can feel the coins (determine sides) and the only requirements are two piles with equal tails up coins? Just pick up all the coins, splitting them into two heads-up piles of 149 each. Or two piles of 142 heads-up, 7 tails-up, or any other combination that strikes your fancy. You can determine coin side by feel pretty easily for all coins I'm familiar with