Основы решения алгоритмических задач
Подробнее о курсе
Краткое описание курса
Курс рекомендован начинающим программистам и особенно тем, кто переходит к программированию из других областей и наук, а также гуманитариям, желающим изучить построение алгоритмов.
Для прохождения курса не требуется предварительная подготовка
Получаемые знания и навыки
По окончании курса слушатели научатся
- решать логические задачи
- создавать алгоритмы и визуализировать их
- разрабатывать пути решения наиболее часто встречающихся задач
- переводить свои идеи в работоспособный код на любых языках программирования
- решать сложные задачи бизнес-логики
Краткое содержание курса
Модуль 1 — Введение: основные понятия
- Задачи и алгоритмы. Примеры
- Способы представления алгоритмов: блок-схемы, псевдокод
- Алгоритмы и программный код
Практическая работа: создание алгоритмов расчета математических выражений на абстрактном устройстве с двумя регистрами операндов
Модуль 2 — Условное ветвление, как основа алгоритмов
- Важность ветвлений, примеры
- Практическая работа: создание алгоритмов, применяющих ветвление («угадайка», «скидка на крупную покупку», «доброе время суток», «вежливый диалог» и т.д)
- Вложенные ветвления
Модуль 3 — Работа с наборами данных
- Важность концепции, классы практических задач
- Представление наборов данных в программном коде
- Циклы, как важнейший элемент алгоритмов для работы с наборами
Практическая работа: поиск элемента в наборе, определение максимального числа в наборе, определение числа нулей в наборе и т.д.
Модуль 4 — Классические алгоритмы
- Сравнение наборов
- Сортировка наборов
Практическая работа: реализация классических алгоритмов
Модуль 5 — Обработка текстовых данных
- Тексты как разновидности набора данных
- Классические способы обработки текстов: сцепление, поиск вхождения, выделение фрагмента
Практическая работа: манипуляции с именем и фамилией
Модуль 6 — Практические примеры реализации алгоритмов для решения реальных задач
- Число упоминаний термина в книге
- Поиск файлов с упоминанием термина
- Отбраковка файлов
Модуль 7 — Продвинутые аспекты создания алгоритмов
- Понятие производительности и асимптотики алгоритмов
- Примеры асимптотически хороших и асимптотически плохих алгоритмов
- Сложные типы данных: коллекции, словари, даты и др. и работа с ними