credit-card
Тренажёр (IDE) на платформе

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

spaceship
Моментальная обратная связь

Бот будет проверять ваши задания и тут же давать конкретные указания

customer-support
Поддержка

Ответы на ваши вопросы и совместная работа над кодом

box-3d-50
Законченное приложение

Вы напишете готовый проект и выложите его на GitHub в качестве портфолио

wave-down

Наша цель

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

wave-up
Previous Next

Ваш Преподаватель

Egor Wexler

На протяжении своей карьеры в IT мне довелось работать с разными языками программирования. Тем не менее мой основной язык на сегодняшний день - это Python.

Я умею создавать конечные продукты с нуля (пример - данная платформа 😉) и знаю, какие конкретно знания и навыки нужны для этого, а какие - второстепенны.

Это даёт возможность сделать курс максимально эффективным, поэтому вы начнёте программировать своими руками намного раньше, чем вы думаете.

Соавтор Курса

Ekaterina Wexler

За много лет практики обучения и "вработки" сотрудников в IT проекты я поняла как лучше всего давать новые знания и навыки, чтобы они усваивались быстро и надолго.

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

О том, что наше обучение интересно говорит средняя доходимость курса учениками.
93% из более чем 550 учеников прошли один и более курсов до конца.

Содержание Курса

С самых первых уроков вы начнёте программировать и уже в третьем модуле перейдёте к созданию классов и ООП

Модуль 1

  • 👋 Вступление | Hello World
    • О курсе
    • функция print
  • 📦 Переменные и типы данных
    • Примитивные типы данных str, int, float, bool
    • Задание переменных разных типов
    • Понятие констант
  • 💁‍♂️ О платформе и тренажёре
    • Как подружиться с ботом
    • Как удобнее и эффективнее решать задания
  • 📃 Правила курса
  • 🐍 Интерпретация и компиляция
    • Что нужно, чтобы компьютер выполнил написанный код?
    • Отличие компиляции и интерпретации
    • Зачем нужно "Установить Python"на компьютер
  • 💻 IDE
    • Что такое IDE?
    • Зачем нужен IDE?
  • 🏗 Составные типы данных | Часть 1
    • list (список/массив)
    • dict (хеш-таблица)
    • Отличие mutable и immutable
  • 1️⃣ Обзор первого модуля
    • Посмотрим ещё раз как задавать переменные
    • Как делать коллекции и обращаться к отдельным элементам

Модуль 2

  • 🏗 Составные типы данных | Часть 2
    • set (набор уникальных элементов)
    • tuple (неизменяемый лист)
    • None
    • Особенности ключей в dict
  • 🏓 Дополнительная практика типов данных
    • Задания на подбор типов данных для различных случаев
  • 📌 Функции # 1
    • Понятие функции
    • Передача параметров в функции
    • Вызов функций
    • Возврат значений из функций
    • Передача значений из одной функции в другую
    • Опциональные параметры
    • Понятие локальных переменных
  • 📌 Функции # 2
    • Примеры применения функций
    • Дополнительная практика создания и использования функций
  • 🚦 Условные операторы
    • if, else, elif
    • Логические операторы not, and, or
    • Тонкости сочетания условий между собой
  • 🧮 Математические операторы
    • Описание и практика всех доступных математических операторов
    • Применение математических операторов к различным типам данных
  • ⌨️ Ввод данных
    • Как вводить данные в вашу программу с клавиатуры (в консоль)
    • Конвертация типов данных из одного в другой

Установка Python и IDE

  • 🪟 Установка на Windows
    • Видео-урок по установке Python и PyCharm на Windows
  • 🍎 Установка на MacOS
    • Видео-урок по установке Python и PyCharm на MacOS
  • 🗂️ Структура Python программ
    • Как запускать код в PyCharm
    • Как писать код в различных файлах и использовать import
    • Зачем нужен блокif __name__ == '__main__':
    • А заодно:
      • Как получить текущую дату (модуль datetime)
      • Как получить цифру из ввода командной строки (и использовать для этого рекурсию)
  • 🪲 Debug в PyCharm
    • Зачем нужен дебаггер
    • Как использовать дебаггер в PyCharm

