Фоновый баннер

Основы решения алгоритмических задач

Подробнее о курсе

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

Для прохождения курса не требуется предварительная подготовка

Получаемые знания и навыки
По окончании курса слушатели научатся

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

Краткое содержание курса
Модуль 1 — Введение: основные понятия

  • Задачи и алгоритмы. Примеры
  • Способы представления алгоритмов: блок-схемы, псевдокод
  • Алгоритмы и программный код

Практическая работа: создание алгоритмов расчета математических выражений на абстрактном устройстве с двумя регистрами операндов

Модуль 2 — Условное ветвление, как основа алгоритмов

  • Важность ветвлений, примеры
  • Практическая работа: создание алгоритмов, применяющих ветвление («угадайка», «скидка на крупную покупку», «доброе время суток», «вежливый диалог» и т.д)
  • Вложенные ветвления

Модуль 3 — Работа с наборами данных

  • Важность концепции, классы практических задач
  • Представление наборов данных в программном коде
  • Циклы, как важнейший элемент алгоритмов для работы с наборами

Практическая работа: поиск элемента в наборе, определение максимального числа в наборе, определение числа нулей в наборе и т.д.

Модуль 4 — Классические алгоритмы

  • Сравнение наборов
  • Сортировка наборов

Практическая работа: реализация классических алгоритмов

Модуль 5 — Обработка текстовых данных

  • Тексты как разновидности набора данных
  • Классические способы обработки текстов: сцепление, поиск вхождения, выделение фрагмента

Практическая работа: манипуляции с именем и фамилией

Модуль 6 — Практические примеры реализации алгоритмов для решения реальных задач

  • Число упоминаний термина в книге
  • Поиск файлов с упоминанием термина
  • Отбраковка файлов

Модуль 7 — Продвинутые аспекты создания алгоритмов

  • Понятие производительности и асимптотики алгоритмов
  • Примеры асимптотически хороших и асимптотически плохих алгоритмов
  • Сложные типы данных: коллекции, словари, даты и др. и работа с ними

Отзывы по курсу