Согласен с предыдущими высказываниями. Для себя выбрал плюсы, ведь язык быстрый и гибкий. После школы преподаватель быстро показал что нужно делать:
1. Учишь Си ( после паскаля выучить синтаксис языка будет несложно, я думаю это займет не больше недели с полным осознанием). Там же узнаешь о рекурсии
2. Учишь Си++(Общее представление о классах, шаблонах)
3. Учишь STL, заодно заучивая структуры данных (очередь, стек, списки и т.д.)
Изучения тонкостей языка программирования на этом окончено. А дальше чисто по темам добиваешь. Основываясь на своём личном опыте, я бы тебе посоветовал учить именно в таком порядке:
-Графы
-Динамическое программирование
-Длинная арифметика
-Комбинаторика+Жадный алгоритм
Ну а дальше остальное со списка сверху