Great thought eran! I guess I have faced the same problem when dealing with absolute freshers, esp. when they don't have any experience or knowledge of computers...except the basics of parts of a computer stuff. I think towards that, a teacher's intervention is essential apart from a book. Which is why we have people like us! Some of the abstractions, divide and conquer, operation primitives, data primitives, type decomposition, etc. need much more than Programming knowledge. They will delve in everything from simple logic to discrete mathematics...so lets hear what Brain tells us!