Онлайн-курс
Алгоритмы
и структуры данных
на языке программирования Python 3
Курс «Алгоритмы и структуры данных» разработан для начинающих программистов, которые хотят научиться проектировать эффективные и надежные алгоритмы для успешного решения рабочих задач, а также увеличить шансы пройти собеседование на более высокие позиции.
Обучение алгоритмам проходит в режиме онлайн с изучением теоретической и практической части на языке Python. После просмотра обучающих видео-уроков ученики закрепляют материал практикой, также на Питоне.
В рамках курса вы познакомитесь как с классическими алгоритмами поиска и сортировки, так и с более современными: луковая маршрутизация, блокчейн, цифровая подпись.
Пройдя все уроки, изучив схемы и исходные коды, а также решив задания вы научитесь:
Пользоваться классическими структурами данных.
Выбирать оптимальные структуры под задачи.
Определять сложность алгоритмов.
Оптимизировать алгоритмы.
Проектировать рекурсивные алгоритмы на Python.
Оптимизировать рекурсивные функции.
Строить и обходить деревья и графы.
Сортировать массивы и связные списки.
Быстро искать данные в массивах, деревьях и тексте.
Искать и генерировать большие простые числа.
Более эффективно использовать Python.
Проектировать надежные и быстрые алгоритмы.
Работать с хэш-таблицами, словарями и ассоциативными массивами.
Шифровать и сжимать данные.
Генерировать и обмениваться ключами шифрования.
Сортировать данные, в том числе по нескольким критериям.
Использовать комбинаторые алгоритмы и функции.
Перебирать и оптимизировать деревья.
Алгоритмы — основа любой программы, а умение писать алгоритмы — ключевой навык современного разработчика.
Мы подготвили продуманные HD-уроки с большим количеством практики,
чтобы вы не только понимали как работают алгоритмы и устроены структуры данных,
но и могли самостоятельно их проектировать, анализировать и оптимизировать.
Каждый урок содержит подробную схему и описание работы алгоритма на Питоне.
В особо сложных и важных местах
мы добавлии анимацию.
Кроме схем и графиков,
все алгоритмы содержат хорошо документированные исходники
на языке Python.
Последовательная программа с короткими видео-уроками и практическими заданиями.
Обучение построению алгоритмов на примере Python — одном из самых популярных языков программирования.
Познакомитесь с основными характеристиками алгоритмов.
Узнаете простые и эффективные способы оценки сложности алгоритмов.
Познакомитесь с базовыми структурами данных.
Научитесь работать со связными списками и массивами.
Узнаете, что такое стек, очередь и дек в Python.
Научитесь выбирать правильную структуру данных в зависимости от задач.
Познакомитесь с популярными алгоритмами сортировки на Python.
Научитесь выбирать алгоритмы сортировки под задачи и данные.
Научитесь сортировать по нескольким полям.
Узнаете, что такое устойчивые сортировки.
Познакомитесь с линейными и бинарным поиском.
Научитесь использовать интерполяционный поиск.
Научитесь генерировать случайные числа, а также вычислять наибольший общий делитель.
Узнаете об алгоритмах быстрого возведения в степень.
Расширите свои знания о простых числах и научитесь строить решето Эратосфена, а также быстро проверять на простоту любое число.
Познакомитесь с базовыми численными методами.
Узнаете, что такое хэш-таблицы и как устроены python-словари и ассоциативные массивы.
Научитесь разными способами пробирования и борьбе с коллизиями.
Познакомитесь с фильтрами Блума.
Подробно изучите механизм рекурсивных вызовов.
Познакомитесь с базовыми рекурсивными алгоритмами Python: вычислением факториала, построением ряда Фибоначчи, задачами о 8 ферзях и ханойской башне.
Освоите комбинаторные алгоритмы: сочетания, повторения и размещения.
Научитесь оптимизировать рекурсию и приводить рекурсивные алгоритмы к итеративным.
Познакомитесь с фракталами.
Познакомитесь с деревьями.
Научитесь обходить деревья в ширину и глубину.
Узнаете как искать элементы в двоичном дереве.
Познакомитесь с прошитыми бинарными деревьями, АВЛ-деревьями, 2-3 деревьями, B-деревьями, а также красно-черными деревьями.
Узнаете, что такое деревья принятия решений.
Научитесь методу полного перебора, а также методу ветвей и границ.
Освоите приемы оптимизации деревьев.
Научитесь производить поиск по деревьям принятия решений.
Познакомитесь с сетями и графами.
Научитесь обходить деревья, а также находить кратчайший путь.
Освоите топологическую сортировку.
Узнаете как об алгоритме поиска циклов.
Научитесь искать информацию в текстах.
Познакомитесь с алгоритмами Кнута-Морриса-Пратта,
а также Бойера-Мура-Хорспула.
Узнаете, что такое синтаксические деревья.
Познакомитесь с подстановочными и перестановочными шифрами.
Узнаете как работают SP-сети и блочное шифрование.
Научитесь применять протокол Диффи-Хеллмана.
Узнаете несколько вариантов использования алгоритмов с открытым ключом, включая шифрование, цифровую подпись, а также гибридные схемы.
Узнаете о криптографическом хэшировании и его применении на практике.
Познакомитесь со схемой луковой маршрутизации и узнаете как работает Tor.
Узнаете об алгоритмах сжатия.
Научитесь кодировать серии данных.
Познакомитесь с кодом Хаффмана.
Освоите сжатие Лемпеля-Зива-Велча.
Узнаете как работает сжатие с потерями на примере растровых изображений и музыкальных-форматов.
Познакомитесь с устройством блокчейна.
Научитесь генерировать блоки и встраивать их в цепочку.
Узнаете об основных проблемах блокчейна.
Курс «Алгоритмы» подойдет для подготовленных программистов на Python,
а также студентами и разработчикам на других языках,
которые хотят расширить свои навыки эффективными инструментами.
Научитесь писать эффективные и быстрые алгоритмы на Питоне. Значительно расширите горизонты своих навыков.
Сможете лучше подготовиться к собеседованиям в серьезные компании.
Познакомитесь с классическими алгоритмами на практике, а не только в теории.
Сможете отточить навыки программирования и подготовиться к сессии.
Восполните недостающие навыки по алгоритмизации. Научитесь писать быстрый код и использовать эффективные структуры данных для решения бизнес-задач.
С 2019 года курс «читается» студентам Московского университета экономики и права им. Витте
на специальностях «Прикладная информатика» и «Бизнес-информатика».
Курс по алгоритмам состоит из видео уроков, а также практических заданий на языке Python.
После регистрации вы сможете ознакомиться с бесплатными уроками и заданиями, чтобы вы могли оценить сложность тем и подачу материала.
После оплаты курса, вы получите полный онлайн доступ ко всем видео-урокам, исходным кодам, заданиям, решениям преподавателя и форуму поддержки.
Теоретическая часть курса состоит из коротких видео уроков в HD качестве с обилием схем и анимаций. Все уроки в записи, поэтому вы можете смотреть видео online с любого устройства в любое время.
Каждый урок состоит из двух частей: общей теории и разбора алгоритма на языке Python. После просмотра видео вы можете скачать исходники для самостоятельного изучения.
Для отработки навыков проектирования алгоритмов и понимания структур данных, ученикам предлагается решить серию заданий возрастающей сложности.
Задачи проверяет специальная программа, которая не только анализирует решение, но и качество кода. В случае ошибок программа даёт развернутые подсказки.
После успешного решения, вы сможете посмотреть эталонный код преподавателя.
Ученики, которые изучат теорию и решат все задачи — получают сертификат о прохождении курса по алгоритмам.
Вы можете добавить сертификат в резюме или отправить ссылку работодателю.
Сертификат — это подтверждение ваших навыков и знаний.
В данном курсе мы убрали сложные математические расчеты, формулы и доказательства, и сконцентрировались на практическом применении алгоритмов. Это уменьшает сложность курса в целом, однако для его успешного прохождения нужно хорошо владеть языком Python.
Все уроки в записи и доступны Online сразу после регистрации — обучение можно начинать в любой момент.
Смотреть уроки вы можете в любое удобное время с любого устройства, хотя мы рекомендуем пользоваться компьютером или ноутбуком.
Да, можете. У нас нет дедлайнов и ограничений по времени прохождения курса.
Можете спокойно ехать в отпуск, а затем продолжать занятия.
Однако мы не рекомендуем делать большие переревы, чтобы не забыть ранее пройденный материал.
В случае длительных перерывов вы всегда можете начать с начала.
Все примеры мы даем на Python. Однако мы стараемся минимизировать использование особеностей самого Python и приводим универсальный код, который с минимальными изменениями будет работать и в других языках.
Под каждым уроком и заданием есть мини-форум, где ученики могут общаться с преподавателем и друг с другом.
Если у вас возникли вопросы, то смело задавайте их через форум и вам обязательно помогут.
Обычно помощь приходит в течение 24 часов.