Перейти к основному содержанию
Программирование и CS
Начальный уровень
Учимся через действие

Объекты в Python

Классы, экземпляры, методы и состояние — постройте биграммную языковую модель, проектируя объекты, которые работают вместе

Уроки этого курса доступны после регистрации. Демо без аккаунта показывает механику платформы на примере задачи с роботом по алгоритмике.

14
уроков
7–10 мин
один шаг
Начальный уровень
уровень
бесплатный доступ в бета-версиибез регистрации для демопрогресс можно сохранить
Пример интерфейса
Пример: урок 1 из 14
Образец
Объекты в Python
Пример награды

Предсказание по биграммам

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

01 наблюдаем условие задачи
02 проверяем свой ответ
03 объясняем следующий шаг
Шаг 1
Проверить
Шаг 3
Понятно. Ответ сопровождается объяснением, чтобы следующий шаг был осознанным.

14 коротких уроков

По 7-10 минут: можно пройти за один подход или возвращаться по частям.

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

Ученик решает задачу, проверяет ответ и видит объяснение следующего шага.

Спокойный старт

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

Для кого

Кому подойдёт курс «Объекты в Python»

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

Тема кажется набором несвязанных правил.
Сложно перейти от примера к самостоятельной задаче.
Не хватает уверенности при решении новых заданий.
Хочется увидеть логику каждого следующего шага.
01

Предсказание по биграммам

Как ИИ-модель угадывает следующее слово? Считаем пары соседних слов (биграммы) и предсказываем самое частое продолжение — от игрушечных наборов до случайного выбора при ничье.

02

Класс биграммной модели

Спроектируем класс `BigramModel`: какие данные он хранит, как использует `WordCounter` и какие методы — `train`, `predict_next`, `generate` — ему нужны, чтобы порождать текст.

03

Композиция классов

Реализуем BigramModel через композицию: модель хранит по одному WordCounter на каждое слово. Пишем метод train, накапливаем счётчики и обучаем модель на разных наборах.

Обратная связь помогает разобраться

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

Действие

Откройте шаг «Предсказание по биграммам» и выполните действие в модели.

Попытка
Ответ требует ещё одного шага

Ошибка не заканчивает задание: она запускает объяснение на схеме.

Понимание
Идея курса «Объекты в Python» понятна

Ученик видит идею на модели и переносит её в самостоятельное решение.

Маршрут курса

От первого понятия к самостоятельному применению темы «Объекты в Python».

1
1

Предсказание по биграммам

Как ИИ-модель угадывает следующее слово? Считаем пары соседних слов (биграммы) и предсказываем самое частое продолжение — от игрушечных наборов до случайного выбора при ничье.

2
2

Класс биграммной модели

Спроектируем класс BigramModel: какие данные он хранит, как использует WordCounter и какие методы — train, predict_next, generate — ему нужны, чтобы порождать текст.

3
3

Композиция классов

Реализуем BigramModel через композицию: модель хранит по одному WordCounter на каждое слово. Пишем метод train, накапливаем счётчики и обучаем модель на разных наборах.

4
4

Генерация текста

Дописываем BigramModel: методы predict_next (предсказать слово, при ничье — случайно) и generate (сцепить предсказания в текст). Разбираем KeyError для незнакомого слова и защищаемся от него.

5
5

Совместная работа классов

Собираем всё вместе: класс Agent получает BigramModel в качестве «мозга». Агент учится на данных, отвечает на запросы сгенерированным текстом, а разные агенты с разными «мозгами» отвечают по-своему.

6
6

Планирование и строки документации

Спроектируйте класс WordCounter для подсчёта слов: сначала спланируйте его атрибуты и методы и опишите их строками документации (docstring).

7
7

Построение состояния

Реализуйте класс WordCounter: заведите пустой словарь-атрибут и напишите метод-мутатор update_count, который наполняет состояние объекта, подсчитывая слова.

8
8

Чтение состояния

Добавьте классу WordCounter методы-аксессоры, которые сообщают о его состоянии: get_count, in_dataset, distinct_words, total_words — не меняя данных объекта.

9
9

Вспомогательные методы

Расширьте класс WordCounter методами, которые вызывают другие методы как вспомогательные: count_data, greatest_count, most_common_words, random_common_word — чтобы генерировать частые слова из набора данных.

10
10

Классы

Соберите настраиваемого ИИ-агента: от отдельных переменных — к классу Agent с конструктором __init__, атрибутами и несколькими экземплярами.

11
11

Экземпляры

У каждого экземпляра класса Agent свои атрибуты: меняйте стиль, добавляйте флаг премиум-тарифа и счётчик запросов — и убедитесь, что изменение одного экземпляра не затрагивает другие.

12
12

Методы

Дайте классу Agent поведение: методы с self — представиться, отчитаться о состоянии и обработать запросы, — чтобы объединить данные и действия в одном объекте.

13
13

Обновление атрибутов

Обновляйте атрибуты через методы класса: пишите make_direct, change_style с проверкой и add_queries — так класс сам контролирует изменения и защищает данные от недопустимых значений.

14
14

Входы и выходы методов

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

Один урок — одно понятие

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

Мгновенная обратная связь

Ученик сразу видит, где ошибся, и получает объяснение через схему.

Последовательное усложнение

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

Прогресс сохраняется

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

Программирование и CS
Начальный

Думаем как программист

Основы алгоритмического мышления: последовательности, циклы, логика

Перейти к курсу
Программирование и CS
Начальный

Мышление на Python

Основы Python через чтение и анализ программ: переменные, условная и булева логика, циклы for и while, списки, словари, строки, вложенные и цепочечные условия, работа с данными, временная сложность и алгоритмы поиска.

Перейти к курсу
Программирование и CS
Начальный

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

Создавайте цифровые изображения с помощью переменных, циклов и логики

Перейти к курсу
Программирование и CS
Начальный

Программирование с функциями

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

Перейти к курсу

Кому подойдёт курс «Объекты в Python»?

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

Как устроены уроки?

Уроки короткие: ученик выполняет действие, получает проверку и объяснение, а затем переходит к следующему шагу. Это помогает разобраться в логике темы постепенно.

Нужен ли взрослый рядом?

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

Что будет после регистрации?

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

Начните курс бесплатно

Создайте аккаунт, чтобы открыть уроки этого курса и сохранять прогресс.