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

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

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

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

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

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

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

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

wave-down

Наша цель

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

wave-up

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

Egor Wexler

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

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

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

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

Ekaterina Wexler

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

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

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

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

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

Модуль 1

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

Модуль 2

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

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

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

Модуль 3

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

Модуль 4

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

Модуль 5

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

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

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

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

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

Модуль 7

  • 🔁 Рекурсия
    • Когда, зачем и как применять рекурсию
    • Понятие глубины рекурсии
    • Ищем файлы в файловой системе компьютера с помощью рекурсии
    • Применяем рекурсию в нашем проекте
  • ✉️ JSON | classmethod
    • classmethod - зачем нужен и как применяется
    • Что общего между dict и JSON
    • Как используется JSON в REST API
  • 💾 Работа с файлами
    • Как открыть и прочитать файл с помощью 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

Бонус - библиотеки

  • 💻 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 и другими

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

Standard

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

269$
В июле

Premium

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

  • Приоритет в ответах на вопросы
  • Персональная поддержка в Telegram
  • Еженедельный разбор всего кода, который вы пишете на платформе
  • Разбор вашего резюме

369$
В июле

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что включают в себя консультации?

Консультация - это часовая онлайн встреча с Егором 1-на-1, на которой можно обсудить все интересующие вопросы
А также:

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

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