How can we learn any programming language? Teaching methods there is not much. Most people who are professionally engaged in programming, programming studied in universities, on technical faculties. Really serious, a large university may give a very deep knowledge in this area, as has already gained theoretical and practical base of experienced teachers. But the quality of universities, where serious studied programming, a little. In general, in small towns, often taught by unnecessary or already obsolete things, among the mass of irrelevant information, students should always look for something useful that can be useful to them in practice. After graduating from a university and get a job, students are finding that most of the received knowledge absolutely no need for the development of commercial projects.
And what you need, generally was not affected in the classroom. and students have to relearn again, independently, from books and documentation. To date, there are plenty of books on programming, such as "Teach C + + for a week" or "Assembler for Dummies." People who choose to learn programming with enthusiasm to buy the books, thinking to myself – "Hooray, after a week I'll know assembler. At his practice, not shoveled a dozen such books, I have formed the impression that the authors themselves have not developed any serious program. And if it worked, the book none of this is not described.
Most books contain a superficial knowledge, again useless in practice. Or already outdated. In addition, most books written in such arcane language, with a bunch of obscure terms that immediately deters ordinary readers.