19 мая 2020

Интерактивный курс Python для новичков в программировании

Библиотека программиста — ваш источник образовательного контента в IT-сфере. Мы публикуем обзоры книг, видеолекции и видеоуроки, дайджесты и образовательные статьи, которые помогут вам улучшить процесс познания в разработке.
При изучении программирования нет ничего важнее практики. Рассматриваем онлайн-сервис для новичков в Python, обучение в котором построено через написание программ – letpy.
Интерактивный курс Python для новичков в программировании

Продолжаем искать и тестировать качественные курсы и уроки по IT-специальностям. Тема востребованная, поэтому мы решили время от времени делиться рекомендациями.

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

Рис. 1. Рабочая среда letpy в ночном режиме
Рис. 1. Рабочая среда letpy в ночном режиме

Среда разработки (Рис. 1) выглядит интуитивно понятно и включает в себя:

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

Видимость элементов можно настраивать, имеются две цветовые темы, можно варьировать размер шрифта. У файлов работает автосохранение.

Проверка корректности программ

Правильность программ автоматически проверяется ботом, который дополняет стандартный вывод Python и старается помочь в случае ошибки (Рис. 2).

Рис. 2. Скриншот с подсказкой (для сравнения показано оформление в «дневном» режиме)
Рис. 2. Скриншот с подсказкой (для сравнения показано оформление в «дневном» режиме)

Если задание выполнено неверно, под ним отображается красная карточка (Рис. 3).

Рис. 3. Элемент интерфейса в случае неправильного выполнения задания
Рис. 3. Элемент интерфейса в случае неправильного выполнения задания

Текст на таких карточках дополняет рекомендации бота. После исправления кода красная карточка меняется на зелёную – можно перейти к следующему шагу (Рис. 4).

Рис. 4. Изменение предыдущего элемента после коррекции кода
Рис. 4. Изменение предыдущего элемента после коррекции кода

У каждого урока есть чат – можно посмотреть, что думают по поводу урока другие ученики и обсудить варианты решения задачи. Блок с чатом расположен внизу под описанием урока или задания, так что он не мешает при прохождении.

Если хочется поделиться собственным решением с другими студентами или не удается найти ошибку, код легко перенести в чат из рабочей области с помощью кнопки “Вставить код” (Рис. 5). То есть нет необходимости его специально форматировать. При этом сохранится оформление и отступы, а к коду можно добавить любой поясняющий текст или вопрос.

Рис. 5. Скриншот с примером автоматически перенесенного кода
Рис. 5. Скриншот с примером автоматически перенесенного кода

Если нужен дополнительный теоретический материал, есть справочник по следующим разделам:

О полной версии

Всего в курсе 149 уроков, включая 58 практических заданий (полная программа курса). При прохождении 95% курса выдаётся сертификат. Текущий процент прохождения отображается в верхней панели.

Рис. 6. Скриншот с панелью прохождения курса
Рис. 6. Скриншот с панелью прохождения курса

Любая платформа для своего развития требуют какого-то источника дохода. Нам понравилось, что сервис не ставит деньги во главу угла – первые 45 уроков бесплатные – если не понравится подача, можно ограничиться этим.

На сайте есть пара иллюстраций, чему можно научиться в платной версии.

Цена на полный курс – небольшая (в PRO-версии 2130 ₽, а при базовом доступе и того меньше – 1490 ₽), мы перешли на PRO-подписку, чтобы посмотреть на отличия от стандартной версии.

Кроме того, что стали доступны остальные уроки, добавились и новые функции. В верхней панели появился значок учебного отладчика. В нем можно смотреть, как программа выполняется строка за строкой. Так проще определить, если что-то пошло не так, как ожидалось.

Рис. 7. Скриншот с отладчиком программ для пошагового выполнения кода
Рис. 7. Скриншот с отладчиком программ для пошагового выполнения кода

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

Рис. 8. В меню профиля в полной версии появляется возможность делиться приложениями
Рис. 8. В меню профиля в полной версии появляется возможность делиться приложениями

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

Ради фана в рамках одного из уроков мы написали простенькое приложение на Python, реализующее часы:

        import datetime, canvas

def clock(time, x=175, y=175, r=170):
    canvas.clear()
    canvas.circle(x, y, r)
    
    # ставим риски для часов и минут
    for i in range(0, 390, 30):
        canvas.radius_line(x, y, i, 170)
    for j in range(0, 366, 6):
        canvas.radius_line(x, y, j, 160)
    
    # накрываем кругом, по которому будут двигаться стрелки
    canvas.fill_style('White')
    canvas.fill_circle(x, y, 150)
    
    # часовая стрелка
    canvas.line_width(6)
    canvas.set_color('Blue')
    canvas.radius_line(x, y, time.hour * 30, 100)
    
    # минутная стрелка
    canvas.line_width(2)
    canvas.radius_line(x, y, time.minute * 6, 120)
    
    # секундная стрелка
    canvas.line_width(1)
    canvas.radius_line(x, y, time.second * 6, 160)
    
    # крепление стрелок
    canvas.fill_style('Blue')
    canvas.fill_circle(x, y, 7)
    
    canvas.draw()

while True:
    time = datetime.datetime.now()
    clock(time)

    

Далее мы воспользовались интерфейсом для публикации приложений, показанным на Рис. 9.

Рис. 9. Интерфейс для публикации собственных приложений
Рис. 9. Интерфейс для публикации собственных приложений

В итоге получилось приложение, расположенное по адресу https://letpy.com/apps/proglib-clock/ – можете сами посмотреть, что получилось.

Рис. 10. Скриншот веб-страницы написанного нами приложения на Python
Рис. 10. Скриншот веб-страницы написанного нами приложения на Python

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

Заключение

Резюмируем, что нам понравилось в letpy:

  • Значительная часть уроков и все справочные материалы находятся в свободном доступе – можно без переплат оценить, нравится ли подход.
  • Система имеет ясный и отзывчивый интерфейс, на платформе легко заниматься. Если в коде есть ошибки, сервис выдает необходимые подсказки.
  • letpy умеет выполнять внеучебные файлы с кодом Python – удобно использовать среду для практических экспериментов в программировании. При этом ничего не нужно дополнительно устанавливать. А получившимися программами в расширенной версии можно делиться в виде веб-приложений.
  • По нашим наблюдениям в чате регулярно отвечает разработчик сайта и другие ученики – если что-то непонятно, помогает не только бот, но и живые люди.

Из недостатков, которые мы для себя отметили – отсутствие описания классов и основ ООП. Впрочем, эти темы нельзя считать первоочередными для новичков, так что для такого базового курса это некритично.

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

У letpy есть YouTube-канал, паблик вк и страница facebook. Судя по их активности, проект развивается и совершенствуется. Напишите в комментариях, если вы учились или учитесь на letpy – как вам ресурс?

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
DevOps
Санкт-Петербург, от 150000 RUB до 400000 RUB
Golang разработчик (middle)
от 230000 RUB до 300000 RUB

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