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

Мышление на Python

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

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

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

Переменные

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

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

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

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

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

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

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

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

Для кого

Python для тех, кто хочет понимать код, а не копировать

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

Копирует код, но не может предсказать результат.
Путает обновление переменной и присваивание.
Не понимает условия if-else и булеву логику.
Сложно читать чужую программу по шагам.
01

Переменные

Научитесь создавать переменные и хранить в них строки и числа.

02

Обновление переменных

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

03

Вывод на экран

Научитесь выводить числа, строки и значения переменных с помощью функции print.

Проверка связывает код с состоянием данных

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

Действие

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

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

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

Понимание
Идея курса «Мышление на Python» понятна

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

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

От переменных и условий к циклам, структурам данных и алгоритмическому мышлению.

1
x

Переменные

Научитесь создавать переменные и хранить в них строки и числа.

2
print

Обновление переменных

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

3
if

Вывод на экран

Научитесь выводить числа, строки и значения переменных с помощью функции print.

4
for

Самообновление переменной

Научитесь обновлять переменную на основе её текущего значения и использовать операторы +=, -=, *=.

5
[]

Зависимость переменных

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

6
{}

Логические выражения

Научитесь использовать операторы сравнения Python для построения логических выражений.

7
7

Условные операторы (if)

Научитесь использовать оператор if для выполнения кода по условию.

8
8

Ветвление: if-else

Научитесь использовать ветвь else, чтобы программа выбирала один из двух путей.

9
9

Логические переменные

Научитесь хранить True/False в переменных и использовать их как флаги состояния.

10
10

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

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

11
11

Оператор and

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

12
12

Хранение логических значений

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

13
13

Оператор not

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

14
14

Оператор or

Научитесь использовать оператор or для условий «хотя бы одно из».

15
15

Сложная логика

Научитесь строить сложные логические условия, сочетая and, or и not со скобками.

16
16

Циклы for

Научитесь использовать цикл for для повторения действий заданное число раз.

17
17

Структура цикла

Научитесь управлять тем, что происходит до, внутри и после цикла for.

18
18

Зависимость от переменной цикла

Научитесь вычислять значения переменных через переменную цикла.

19
19

Логика внутри циклов

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

20
20

Сложные зависимости

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

21
21

Списки

Научитесь хранить несколько значений в списке и проверять принадлежность с помощью оператора in.

22
22

Индексы списков

Научитесь обращаться к элементам списка по индексу, использовать len, отрицательные индексы и срезы.

23
23

Перебор списков циклом

Научитесь перебирать элементы списка с помощью цикла for и сочетать перебор с условиями.

24
24

Добавление в списки

Научитесь добавлять элементы в список с помощью метода append и обновлять список в цикле.

25
25

Индексирование нескольких списков

Научитесь использовать один индекс для перебора нескольких связанных списков.

26
26

Соседние индексы

Научитесь сравнивать соседние элементы списка и безопасно обрабатывать граничный случай при i=0.

27
27

Циклы while

Научитесь использовать цикл while для повторения действий, пока условие истинно.

28
28

Структура цикла while

Научитесь управлять циклом while с помощью счётчиков и флагов.

29
29

Составные условия цикла

Научитесь строить условия цикла while из нескольких проверок с помощью and и or.

30
30

Флаги как условия цикла

Научитесь управлять циклом while с помощью логических флагов.

31
31

Циклы с or

Научитесь строить сложные условия цикла с or для обнаружения нескольких паттернов.

32
32

Исследование строк

Научитесь проверять строки с помощью len(), in и lower().

33
33

Операции со строками

Научитесь соединять строки через +, запятую и f-строки.

34
34

Классификация строк

Научитесь обрабатывать список строк с помощью циклов, lower() и if/else.

35
35

Вложенные if

Научитесь вкладывать инструкции if друг в друга для сложной классификации сообщений.

36
36

Вложенные if-else в if

