From the limited experience I have with teaching people how to program, I've found that the language itself is not the first obstacle. The first thing future programmers have to obtain is the programming state of mind, which is basically how to decompose a problem into parts that can be represented by features of a computer program. Using variables, loops, functions and so on is not a skill we were born with...
My question is, then - does the book aim at providing this programming intuition? When writing such a book, do you test-drive it on absolute beginners, who have never read or written any kind of code?
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!
Java Pal - Your friend in technology and innovation...India.
1) While working as a programmer and writer at Microsoft for 10 years, we tested programming guides quite often with focus groups. I also read tons of reader feedback cards and letters.
2) Some years ago, I spent many hours working in a computer lab and tutoring private students in programming and math. (Moved onto writing since.)
Consequently, over the course of many years, I developed a large amount of experience of where the stumbling blocks are for beginning and intermediate programming students, especially with the C and C++ family. In C++ Without Fear, I've focus on those areas.