Модуль 3

  • 🙎‍♀️ Классы | Абстракция
    • Введение в ООП
    • Понятие абстракции
    • Зачем нужны классы и как их применять
    • Создание классов с опциональными атрибутами
  • 🏋️Практика создания классов
    • Практические задания по созданию классов и объектов
  • 👩‍🔧 Методы в классах | Инкапсуляция | Что такое self
    • Понятие инкапсуляции
    • Методы в классах
    • Использование созданных объектов
  • 🏋️Практика методов в классах
    • Практические задания по созданию классов и объектов
  • 👩‍👧 Наследование
    • Понятие наследования
    • Создание и использование дочерних классов
    • Обращение к родительскому классу из дочернего
  • 🏋️Практика наследования
    • Практические задания по созданию классов и объектов
  • 🐈️ Полиморфизм
    • Понятие полиморфизма
    • Для чего нужен полиморфизм и как им пользоваться на практике
  • 💣 Exceptions (исключения)
    • Понятие исключений
    • Примеры исключений и что с ними делать
    • Как можно обойтись без исключений
    • Как можно самостоятельно использовать исключения

Мини-проект

  • 🎬 Мини-проект | Создаём проект в PyCharm
    • Создание проекта и виртуальной среды в PyCharm
  • 🚗 Мини-проект | Используем классы
    • Повторение классов
    • Делаем вместе мини-проект по расчёту расходов на автомобиль с применением всех принципов ООП
  • 👩‍🏫 Обобщим знания о классах
    • Ещё раз соберём вместе знания о классах
    • Повторим принципы ООП для закрепления

🎁 Бонусы

  • 🧪 Эфир про pytest, test-coverage и selenium
  • 🐋 Эфир про Docker

Модуль 4

  • 📃 Методы в list
    • list - это тоже класс
    • Заглядываем внутрь класса list
    • Методы, доступные в листе
    • Манипуляции с элементами листа
  • 🎯 Индексы в листах и строках
    • Обращение к элементам по их индексу
    • Сходство list и str
    • Срезы листов и строк
  • 📙 Методы в dict
    • dict - это тоже класс
    • Заглядываем внутрь класса dict
    • Методы, доступные в dict
    • Манипуляции с элементами
  • ⚙️ Цикл for
    • for - вместо тысячи строк
    • Примеры использования циклов
    • Как лучше всего использовать цикл
  • 🫸 Как остановить цикл
    • Как управлять циклом
    • break
    • continue
    • return
  • 🔢 for и range
    • for и range - цикл с индексами
    • enumerate - нумерация объектов цикла
    • Задачки про Олега
  • ⌛️ Цикл while
    • Когда именно используется цикл while
    • Бесконечный цикл
    • Ожидание событий

Декораторы

  • 🖼️ Простой декоратор
    • Что такое декораторы и как их использовать
    • Как создать свой декоратор
    • Шаблон декоратора
  • 🖌 Встроенные декораторы для методов
    • Как использовать декоратор
    • Статические методы в классах
  • 🖼️ Декоратор с параметрами
    • Как создать декоратор, принимающий параметры
    • Шаблон декоратора, который вы можете использовать
    • Делаем аналог @pytest.mark.parametrize

Модуль 5

  • 🏦 Дополнительная практика методов в классах
    • Мини-проект - банк со счетами и клиентами
    • Ещё больше практических заданий по классам и принципам ООП
  • 🔠 Манипуляции с текстом
    • Методы в str: split, strip, replace, startswith, endswith
    • Как получить нужную информацию из текста
    • Парсинг (распознавание) текста
  • 👨‍🏫 Объяснение задачи про текст
    • Подробное объяснение сложной задачи

Промежуточный этап

  • 🎉 Подытожим основную часть
    • Конец основной части - переходим к проекту

Модуль 6 - Проект

  • 🚧 Изменяемый тип для аргумента по умолчанию
    • Почему именно не стоит использовать mutable как значение по умолчанию
  • 📝 О проекте
    • Почему именно не стоит использовать mutable как значение по умолчанию
  • 🧩 Основной кирпичик - Запись
    • Описание проекта (ТЗ)
    • Структура данных tree 🌴 (дерево)
    • Создаём базовый кирпичик нашего приложения
  • 🧰 Добавляем логику
    • Наглядно поясним, зачем именно нужна инкапсуляция (и что будет без неё)
    • Указатель одного объекта на другой

