I have a HUGE open-ended question for the more experienced developers. What is the best method to learning a programming language OUTSIDE of traditional brick and mortar educational facilities or even .com college?

How would a person most become proficient in one language...say, asp.net, in about 1 year under his own steam? What learning methodology, books, websites, papers, and publications would enable an independent learner to do this?

I am not lazy, I just would like to go about the process in the most systematic, efficient way possible.

Thank you for your input!