Learn how to program by picking up a few books

Hey guys,

I was just wondering... is it easier to learn how to program by picking up a few books or by taking courses on the subject? If it's easier to learn through self-study, then I probably won't sign up for any programming classes next year. Thanks.
Re: Programming

Personally, I think programming classes are a waste of time and money. Same goes for CAD classes as well. I learn best from just diving right in with a project and learning what I need along the way. Most popular languages are very well supported and you won't even need (or want) any books.


Science Advisor
Re: Programming

I'm of the opinion that if you have zero programming experience, formal programming courses can be a good way of getting into the subject matter and learning the tool chain (especially if you don't have any / lots of programmer friends). The programming assignments (often trivial to those who programming experience) also give you something to learn with.

I also think that an introductory drafting (and not necessarily CAD, even though that's what everybody uses) is good for introducing the technicals of, well, technical drawing (how things should look like, why you need drawings in the first place, and why they're used). Good for forcing you to use your visualization abilities.

...But that's just my opinion. And really, it comes down to what kind of learner (or thinker) you are, and whether or not you need to take one or both of the above as part of course requirements (and whether or not you need these for further courses). If you're good at teaching yourself to do something (from scratch) from a book, that's probably the way to go. If not, the course route might not be such a bad idea.
Re: Programming

If all you want to know how to do is to program casually and hack out a few easy programs using cookbook algorithms and copy-and-paste, all you need is a book and a few hours.

If you want to learn how to write good software and understand what you're doing (and not just develop muscle memory for doing it when you need to) then you will probably need some guidance.

I suppose, in theory, that anything that can be learned can be learned without help.
Re: Programming

For CAD there are 2 basic things to learn. First is the principles of drafting and design, which a class will help with. The second is getting accustomed to working in 3D on a computer, which is effectively learned through spending time building 3D models, whether for a class or not.

Classes offer a good opportunity to ask questions you have, but this function can now be achieved as well or better through asking questions on forums. In 3D art and animation, which is similar but considerably more difficult than parametric CAD, virtually all current professionals in industry started out as teenagers making models for fun, reading online tutorials in place of books, and using online forums for help and critique of their work.

The Physics Forums Way

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving