Литература для понимания программирования?
Для меня, самыми полезными, в этом плане, оказались: "Код. Тайный язык информатики" (Чарльз Петцольд). Можно начать с главы 9 "За битом бит"; 
Программирование: введение в профессию. Том 1: аз...(в электронном варианте распространяется бесплатно. www.stolyarov.info/books/pdf/progintro_vol1.pdf).UPD.
+ Было не лишним, лично для меня, чтение некоторых глав из книг «Архитектура компьютера»  (Э. Таненбаум, Т. Остин) и "Современные операционные системы" (Э.Таненбаум, Х. Бос).
Начни с изучения шаблонов проектирования 
Книга по шаблонам проектирования?