|
|
|
|
|
by yodsanklai
3337 days ago
|
|
Here some ideas that worked for me: - online classes. Especially those from actual universities rather than Coursera. Coursera is great but often they target a larger audience and the content may be simplified. Personally, I learned a lot from MIT classes (especially distributed systems and operating systems). They have projects that are challenging and really interesting. - Competitive programming. I found competition in general to be a great way to improve. It's stimulating and there are many resources available. The downside is that it's hard and can be depressing. For instance, it takes me 10 hours to solve the problems in an easy code jam round when some 18 year kids solve them in an hour. Depending on what you want to learn, there are different type of competition. For instance, code jam / codeforces for shorter type of problems. Google hashcode for slightly larger optimization problems. Kaggle for machine learning. I'm sure there are many others. Actually, learning stuff and improving is the easy part (you just need free time). There are so many resources. The question is more deciding what to learn, and how can it be useful. |
|