Модуль 7

  • 🔁 Рекурсия # 1
    • Когда, зачем и как применять рекурсию
    • Понятие глубины рекурсии
  • 🔁 Рекурсия # 2
    • Ищем файлы в файловой системе компьютера с помощью рекурсии
    • Применяем рекурсию в нашем проекте
  • ✉️ JSON #1
    • Что общего между dict и JSON
    • Как используется JSON в REST API
  • ✉️ JSON #2
    • classmethod - зачем нужен и как применяется
    • Сериализация/десериализация объектов
  • 💾 Работа с файлами
    • Как открыть и прочитать файл с помощью Python
    • Как сохранить файл на жесткий диск с помощью Python
    • Режимы открытия файлов
    • Контекстный менеджер with
    • Особенность сохранения файлов, содержащих кириллицу
  • 💾 Чтение/запись JSON
    • Как сохранить JSON-файл
    • Как прочитать JSON-файл

Модуль 8 - Проект

  • 💿 Сохранение/загрузка
    • Применяем полученные знания к проекту
  • 👩‍💼 Менеджер записей
    • Продолжаем проект - создаём управляющий элемент нашего приложения
  • 📚️ Что такое библиотеки
    • Что такое библиотеки
      • Для чего они нужны
      • Какие библиотеки есть на Python
      • Как их устанавливать и как пользоваться
    • Что такое виртуальные среды
  • 🛠️ Что такое фреймворк | Установим Flask
    • Что такое фреймворки
      • Для чего они нужны
      • Какие фреймворки есть на Python
      • Как их устанавливать и как пользоваться
    • Устанавливаем Flask
  • 🌶 Flask back-end
    • Hello World на Flask
    • Создаём точки входа API
    • Связываем логику нашего приложения с Flask, чтобы получить веб-сервер
  • 🔌 Соединяем front-end и back-end
    • Проверяем наш веб-сервер в связке с фронт-эндом

Модуль 9 - GitHub

  • Заливаем проект на GitHub
    • Как опубликовать проект на GitHub, используя командную строку (Git Bash)
  • 💼 Заливаем на GitHub из PyCharm
    • Как опубликовать проект на GitHub из PyCharm
    • Как работать над изменениями при помощи git
  • 📝 Добавим requirements.txt
    • Зачем нужен файл requirements.txt
    • Как начать работать с новым проектом, взяв его из git

🐳 Docker Deployment

  • 💻 Обзор архитектуры
    • Обзор архитектуры headless веб-приложения
    • Как сделать сайт с бэк-эндом и фронт-эндом
  • 🫙 Dockerfile и docker-compose.yaml
    • Dockerfile и docker-compose.yaml
    • Запуск Python Flask приложения через Docker
  • 🤩 front-end в Docker
    • Строим фронт-энд с помощью docker
    • Сервируем файлы фронт-энда с помощью nginx
    • Соединяем фронт-энд и бэк-энд через docker-compose
  • ☁️ Deploy в облако REG.RU
    • Создаём веб-сервер в reg.ru
    • Заливаем код через GitHub на удалённый сервер
    • Соединяем front-end и back-end в облаке

☁️ Cloud Deployment

  • 🖥️ Деплоим back-end в Cloud
    • Делаем наше приложение доступным всем через сеть Интернет
    • Деплой в облако Heroku
    • После этого урока ваш код Python будет выполняться в облаке ☁️и будет доступен через интернет
  • 🤩 Запускаем front-end локально
    • Запускаем фронт-энд локально
    • Соединяем локальный фронт-энд с удалённым бэк-эндом (в облаке)
  • 🖥️ Деплоим front-end в Cloud
    • Деплоим фронт-энд в облако
    • Соединяем бэк-энд с фронт-эндом в облаке
    • После этого урока у вас будет готовое Fullstack приложение в облаке, доступное через сеть Интернет

Модуль 10 - библиотеки

  • 💻 requests - работа с API
    • Описание библиотеки
    • Использование requests для работы с API
  • 🗄️ pydantic - сериализация данных
    • Описание библиотеки
    • Использование pydantic для создания удобных классов и работы с данными

Заключение и сертификат

  • 🏁 Ура!!!
    • Заключительный урок
    • Место для отзыва и небольшой опрос о курсе
  • 📄 Сертификат
    • Ваш сертификат о прохождении курса с указанием количества выполненных заданий и уникальным номером
img-blur-shadow-blog-2
Структура Курса

Курс поделен на 2 части: основную и проектную.

