Онлайн-курс – сертифицированная профессиональная специализация по алгоритмам Google

Научитесь думать как ученый-компьютерщик. Улучшите свое понимание основ проектирования и анализа алгоритмов.

Suggested by: Coursera (What is Coursera?)

Professional Certificate

Средний уровень

No prior knowledge required

Time to complete the course

7-day free trial

No unnecessary risks

Skills you will acquire in the course

  • Глубокое понимание алгоритмов
  • Умение реализовывать алгоритмы на языке программирования.
  • Подготовка к техническим собеседованиям в области информатики
  • Способность свободно говорить об алгоритмах с программистами и другими учеными-компьютерщиками.
  • Навыки анализа и оценки важных понятий в алгоритмах
  • Опыт проведения американских тестов и оценок
  • Развитие практических навыков программирования

What you will learn in the course

Courses for which the course is suitable

  • Разработчик программного обеспечения
  • специалист по данным
  • Инженер по алгоритмам
  • Разработчик систем
  • Программист
  • системный аналитик
  • инженер-программист
  • Разработчик приложений
  • Эксперт по искусственному интеллекту
  • Разработчик игр

Стажировка — серия курсов из 4 частей.

Алгоритмы — это сердце информатики, и сам по себе этот предмет имеет множество практических применений, а также интеллектуальную глубину. Эта специализация представляет собой введение в алгоритмы для учащихся, имеющих некоторый опыт программирования. Специализация является всеобъемлющей, но в ней делается упор на общую картину и концептуальное понимание, а не на низкоуровневые приложения и математические детали.

После завершения этой стажировки вы сможете успешно пройти технические собеседования и свободно говорить об алгоритмах с программистами и другими учеными-компьютерщиками.

на модераторе

Тим Руфгарден является профессором кафедры компьютерных наук Стэнфордского университета с 2004 года. Он преподавал и много публиковал материалы по алгоритмам и их приложениям.

Практический учебный проект

  • Учащиеся будут практиковаться и осваивать основы алгоритмов посредством различных типов оценивания.
  • Каждую неделю проводится американский тест, который проверяет ваше понимание наиболее важных понятий.
  • Есть еженедельные задания по программированию, в которых вы будете применять один из алгоритмов, изученных на лекции, на языке программирования по вашему выбору.
  • Каждый курс заканчивается выпускным экзаменом по американскому языку.

Details of the courses that make up the specialization

Курсы по алгоритмам

Разделяй и властвуй, сортировка и поиск и случайные алгоритмы

Курс 1
16 часов
4,8 (5224 оценки)

Что вы узнаете:

  • асимптотическое обозначение («большое о»)
  • Сортировка и поиск
  • Разделение и завоевание (метод Лорда, сложение чисел и матриц, ближайшая пара)
  • Случайные алгоритмы (быстрая сортировка, алгоритм минимального сокращения)

Навыки, которые вы получите:

  • алгоритмы
  • Случайный алгоритм
  • Алгоритм сортировки
  • Алгоритмы разделяй и властвуй

Поиск графов, коротких путей и структур данных

Курс 2
13 часов
4,8 (1973 оценки)

Что вы узнаете:

  • Структуры данных (кучи, сбалансированные деревья, хеш-таблицы, фильтры Блума)
  • Примитивы графа (использование поиска в ширину и в глубину, связность, кратчайшие пути)
  • Приложения (от демографии до анализа социальных сетей)

Навыки, которые вы получите:

  • графики
  • структура данных
  • алгоритмы
  • Хэш-таблица

Грид-алгоритмы, минимальные деревья и динамическое программирование

Курс 3
15 часов
4,8 (1259 оценок)

Что вы узнаете:

  • Грид-алгоритмы (программы, минимальные деревья, кластеры, коды Хоффмана)
  • Динамическое программирование (рюкзак, расположение последовательностей, оптимальные деревья поиска)

Навыки, которые вы получите:

  • Минимальное дерево
  • алгоритмы
  • Динамическое программирование
  • Сетчатый алгоритм

Опять короткие пути, NP-полные проблемы и что с ними делать

Курс 4
13 часов
4,8 (811 оценок)

Что вы узнаете:

  • Короткие пути (Беллман-Форд, Флойд-Уоршалл, Джонсон)
  • NP-полнота и что это значит для разработчика алгоритмов
  • Стратегии решения сложных вычислительных задач (анализ стратегий, локальный поиск)

Навыки, которые вы получите:

  • структура данных
  • алгоритмы
  • NP-полнота
  • Динамическое программирование