По описанию интересов, и учитывая желание побывать в Яндексе советую обратить внимание на
Школу анализа данных Яндекса.
Я сейчас студент отделения Computer Science Москвы. В первом семестре рассказывали о алгоритмах и структурах данных(если ты олимпиадник то 90% теории ты знаешь, но сдача заданий предполагала code review сотрудниками Яндекса), курс теории вероятности Райгородского(у него свое достаточно интересное изложение) и предмет по выбору. Я выбрал курс по Java Филиппа Андронова, который в процессе оказался скорее курсом по архитектуре и методологии разработки.
Очень советую.
Будут вопросы — задавай, буду рад ответить.