Основная часть является обязательной и содержит обязательные задания. После их выполнения вы получите сертификат.

Проектная часть является факультативной. Несмотря на это, мы рекомендуем ее пройти, так как вы изучите более продвинутые темы и сделаете полноценный проект - веб-приложение, которое сможете выложить на GitHub в качестве портфолио и развивать его функционал.
Кто знает, когда оно пригодится 😉

Какие специалисты используют Python

Python популярный язык. Но кто же именно им пользуется?

Разработчики

Backend / Fullstack Software Developers
Программисты различных сфер и направлений

Тестировщики-автоматизаторы

QA Automation
Автоматизация ручного тестирования

Инженеры-исследователи

Research & Development (RnD)
Изобретение и разработка новых продуктов и концептов

Аналитики

Data Analysis
Анализ данных, в том числе анализ огромных массивов данных - Big Data

DevOps инженеры

Development & Operations
Разработка ПО для внутренних команд/процессов компании

Инженеры по машинному обучению

Machine Learning (ML) Engineer
Разработка ПО с применением методов машинного обучения

Инженеры по разработке алгоритмов

Algorithm Developer
Создание алгоритмов, которые впоследствии реализуются программистами

Инженеры по искусственному интеллекту

Artificial Intelligence (AI) Engineer
Разработка алгоритмов с применением искусственного интеллекта

SDET инженеры

Software Development Engineer in Test
Автоматизация тестирования + разработка ПО для полного цикла тестирования

Для чего используется Python?

Python - это высокоуровневый язык общего назначения, который применяется повсеместно

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

Проект, который мы вместе сделаем на курсе, как раз будет отвечать за серверную часть веб-приложения.
Python можно использовать для автоматизации широкого круга задач, таких как:
  • Просмотр веб-страниц
  • Выполнение API запросов
  • Запуск других приложений
  • Чтение и запись файлов
  • Работа с базами данных (чтение/запись)
С помощью Python вы можете, например, прочитать информацию с сайта или файлов и сохранить в Excel или в базе данных.
Или отправить письмо с этими данными на электронную почту вашего начальника 💼
Python имеет богатое количество библиотек и пакетов, расширяющих его функционал.
Например,NumPy и SciPy для научных вычислений.
Pandas и Matplotlib для анализа и визуализации данных.
Возможность работы с AI и Machine Learning также реализуется при помощи библиотек, таких как Tensorflow и PyTorch

На курсе мы научимся устанавливать библиотеки и начинать работать с ними.
Python используется такими крупными компаниями как: Instagram, Google, NASA, Spotify, Netflix, UBER, Dropbox, Asana, Reddit, Quora, Pinterest, PayPal, Booking.com и другими

Формат обучения

С поддержкой

  • 200+ практических заданий
  • 50+ коротких видео-уроков,
    с подробным описанием в текстовом виде
  • Автоматическая проверка заданий
  • Моментальная поддержка бота под каждым заданием
  • Персональная поддержка от меня лично - возможность задавать вопросы под каждым уроком
  • В конце у вас будет 3 проекта, которые можно выложить на
    GitHub и задеплоить в облако
  • Продолжительность доступа:
    90 дней


399$
В ноябре

Бонус для старательных

При прохождении основной части курса на 90% вы получите неограниченный доступ ко всем материалам курса

Часто задаваемые вопросы

Подойдет ли мне курс, если я ранее не программировал(а)?

Абсолютно.
Этот курс начинается с основ, и дальше по нарастающей - от простого к сложному

Подойдет ли мне курс, если я уже умею программировать?

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

Какое расписание курса?

Мы за максимально комфортное обучение, поэтому расписания нет, каждый ученик идет в своём темпе.
Единственное - вам необходимо выполнить все обязательные задания основного раздела (Модули 1-5) до окончания срока курса, указанного на этой странице.

Сколько длятся видео-уроки?

В среднем 5-10 минут сжатой информации без воды.

Примеры и дополнительная информация по каждой теме так же есть в текстовых уроках.

Сколько времени понадобится на домашние задания?

Это очень индивидуально, примерно от 30 минут на все задания одного урока.

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

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

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

Какие технические требования?

Доступ в Интернет

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

Что если мне не понравится курс?

Мы открыли доступ к первым урокам данного курса, где вы сможете оценить стиль и формат обучения, платформу и технические возможности.

По всем оставшимся вопросам, пишите мне в Инстаграм