Все ответы не читал. Надеюсь не повторюсь.
Я не программист по образованию, но думаю, что если ты хочешь чему-нибудь научится, нужно окунуться в подходящую среду. Хочешь стать энтузиастом программистом, который любит свое дело? Найди таких людей. Попытайся влиться в их компанию. Ты пропитаешься их духом и тебя будет распирать от желания что-нибудь совершить, а они тебе подскажут с чего можно начать. Хабр хорошо для этого подходит, но еще лучше общение в реальной жизни. Поищи на факультете таких. Энтузиаст отличается тем, что говорить о своем деле он может бесконечно. Ему почти никогда это не надоедает. При этом когда находишься рядом с ним, сразу хочешь сменить профессию, на ту в которую погружен он.
Что еще? У меня есть правило: Хочешь научиться чему-то? Делай это. То есть, тебе может быть сильно нужна какая-то программа (или ты давно уже грезишь об игре своей мечты), но все подобные программы которые существуют не подходят тебе (например, есть только под Windows). Подойди к энтузиасту или хотя бы просто более менее адекватного человека и опиши ему свою программку. Да, если программа сложная, ты всю ее пока не напишешь. Надо найти какую-нибудь часть, которая доступна тебе уже сейчас. Тебе нужно с чего то начать. Главное — начать. Увидел, что тут предлагают сделать хомяка (home page). Если тебе это интересно — вперед. Главное — чтобы тебе было интересно, чтобы ты знал ради чего ты все это делаешь (в общем, главное — мотив).
Любое «как» можно преодолеть если знать зачем (Ницше).