Иногда легче учить что то новое с нуля, а не переучиваться. )
Что касается алгоритмов, порекомендую курс видеолекций
"Школа анализа данных. Алгоритмы и структуры данных поиска. Лекции и курсы от Яндекса"
rutracker.org/forum/viewtopic.php?t=4640452
Возможно они где то на официальном сайте лежат
https://yandexdataschool.ru/ но я ссылки быстро не нашел
Что касается ООП - совет будет зависить от выбранного вами языка