3 ms·
The best way I've found to learn a language is to use it for some non-trivial project. A good place to go for varied programming challenges is http://projecteul
by fendrak 15y ago
The best way I've found to learn a language is to use it for some non-trivial project. A good place to go for varied programming challenges is http://projecteuler.net/ http://projecteuler.net/. The problems are generally math-related, but lend themselves nicely to programmed solutions. These help get you familiar with the syntax, and once you've got that out of the way learning the libraries is only a matter of using them.
I first learned C# at an internship last summer, and I did it by spending a solid week making a 'music database', basically a toy application that was a GUI front end to a SQL database. I learned how C# interfaced with databases, its threading model, the event system, the go-to data structures, etc. With a bit of time, a non-trivial goal directed towards your area of interest, and access to Google and Stack Overflow, there's little reason to effectively take a course in a programming language.
This approach may not be as structured as what you're hoping for, but for me it has been the most practical. I took a course on C++ at my university a year or so ago, programmed some trivial applications for it, passed, and came out with little practical knowledge or understanding of the language. Maybe that has soured me on PL courses though, so your mileage may vary :)