nFactorial School запускает онлайн-курс по алгоритмам и структурам данных!

Арман Сулейменов
30/3/2021

Вначале, вкратце - новости школы. В данный момент идет уже 3-ий поток нашего курса для начинающих. Мы измеряем качество потока по 20 внутренним параметрам (суммарные балы за еженедельные проекты, суммарные балы по соревнованиям по программированию, кол-во сообщений, посещаемость и прочее) и благодаря ежедневному маленькому совершенствованию видим, как каждый новый поток по качеству приобретенных знаний становится лучше предыдущего. Процент успешного завершения наших курсов на данный момент = 92%, что намного превышает стандарт на рынке (5-15%). Получаем восторженные отзывы от участников. В рамках 8 интенсивных недель за счет ежедневных занятий 5 раз в неделю они усваивают такой объем материала, что приобретают уверенность, что при правильной дисциплине и регулярности им под силу - в разы больше, чем они могли себе представить. Наш CBL-подход (cohort-based learning) показывает себя намного эффективнее, чем MOOCs (massive open online courses).

Напомним, что наше видение подготовки с нуля junior-разработчика выглядит следующим образом. Шаг 1 - Создание сильной базы в компьютерных науках для начинающих. Шаг 2 - Алгоритмы и структуры данных, подготовка к техническим интервью. Шаг 3 - Специализация (iOS или веб-разработка). Каждый из шагов длится 8 интенсивных недель. После трех итераций наш 8-недельный курс для начинающих (Шаг 1) уже хорошо отточен. Можно смело приступать к Шагу 2.

Интересно, что курс по техническим интервью, где мы решали задачи по алгоритмам и структурам данных, я проводил ровно 7 лет назад. Курс тогда был менее интенсивным (2 лекции в неделю), но продолжался 13 недель. Тогда собралась очень сильная группа из 40 студентов. Около половины из них сейчас работает в ведущих международных технологических компаниях зарубежом (Amazon, Booking, Google, Square, etc.). Надеемся повторить результаты с новым потоком и сделать эту историю более регулярной.

За основу курса по алгоритмам в этот раз мы взяли учебный план курса Роберта Седжвика в Принстоне. Вот - краткое содержание. Структуры данных: стеки, очереди, система непересекающихся множеств, приоритетные очереди. Сортировка: быстрая сортировка, сортировка слиянием, сортировка кучей, radix sort. Поиск: двоичное дерево поиска, красно-черные деревья, хэш-таблицы, KD-деревья. Графы: поиск в ширину, поиск в глубину, Прим, Крускаль, Беллман-Форд, Дейкстра, Форд-Фулкерсон, максимальный поток, наименьший разрез в графе. Строки: бор, суффиксные массивы, сжатие данных, Хаффман, Лемпель-Зив-Велч. Дизайн алгоритмов: жадные алгоритмы, алгоритмы потока, динамическое программирование, разделяй-и-властвуй, вероятностные алгоритмы.

Участников ждут еженедельные проекты. Вот - некоторые из них. Решение головоломки “Пятнашки / Игра в 15” с помощью A*-поиска. Реализация KD-деревьев с эффективным поиском в интервале и поиском ближайшего соседа. Измерение родства двух существительных с помощью графа WordNet. Content-aware cжатие фотографий, сохраняющее самые интересные объекты на фото.

На кого рассчитан данный курс? 1) Тех, кто готовится к интервью в BigTech. Алгоритмы и структуры данных - фокус технических интервью в топовых технологических компаниях. 2) Тех, кто завершил nFactorial Start. Данный курс - логическое продолжение курса «Создание сильной базы в компьютерных науках для начинающих». 3) Тех, кто хочет писать эффективный код. Перефразируя Никлауса Вирта, Алгоритмы + Структуры данных = Быстрые Программы. 4) Тех, кто хочет улучшить свой рейтинг в LeetCode и Codeforces.

С воодушевлением и нетерпением ждем нового потока и результатов, которых достигнут участники нашего курса по алгоритмам.

Подать заявку на курс: https://www.nfactorial.school/algorithms

Спасибо за репост!