Chronicle 1: Наведение порядка

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

В плане сделан упор на Python, но его легко заменить на другой язык программирования.
Выбранные курсы преимущественно располагаются на Stepik.org, потому что они бесплатные и на русском языке (чаще всего).

Chronicle 1: Наведение порядка

Привести знания Python в порядок

Умея программировать на Python, создавая простые приложения, я не представлял, насколько это мощный инструмент.

  • Программирование на Python. Несмотря на вводный характер, курс поможет структурировать знания. Полагаю, для этой цели подойдет любой вводный курс.
  • Лучано Ромальо – Fluent Python. Книга раскрывает механизмы языка, которые сложно обнаружить самостоятельно, помогает расширить кругозор, не замыкаться в ООП.
  • Python: основы и применение. Продолжение курса “Программирование на Python”. Поможет на практике разобраться с некоторыми концепциями, изложенными в “Fluent Python”. Даст начальные знания о реальной работе.

Привести математику в порядок

В университете учат математическому анализу, линейной алгебре, аналитической геометрии. Не все знания правильно усвоились, что-то забылось из-за ненадобности, что-то не рассказывали.

  • Математический анализ: часть 1, часть 2. Последовательности, функции, непрерывность, производные, интегралы. Этот материал излагается в университете любой технической (или около технической) специальности, потому курс стоит проходить только если память не удержала этой информации.
  • Linear Algebra: Problems and Methods. Аналогично.
  • Основы дискретной математики. Комбинаторика, теория графов и дискретная вероятность. Для решения многих задач требуются знания из упомянутых областей, но в университете этот курс читается только на специальностях по математике или информатике.

Разобраться как устроен компьютер

Единственное место, где рассказывали об устройстве компьютера — лекции “Введение в информационные технологии”. Устаревшие, скучные, бессмысленные. Но эта тема важна для эффективного использования ресурсов.

Привести информатику в порядок

Знания в областях информатики у меня очень фрагментированные. Первое, что нужно освоить — базовые алгоритмы.

  • Алгоритмы: теория и практика. Методы. В курсе подробно разобраны базовые алгоритмические методы: жадные алгоритмы, метод «разделяй и властвуй», динамическое программирование. Этих знаний будет достаточно на первых этапах.
  • Algorithmic Toolbox. Англоязычный платный аналог курса “Алгоритмы: теория и практика. Методы.” Рассматриваются те же темы, задачи несколько отличаются.

Эту часть рассчитываю освоить за 5 месяцев, в сентябре перейти к углубленному изучению математики.