Научитесь вкладывать if-else внутрь if для разделения группы сообщений на два случая.

37
37

Вложенные условия if-else

Вложенные if-else в if-else

38
38

Приоритет условий

Приоритет условий

39
39

Цепочки условий

Научитесь раскладывать сообщения по папкам с помощью цепочек if/elif/else.

40
40

Порядок проверок в цепочке

Научитесь выстраивать цепочки if/elif/else и понимать роль завершающей ветки else.

41
41

Проектирование цепочек

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

42
42

Приоритет в цепочках

Научитесь расставлять приоритет условий в цепочке: сильные условия — первыми.

43
43

Словари

Познакомьтесь со словарями Python: хранение пар «ключ — значение» вместо параллельных списков.

44
44

Доступ к словарям

Научитесь обращаться к значениям словаря через [], проверять ключи оператором in и использовать метод get.

45
45

Обновление словарей

Научитесь добавлять новые пары «ключ — значение» в словарь и изменять существующие значения.

46
46

Перебор словарей в цикле

Научитесь перебирать ключи словаря в цикле, накапливать суммарный риск и использовать метод items для перебора пар ключ — значение.

47
47

Построение словарей

Научитесь строить новые словари в цикле: от словаря наличия до производного словаря оценок для классификации сообщений.

48
48

Словари со списками

Научитесь группировать данные в словаре со списками-значениями: от папок сообщений до классификации отправителей по уровню риска.

49
49

Организация данных

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

50
50

Исследование данных

Исследуйте большие наборы данных: отрицательные индексы, срезы, счётчики и словари-агрегаторы.

51
51

Преобразование данных

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

52
52

Анализ записей данных

Стройте вложенные словари и списки словарей для поиска спам-ботов по повторяющимся сообщениям.

53
53

Анализ данных

Составные ключи для поиска спам-ботов: объединяйте два поля и делайте запросы к данным.

54
54

Вложенные циклы

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

55
55

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

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

56
56

Прерывание циклов (break)

Используйте break для ранней остановки: находите первое появление и блокируйте вредоносные вложения.

57
57

Прерывание вложенных циклов

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

58
58

Пропуск итераций (continue)

Используйте continue для пропуска уже проверенных сообщений и ускорения блокировщика.

59
59

continue и break

Различайте continue (пропустить итерацию) и break (выйти из цикла) и применяйте их точно по задаче.

60
60

Управление вложенными циклами

Совмещайте break и continue во вложенных циклах для точного управления блокировщиком вложений.

61
61

Подсчёт операций

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

62
62

Время выполнения и данные

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

63
63

Лучший и худший случаи

Научитесь различать лучший и худший случаи времени выполнения и понять, почему анализируют именно худший случай.

64
64

Временная сложность

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

65
65

O-нотация

Научитесь описывать временную сложность программ с помощью O-нотации: O(1)O(1), O(n)O(n), O(n2)O(n^2).

66
66

Поиск

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

67
67

Поиск в отсортированных данных

Научитесь ускорять линейный поиск в отсортированных данных и понять, почему худший случай остаётся O(n)O(n).

68
68

Бинарный поиск

Реализуйте бинарный поиск — алгоритм, который на каждом шаге отбрасывает половину отсортированных данных.

69
69

Логарифмическое время

Проанализируйте, почему бинарный поиск работает за O(log⁡n)O(\log n), и сравните его с линейным поиском.

70
70

Поиск диапазона

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перейти к курсу
Программирование и CS
Средний

Алгоритмическое мышление

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

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

Можно ли начинать Python с этого курса?

Да, если ученик готов внимательно читать короткие программы. После вводного курса с роботом старт будет мягче.

Нужно ли устанавливать Python?

Для первых интерактивных заданий установка не нужна: ученик работает внутри урока.

Чем курс отличается от видеоуроков?

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

Подойдёт ли взрослому самоучке?

Да. Курс полезен, если хочется собрать базу Python без хаотичного копирования примеров.

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

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