Учить базовым языкам и алгоритмам. Нас учили сначала на паскале, потом на C++, в какой-то момент дали возможность самим выбирать язык, на котором мы сдаём проекты. Проекты были примерно такие: пятнашки, калькулятор, разбор выражения (по БНФ), длинная арифметика (про числа, которые не укладываются в нужный тип), разбор выражения и построение графика функции, цепи Маркова, архиватор по алгоритму Хаффмана. Ну и конечно какие-то базы задач с тестирующими системами типа topcoder или acmp.ru