It's a bold move to put Learn C the Hard Way as the only book recommendation for learning C, haha. This article seems like a good jumping-off point. I would be interested to see some examples of well-written embedded software which are sufficiently limited in scope that a beginner can feasibly grok the whole codebase.