Обновили: Стэнфордский курс «Алгоритмы», который помогает подготовиться к тех. собесу
Нашли специализацию от Стенфордского университета, где вас научат думать как программист и помогут освоить основы проектирования и анализа алгоритмов. Рассказываем подробности.
Нашли специализацию от Стенфордского университета, где вас научат думать как программист и помогут освоить основы проектирования и анализа алгоритмов. Рассказываем подробности.
Мы обновили эту статью 22.05.2024. Уточнили данные о курсе, исправили найденные недочеты, добавили инофмацию о том, как сэкономить на обучении.
Знание алгоритмов — особая часть профессиональной подготовки любого программиста, потому что именно алгоритмы лежат в основе всех компьютерных процессов. Это фундамент, без которого невозможно стать профессионалом кода.
Знание алгоритмов укрепляет аналитические способности, помогает предвидеть возможные проблемы на ранних этапах разработки. Доказано, что программисты, которые хорошо разбираются в алгоритмах, гораздо легче обучается новым технологиям и быстрее адаптируются к изменяющимся требованиям IT-индустрии. В процессе собеседований часто оцениваются именно знания алгоритмов, поскольку они отражают уровень квалификации кандидата.
Примечание Adviser
В этой подборке есть ссылки партнеров. Это значит, что если вы что-то покупаете с нашей помощью — вы также поддерживаете dev.by. (Вот другой способ).
При этом редакция и авторы независимы в выборе темы, концепции материала, фокуса описания, подхода к услугам или товарам. Прежде чем что-то советовать, мы много читаем и смотрим по теме, говорим с экспертами.
Редакция может выражать свое мнение и пробовать всё на себе.
Если рекомендательный материал обновляется, мы указываем, что и когда поменялось, в самом начале.
Главное о специализации «Алгоритмы» Стенфордского университета
Эта специализация — введение в алгоритмы для тех, кто имеет хотя бы небольшой опыт программирования. Акцент программы сделан на общую картину и концептуальное понимание алгоритмов, а не на низкоуровневую реализацию кода и математические детали.
Преподаватель — Тим Рафгарден — профессор факультета компьютерных наук Стэнфордского университета с 2004 года.
Специализация включает еженедельные задания по программированию, в которых вы попробует реализовать на практике один из алгоритмов, рассмотренных на лекции. Каждый курс завершается итоговым экзаменом.
После завершения обучения вы будете в состоянии пройти техническое собеседование и свободно говорить об алгоритмах с другими программистами.
Курсы, которые входят в специализацию
Курс 1. Разделяй и властвуй, сортировка и поиск, а также рандомизированные алгоритмы
Основными темами этой части специализации являются: асимптотическая («Big-oh») нотация, сортировка и поиск, «разделяй и властвуй» (метод мастера, целочисленное и матричное умножение, ближайшая пара) и рандомизированные алгоритмы (QuickSort, алгоритм сужения для min cuts).
Курс 2. Поиск на графе, кратчайшие пути и структуры данных
Основными темами этой части специализации являются: структуры данных (кучи, сбалансированные деревья поиска, хэш-таблицы, фильтры bloom), примитивы графов (приложения поиска в ширину и глубину, связность, кратчайшие пути) и их приложения (от дедупликации до анализа социальных сетей).
Курс 3. Алгоритмы жадности, минимальные охватывающие деревья и динамическое программирование
Основными темами этой части специализации являются: жадные алгоритмы (составление расписаний, минимальные охватывающие деревья, кластеризация, коды Хаффмана) и динамическое программирование (ранцы, выравнивание последовательностей, оптимальные деревья поиска).
Курс 4. Кратчайшие пути заново, NP-полные задачи и что с ними делать
Основными темами этой части специализации являются: кратчайшие пути (Беллмана-Форда, Флойда-Уоршалла, Джонсона), NP-полнота и то, что она означает для разработчика алгоритмов, а также стратегии решения трудноразрешимых задач (анализ эвристик, локальный поиск).
Длительность: 2 месяца (при загруженности 10 часов в неделю).
Рейтинг: 4.8 из 5.
TIP от Adviser: Учиться на Coursera еще выгоднее с подпиской Coursera Plus. За $59 в месяц вы можете одновременно проходить неограниченное число учебных программ из более чем 7 тыс. Это отличный вариант, если готовы посвятить учебе много времени.
Карьерный план на 2 года: как перестать двигаться вслепую и начать расти осознанно
Многие строят карьеру реактивно. Появилась интересная вакансия — откликнулся. Предложили взять больше ответственности — согласился. Коллега посоветовал выучить SQL, подтянуть английский или разобраться в аналитике — записался на курс.
Вроде бы есть постоянное движение, но в какой-то момент появляется неприятное чувство: усилий много, а понимания, куда это ведёт, нет.
BelTech 4.0 в Варшаве: главная конференция беларусского ИТ-комьюнити возвращается 25 сентября
Если вы развиваете стартап, управляете технологической компанией, ищете инвесторов, стратегических партнеров или новых клиентов на международном рынке, это событие нельзя пропускать.
7 курсов по продуктовой аналитике, которые помогут инженеру заговорить на языке бизнеса + подборка бесплатных ресурсов
Долгое время в IT было негласное разделение труда: инженеры пишут код и закрывают задачи в Jira, а продакты и аналитики изучают графики в Amplitude, считают деньги и спорят о бизнес-метриках. Но все меняется и продуктовые компании начинают отказываться от такой изолированности. Если разработчик понимает, как его код влияет на конверсию или удержание пользователя, технические решения выходят на новый уровень.
Обратная сторона отказа: как попросить фидбек после неудачного собеса и превратить «нет» в социальный капитал
Письма вроде «К сожалению, сейчас мы не готовы сделать вам предложение» обычно не доставляют удовольствия. Первая реакция — закрыть вкладку, пережить минутную обиду и продолжить рассылать резюме. Но в этот момент мы часто совершаем ошибку: обрываем контакт с компанией, упуская источник данных о себе и своей позиции на рынке труда.
Хотите сообщить важную новость? Пишите в Telegram-бот
Главные события и полезные ссылки в нашем Telegram-канале
Обсуждение
Комментируйте без ограничений
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.
введение в алгоритмы для тех, кто имеет хотя бы небольшой опыт программирования
я прошёл половину курса этой специализации, и её всем советую, потому что как миниммум позволят чувстовать себя увереней во время любого тех. интервью. Ну и хорошо мозги сушит.
Но с небольшим опытом в программировании всё таки будет сложно, советую хотябы предварительно детскую “Грокаем алгоритмы” прочесть и может "Спортивное программирование” (на степике)
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.
я прошёл половину курса этой специализации, и её всем советую, потому что как миниммум позволят чувстовать себя увереней во время любого тех. интервью. Ну и хорошо мозги сушит.
Но с небольшим опытом в программировании всё таки будет сложно, советую хотябы предварительно детскую “Грокаем алгоритмы” прочесть и может "Спортивное программирование” (на степике)
А как же курс от Седжвика? Там еще и на джаве сразу. Все что вы хотели знать о джава коллекциях, но боялись спросить.
Плюс задачки у Седжвика сильно интересней.
Да, эти два курса - наверное, лучше, что можно найти по алгоритмам и структурам данных на джаве