I'm disgusted with all the Arduino books I've bought or looked at. Only one of my books, "Beginning Arduino Programming", mentions millis() and micros(). And it doesn't mention the internal pull-up resistors or how to activate and use them! Useless! The more I learn, the more I see how much these books lack.
From what I can tell, for a beginner the most important example Sketches to learn inside and out are "Blink Without Delay" and "Debounce". Both use the millis() timer to determine when an LED (or motor, or whatever) should change states or to determine when a switch, button, or other input has been activated and it isn't just noise, based on time passed. And it is scaleable.
Don't even open the "Blink" sketch; what it does, I can do with a 555 timer or a couple of transistors. Using the delay() function is the most useless way to blink an LED or debounce a switch. It is NOT easily added to, and definitely not scaleable.
There are certain best practices in electronics and in programming. I'm not seeing this taught in the half-dozen Arduino books that I own. What I see is heavy use of the delay() command. IMO, it is like teaching a new driver to stop the car with the emergency brake.
/rant