Всем привет!
Tinkoff.ru с сентября этого года запускает образовательные курсы для школьников по алгоритмам, математике, физике, машинному обучению и нейросетям. Отбор будет проходить в начале сентября, сами занятия с середины. Курсы будут бесплатными. Проходить в этом семестре будут в Москве, Нижнем Новгороде и Рязани — подробнее под катом.
Это не официальный анонс или что-то такое. Я просто хочу с точки зрения автора прогерских курсов рассказать, что у нас будет, и поотвечать на вопросы.
Алгоритмы
Будем готовить ко школьным олимпиадам (в первую очередь ко ВКОШПу и Всеросу). Будет разделение на группы по знаниям, набор будет сразу во все три. На следующий год те, кто не халтурил, переходят в следующую.
Младшая группа (C-C'):
- Для начинающих, мало что знающих про Computer Science, но уверенно программирующих на каком-нибудь языке.
- Основные темы: сортировки, динамика, bfs/dfs, мосты, сканлайны, два указателя, вычислительная геометрия.
- Вести будут Лёша Пономарев (Alexponomarev7, 2 курс ФИВТ) и Глеб Лобанов (Glebodin, 1 курс ФКН).
Средняя группа (B-B'):
- Для примерно призеров региона, которые хотят пройти на Всерос.
- Основные темы: дерево отрезков, декартово дерево, хэши по подстрокам, LCA, sparse table, корневая декомпозиция, теория чисел, паросочетания, дерево Фенвика, ним.
- Вести будут Андрей Гаркавый (andrewgark, 5 курс ФИВТ) и Тёма Рябов (SoMuchDrama, 2 курс ФКН)
Старшая группа (A-A'):
- Для уже призеров РОИ и тех, кто примерно на уровне уверенного прохода на него.
- Тут не будет какой-то фиксированной программы, а темы скорее будут выбираться на ходу по просьбам
трудящихсяучащихся, так как почти все всё знают, поездив по лагерям и сборам. То, что будет рассказываться, будет приблизительно такого уровня: Convex Hull Trick, потоки минимальной стоимости, heavy-light декомпозиция, персистентные структуры, факторизация за с доказательствами, центроидная декомпозиция, суфструктуры. - Вести будем я (sslotin, 2 курс ФИВТ), Даня Николенко (qoo2p5, 1 курс ФКН) и разные приглашенные звёзды — интересные сильно красные ребята, которые эпизодически будут приходить и рассказывать что-нибудь крутое.
Для поступления нужно знать большинство тем из программы группы ниже, чем куда хотите. Отбором будет долгий контест: сколько нарешаете — туда и попадёте.
В плане языков первый год будет «билингвальным» — примеры кода будут одновременно на Python и на С++. Начиная со второго пойдут сложные структуры (например, первые 4 занятия это ДО и ДД), и поэтому дальше только на плюсах. Можно, конечно, писать на чем-то другом, но тогда помогать с дебагом преподы будут не очень охотно.
Машинное обучение
Тут недавно вышел очень классный пост про то, что на самом деле ML собой представляет. Вместо того, чтобы тут описывать о чем будет курс, просто порекомендую выделить пару часов и прочитать его. У нас будет примерно то же и в том же порядке, но с математикой, кодом и реальными данными. Из обязательных пререквизитов только питон и небоязнь математики.
Курс по ML будут вести в основном люди из нашего ML-отдела. На нем будет все, кроме нейросетей. Планируется, что после общего ML люди пойдут на DL.
Глубокое обучение
Этот курс для тех, кто хочет и уже может делать что-то совсем классное, и у кого на это есть время. Он будет скорее проектным — выбирается какая-нибудь задача (примеры: машинный перевод, генерация музыки, морфинг изображений, распознавание речи) и команды по 3-4 человек делают её 2-3 недели, во время которых им будут постепенно рассказывать, как сделать очередное инкрементальное улучшение. Команды будут заниматься разными проектами, но в целом похожими. Например, одна команда может делать колоризацию фотографий, а другая — восстановление качества, что сейчас решается почти одними и теми же архитектурами.
Курс будет весьма непростым и поэтому требовательным:
- Нужно в каком-то виде уже поизучать общий ML.
- Питон нужно знать на уровне, чтобы понимать, что написано тут.
- Нужно иметь мотивацию разбираться в уже вузовской математике.
- Глубокое обучение — это на самом деле чтение научных статей и гитхаба, и вам нужно знать английский на соответствующем уровне.
- Иметь 5-8 часов свободного времени в неделю на допиливание проектов, помимо самих занятий.
Если вам нечем заняться следующий месяц, и вы хотите сразу на DL, то почитайте первые 165 страниц (та часть, где ликбез) книжки «Deep Learning» Яна Гудфеллоу. Если осознаете хотя бы 80% информации там и можете разобраться в коде случайного туториала с Kaggle, то вы уже на нужном уровне.
На этот курс приглашаются не только старшеклассники, но и первокурсники (небольшой намёк: между Тинькофф и ФКН 3 остановки на метро), но только как-нибудь сами рассчитайте нагрузку, чтобы вас не отчислили после первой сессии.
Я так подробно расписал, потому что вести буду непосредственно я и ещё кто-нибудь, если запишется очень много крутых ребят моя коллега Женя Ческидова.
Математика
Программу по математике делает Миша Григорьев, а вести будут тоже дофигакратные золотые медалисты IMC со старших курсов ФИВТа.
Так как в олимпиадной математике и физике я сам никогда дальше уровня призёра региона не доходил, не могу что-то сказать, кроме того, что преподы там будут очень крутые.
Где и когда
В главном офисе в Москве на м. Водный стадион (верх зелёной ветки) будут все группы всех курсов, но мы планируем делать зеркала в других местах, которых пока что только два:
- ещё одна группа по ML будет в «Интеллектуале» .
- ещё две младшие группы по алгоритмам будут в Нижнем Новгороде и Рязани.
Алгоритмы, скорее всего, будут проходить по субботам с 4 до 9. Прямо перед ними будет три часа параллельно ML, DL и математики, так что неплохим «комбо» будет взять алгоритмы и ещё что-то, что вам больше по душе. 8 часов кодинга подряд не получится — будем устраивать адекватные перерывы.
Вот здесь пока можно зарегистрироваться. Сейчас это не необходимо — отбор будет почти через месяц — но мы это увидим, и, во-первых, нам будет приятно, и, во-вторых, нам будет проще оценить, какого уровня давать задачки на отбор.