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?
Joined: Jul 12, 2004
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.
Joined: Aug 26, 2000
Isn't bad to learn the tools first, loops, functions, variables.. I see most of the beginner language books starts this way. Teaching you the structure of the language then apply it to the problem?
Joined: Oct 13, 2005
I actually agree with eran gi; it is easier to learn loops than OO programming, so the concepts are more important to learn. It is hard to put them into a book, however.
Joined: Sep 09, 2011
Hi... This is a wonderful question/post. Answers:
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.