Алгоритмы и паттерны проектирования


Одного только знания синтаксиса языка часто бывает недостаточно для того, чтобы проектировать и писать хороший код. Чтобы научиться переходить от постановки задачи к правильному построению программ обычно требуется несколько лет практического опыта. Но это время можно значительно сократить, если познакомиться с набором готовых рецептов, которые поясняют, как решать те или иные стандартные задачи. В данном курсе рассматриваются вопросы алгоритмизации и правильного проектирования приложений с точки зрения архитектуры и быстродействия. Курс учит оптимальным подходам к решению типовых задач, которые наиболее часто встречаются в повседневной практике программиста. Курс рекомендуется тем, кто прошел первый уровень Python (PL1), так как алгоритмизация - это основы профессионализма разработчика. Кроме того, все примеры для практической части данного курса написаны на Python.

Тематика лекций

Тема 1: Введение. Основы алгоритмизации

Тема 2: Численные алгоритмы

Тема 3: Оценка сложности алгоритмов

Тема 4: Алгоритмы сортировки

Тема 5: Линейные и нелинейные структуры данных

Тема 6: Алгоритмы на графах

Тема 7: Криптографические алгоритмы

Тема 8: Хеш - функции

Тема 9: Паттерны проектирования 1 часть

Тема 10: Паттерны проектирования 2 часть

Тема 11: Паттерны проектирования 3 часть

Тема 12: Паттерны проектирования 4 часть