Курс Python для сетевых инженеров

Ближайший курс 11.02.23 - 02.06.23

Обратите внимание, что формат курса изменился с осени 2022

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

В остальном, курс остается таким же. Видео по теории будут новые, то есть это не будет запись лекций предыдущих курсов.

О курсе

Каждую неделю вы получаете одну или несколько тем для изучения:

  • теоретическая часть в виде видео (2-3 часа) выкладывается на YouTube в закрытый плейлист
  • задания

Видео по каждой теме будут разделены на три группы (пример видео):

  • основы - базовые вещи по теме
  • примеры - примеры использования темы в разных ситуациях
  • полезные приемы - распространенные приемы и советы

Почти по каждой теме есть задания. Этапы работы с заданиями:

  • Выполнение заданий
  • Самопроверка заданий тестами
  • Просмотр вариант решения
  • Проверка задания преподавателем с обратной связью, где нужно

Обратная связь, вопросы во время курса

В любой день во время курса можно и нужно задавать вопросы в slack (часовой пояс преподавателя EET/UTC+2).

Также по выходным (сб и вс) в freeconferencecall встречаемся онлайн.

Онлайн встречи специально выбраны в разное время, чтобы одна из них попадала в более-менее удобное время в разных часовых поясах.

Q&A сессии (вопросы и ответы) по 30 минут каждая:

  • суббота: 13:00 UTC и 18:00 UTC
  • воскресенье: 13:00 UTC и 18:00 UTC

На Q&A сессии могут также разбираться задания или выноситься какая-то конкретная небольшая тема, при необходимости.

Запись на курс

Для записи на курс, напишите мне письмо на адрес: natasha.samoylenko @ gmail.com. В письме достаточно указать имя, фамилию и сказать, что вы хотите записаться на курс.

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

Стоимость курса

Стоимость курса: 258$

Необходимая подготовка

Теоретически курс не требует предварительных знаний Python или других языков программирования. Однако при учебе с нуля, будет очень сложно усваивать информацию и повышается риск забросить учебу. Это не является какой-то особенностью конкретно этого курса и лучше готовиться к любому курсу с большим объемом информации.

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

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

Необходимое время

  • 10-18 часов в неделю для выполнения заданий
  • 2-5 часов в неделю на теорию

Расписание курса

Расписание курса главным образом служит для создания графика учебы. При этом, если придерживаться указанного графика учебы, темп будет достаточно интенсивным. Не у всех будет возможность выделять столько времени в неделю, поэтому учиться можно в своем темпе. Все материалы по курсу будут доступны и после даты завершения курса, задания проверяются и преподаватель на связи.

Дата в расписании - это день, когда выкладываются материалы по темам.

Неделя Дата Темы
0 11.02.23 Информация о курсе, подготовка рабочей среды.
1 17.02.23 Инструменты, которые используются на курсе.
Основы Python.
2 24.02.23 Типы данных в Python.
3 03.03.23 Создание базовых скриптов.
Управление ходом программы.
4 10.03.23 Работа с файлами.
Отладка кода.
5 17.03.23 Функции.
Полезные функции в стандартной библиотеке.
6 24.03.23 Модули.
Полезные модули.
7 31.03.23 Регулярные выражения.
8 07.04.23 Unicode.
9 14.04.23 Обработка данных в форматах YAML, JSON, CSV.
10 21.04.23 Подключение к сетевым устройствам Telnet и SSH.
11 28.04.23 Параллельное подключение к оборудованию.
12 05.05.23 Шаблоны конфигураций с Jinja2.
Обработка вывода команд TextFSM.
13 12.05.23 Основы ООП.
ООП. Специальные методы.
14 19.05.23 ООП. Наследование.
15 26.05.23 Основы работы с базами данных на примере SQLite3.
16 02.06.23 Что учить после курса.

Отзывы слушателей

Отзывы можно почитать на сайте курса (по предыдущей версии курса).

FAQ

Какие темы рассматриваются в курсе?

В курсе рассматриваются основы Python. Составить представление о том, в каком объеме рассматриваются темы, можно по книге Python для сетевых инженеров

Темы курса:

  • Типы данных в Python
  • Создание базовых скриптов
  • Контроль хода программы
  • Работа с файлами
  • Полезные мелочи: распаковка переменных, list/dict/set comprehension, отладка кода
  • Функции
  • Полезные функции
  • Модули
  • Полезные модули
  • Итераторы, итерируемые объекты
  • Регулярные выражения
  • Unicode
  • Работа с файлами в формате CSV, JSON, YAML
  • Подключение к оборудованию
  • Одновременное подключение к нескольким устройствам
  • Шаблоны конфигураций с Jinja2
  • Обработка вывода команд TextFSM
  • Основы ООП
  • ООП. Специальные методы
  • ООП. Наследование
  • Основы работы с базами данных на примере SQLite3

Какая версия Python рассматривается?

Рекомендованная версия Python 3.10, но так как на курсе рассматриваются основы Python, в этих темах нет отличий между Python 3.8-3.10. Единственное очень важное отличие 3.10 для начинающих учить Python - это то что в нем существенно улучшены сообщения об ошибках.

Практически все новые возможности в Python 3.9 и 3.10 не касаются основ, которые изучаются на курсе, поэтому в целом версия должна быть >= 3.8. Несколько новых возможностей будет, но это мелочи, которые не влияют в целом на выполнение заданий.

Можно ли посмотреть пример видео по какой-то теме?

Пример видео с теорией по теме “Работа с файлами”

Где и как можно получить обратную связь/задать вопросы?

В любой момент можно задать вопрос в slack. Плюс по субботам и воскресеньям будут Q&A сессии в режиме онлайн.

Необходимая подготовка?

Теоретически курс не требует предварительных знаний Python или других языков программирования. Однако при учебе с нуля, будет очень сложно усваивать информацию и повышается риск забросить учебу. Это не является какой-то особенностью конкретно этого курса и лучше готовиться к любому курсу с большим объемом информации.

Насколько нужен опыт работы с сетевым оборудованием?

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

Все примеры на курсе рассматриваются на оборудовании Cisco, но подойдет опыт работы и с любым другим вендором.

Где выполняются задания?

Для каждого слушателя на курсе создается приватный репозиторий на github и весь курс работа идет в нем.

Как проверяются задания?

До проверки заданий преподавателем, есть несколько этапов самостоятельной работы с заданиями:

  • Выполнение заданий
  • Самопроверка заданий тестами
  • Просмотр вариант решения

После этого задание сдается на проверку и преподаватель правит код и пишет комментарии по коду, если нужно. Плюс на любом этапе можно написать в slack и задать вопрос.

Материалы курса в свободном доступе

Особенности курса

  • сертификат выдается только при условии, что все необходимые задания сделаны
  • задания можно делать не только по расписанию курса, но и после
  • если во время курса обстоятельства сложились так, что вы не можете выделить время на учебу, можно перейти на следующий курс или учиться в своем темпе
  • после прохождения курса и получения сертификата, курс можно пройти второй раз бесплатно (с проверкой заданий)