Books seem like an old-fashioned way to teach programming. Wouldn't it make sense to create more interactive content so readers/users can try out the code as they go along? I think this is definitely true for beginners learning programming, but shouldn't it also apply to many cases of more advanced programming knowledge?
My plug:
My site http://www.learneroo.com has educational modules primarily for beginners learning programming, but I'm thinking of expanding it to more advanced topics. Anyone interested in publishing their content on it?
Wouldn't it make sense to create more interactive content so readers/users can try out the code as they go along?
One upside to the days of paper-only was that I was forced to hand-enter a lot of code to see it in action. It made me pay more attention to the code than if I had just cut-n-pasted or loaded up a file.
Often the code would fail the first time I tried to run it. Then I needed to figure out where the error was. It was quite instructional.
RFDL (run-fail-debug-loop) is a very useful approach to learning.
To learn something well you need to practice it and can't just copy and paste. I think that copying-and-pasting by typing isn't that much better though. It would be better to solve challenges and the like so that you really need to think.
My question is maybe professional programmers aren't as interested in doing 'assigned' challenges and would rather apply what they learn to their own projects. Though I still think there's still a large market for more interactive professional training.
Definitely not the case for me. I started programming with BASIC on my C64and that was just endless copying from books. I assure you I learnt nothing from it - not something to be proud of (I was just starting out), but it goes to show that you can mindlessly copy stuff from a textbook without really reading as you can with copying and pasting.
My plug: My site http://www.learneroo.com has educational modules primarily for beginners learning programming, but I'm thinking of expanding it to more advanced topics. Anyone interested in publishing their content on it?