Курс “Advanced PyNEng”

Главный нюанс этого курса в том, что он углубляется в Python, а не в автоматизацию сетевого оборудования. Будет полезен тем, кто много работает с Python и хочет изучить указанные темы. Если вы хотите углубиться в автоматизацию и соответственно изучать разные модули, API и фреймворки для работы с сетевым оборудованием, посмотрите курсы в списке ресурсов.

Ближайший курс 14.01.23 - 13.05.23

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

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

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

О курсе

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Знания в объеме базового курса. Также желательно не идти на этот курс сразу после базового курса, надо сначала усвоить основы и хотя бы полгода поработать с Python.

Если эти требования выполняются, можно также почитать что нужно повторить непосредственно для подготовки к курсу за 1-2 месяца до начала: Подготовка к курсу.

Как записаться на курс

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

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

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

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

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

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

Неделя Дата Тема
0 26.11.22 Онлайн. Вводная информация о курсе
1 14.01.23 Подготовка рабочей среды
2 21.01.23 Основы pytest
22.01.23 Тестирование кода и оборудования с помощью pytest
3 28.01.23 Основы аннотации типов
29.01.23 Автоматическое форматирование кода с Black
4 04.02.23 Создание интерфейса CLI с click
5 11.02.23 Модуль logging
6 18.02.23 Closure. Основы декораторов
7 25.02.23 Декораторы
8 04.03.23 -
9 11.03.23 ООП. Обзор основ
12.03.23 ООП. classmethod, staticmethod, property
10 18.03.23 ООП. Наследование
19.03.23 ООП. ABC, Mixin, descriptor
11 25.03.23 -
12 01.04.23 Namedtuple, dataclass
02.04.23 Модуль collections
13 08.04.23 Итератор, генератор
09.04.23 Модуль itertools
14 15.04.23 -
15 22.04.23 Asyncio. Основы
23.04.23 Модули async
16 30.04.23 Использование asyncio
17 06.05.23 Использование asyncio
18 13.05.23 Завершающая лекция

FAQ

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

  • Основы pytest
  • Аннотация типов
  • Автоформатирование кода с Black
  • Создание CLI с click
  • Logging
  • Замыкания и декораторы
  • ООП:
    • Повторение основ
    • Декораторы методов
    • Наследование
    • ABC
    • Mixin
    • Дескрипторы
  • Dataclass
  • Модуль itertools
  • Asyncio:
    • Основы
    • Модули: asyncssh, scrapli
    • Создание классов с asyncio
    • Использование asyncio (декораторы, асинхронные генераторы, работа с потоками)

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

На курсе рассматривается Python 3.11.

Рекомендованная версия для выполнения заданий - Python 3.11, но для большинства тем подойдет и 3.8-3.10. Больше всего изменений от версии к версии в темах аннотация типов и asyncio.

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

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

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

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

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

Знания в объеме базового курса. Также желательно не идти на этот курс сразу после базового курса, надо сначала усвоить основы и хотя бы полгода поработать с Python.

Если эти требования выполняются, можно также почитать что нужно повторить непосредственно для подготовки к курсу за 1-2 месяца до начала: Подготовка к курсу.

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

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

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

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

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

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

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

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

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

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

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

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

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