I am looking to see if anyone knows a site or book that teaches the basics(the foundation) of programming. I've noticed that most of the programming code I have read seem to have very similar pieces.

Basically I would like to learn basics of Booleans , Variables, Loops, Arrays, etc and the fundamentals of programming. Any books on this subject would be good, I always find with myself that learning the basics of anything(such as music theory when learning a instrument) tends to speed up my process.

Also, is Computer Science any good at teaches these things?