Рубрика: Математика, логіка та програмування
Учень читає математичну задачу й каже:
«Я знаю, як це розв’язати».
На папері він справді знаходить правильну відповідь. Розуміє, що треба додати, відняти, знайти відсоток, середнє значення або порівняти результати.
А потім відкриває Python — і зупиняється.
Що записати спочатку?
Які величини перетворити на змінні?
Де потрібна умова?
Що саме повинен обчислювати код?
Чому задача, яка кілька хвилин тому здавалася зрозумілою, раптом стала складною?
Проблема не обов’язково в математиці. І не обов’язково в Python.
Між ними існує ще один рівень мислення, якого часто не видно на папері:
уміння перетворити власний спосіб розв’язання на точну послідовність дій.
Знати відповідь — ще не означає вміти описати процес
Людина може пропускати очевидні для себе кроки.
Комп’ютер — ні.
Припустімо, учень має знайти середнє арифметичне трьох чисел:
12, 18 і 24.
На папері достатньо написати:
[
(12 + 18 + 24) / 3 = 18
]
Для людини в цьому короткому записі вже міститься весь процес.
Але якщо ми хочемо перетворити його на програму, приховані дії доводиться зробити явними:
a = 12
b = 18
c = 24
summa = a + b + c
average = summa / 3
print(average)З математичної точки зору тут не з’явилося нічого нового.
Проте з погляду мислення сталося важливе перетворення.
Ми вже не просто розв’язали задачу.
Ми описали процедуру її розв’язання.
Саме ця різниця пояснює значну частину труднощів, які виникають у школярів під час роботи з Python.
На папері можна мислити великими блоками
Досвідчений учень бачить:
«Треба знайти 20% від числа, а потім відняти результат».
Для нього це може бути майже однією розумовою дією.
Програма потребує іншої точності.
Наприклад:
price = 750
discount_percent = 20
discount = price * discount_percent / 100
final_price = price - discount
print(final_price)Тут з’являються окремі об’єкти:
price — початкова ціна;
discount_percent — відсоток;
discount — величина знижки;
final_price — кінцевий результат.
Python змушує розділити те, що в голові могло існувати як одна цілісна думка.
І це не недолік програмування.
Навпаки, саме тому програмування може бути сильним інструментом розвитку логічного мислення.
Помилка в коді не завжди означає помилку в математиці
Розглянемо простий приклад:
x = 10
y = 20
print(x + y / 2)Учень хотів знайти середнє арифметичне.
Але Python виконає ділення раніше за додавання.
Отже, програма фактично обчислить:
[
10 + (20 / 2)
]
а не:
[
(10 + 20) / 2
]
Можна просто сказати учневі:
«Ти забув дужки».
Але для навчання значно важливіше інше запитання:
чому вони зникли?
Можливо, учень чудово розуміє поняття середнього арифметичного, але ще не навчився переносити структуру математичного виразу в структуру програми.
Тоді виправлення однієї пари дужок усуває конкретну помилку, але не вирішує основної проблеми.
Між задачею та кодом потрібен алгоритм
У шкільному навчанні математика й програмування нерідко існують як два окремі світи.
На математиці учень розв’язує задачі.
На інформатиці вивчає:
- змінні;
input();print();- умови;
- цикли;
- функції.
Але знання обох предметів ще не гарантує, що учень зможе їх поєднати.
Між ними потрібен міст:
умова задачі → математична модель → послідовність дій → алгоритм → код → перевірка результату.
Якщо пропустити середину цього ланцюжка, учень часто починає програмувати методом спроб і помилок.
Він пише рядок.
Запускає.
Отримує помилку.
Змінює щось.
Запускає ще раз.
І поступово робота з логікою перетворюється на вгадування синтаксису.
Саме тому «ще більше Python» може не допомогти
Якщо проблема в синтаксисі, додаткова практика Python справді потрібна.
Але уявімо іншого учня.
Він знає, як створити змінну.
Розуміє if.
Може написати цикл for.
Знає арифметичні оператори.
Проте отримує нову математичну задачу й не знає, з чого почати.
У такому разі проблема вже не в кількості вивчених команд.
Учень знає елементи мови програмування, але ще не вміє самостійно побудувати з них модель розв’язання.
Це проблема перенесення знань — transfer.
Можна відтворити знайомий приклад і водночас не вміти застосувати той самий принцип у новій ситуації.
Excel, GeoGebra та Python показують різні сторони математичного мислення
Ці інструменти часто згадують разом, але вони не виконують однакову інтелектуальну функцію.
GeoGebra особливо сильна там, де потрібно побачити математичний об’єкт або залежність.
Excel добре працює з таблицями, серіями даних, формулами та повторюваними обчисленнями.
Python змушує особливо чітко описувати процедуру.
Тому учень може впевнено працювати в GeoGebra й губитися в Python.
Може правильно створювати формули в Excel, але не розуміти, як перетворити ту саму задачу на алгоритм.
Це не суперечність.
Інструменти вимагають різних способів представлення знання.
Є ще одна складність: мова навчання
Для учнів міжнародних програм задача може мати додатковий рівень.
Наприклад, українськомовний учень навчається математики англійською або німецькою.
Тоді шлях до готової програми може виглядати так:
текст іноземною мовою → зміст задачі → математична модель → алгоритм → Python.
На кожному переході можливе окреме непорозуміння.
Учень може знати математику, але неправильно прочитати умову.
Може правильно зрозуміти умову, але не побачити алгоритм.
Може побудувати алгоритм, але неправильно записати його в Python.
Саме тому фраза «він не розуміє програмування» часто надто загальна.
Спочатку потрібно визначити, де саме розірвався ланцюжок.
Сильне запитання вчителя — не «Який тут код?»
Коли учень застряг, готовий фрагмент Python може швидко закрити конкретне завдання.
Але це ще не означає, що учень навчився розв’язувати такі задачі самостійно.
Набагато корисніше спочатку запитати:
- Що нам відомо?
- Що потрібно отримати?
- Яку величину треба знайти першою?
- Від якого результату залежить наступний крок?
- Чи є тут умова?
- Що повторюється?
- Як би ти пояснив розв’язання людині, яка ще не бачила цієї задачі?
Якщо учень може чітко відповісти на ці запитання, код часто стає майже природним продовженням міркування.
Математика, логіка та програмування — це не три ізольовані навички
У Levitin Language School ми розглядаємо подібні труднощі не просто як запит «потрібен репетитор з Python».
Спочатку важливо зрозуміти, що саме не працює:
математична модель;
логічна декомпозиція;
алгоритм;
Python;
або мова, якою учень отримує й опрацьовує завдання.
Це особливо важливо для міжнародного навчання, де один школяр може одночасно працювати з математикою, програмуванням та іноземною мовою.
У Language Learnings ця сама логіка підтримує ширший принцип: мова навчання — не декоративний додаток до предмета. Вона може бути частиною самого процесу розуміння.
А роль Tymur Levitin як автора й методолога полягає саме в тому, щоб дивитися не лише на неправильну відповідь, а на механізм, який до неї привів.
Тому робота може починатися з математики, перейти до алгоритмічного мислення, а за потреби включити Python і мовну підтримку.
Не тому, що учневі потрібно вивчати «все одразу».
А тому, що спочатку необхідно знайти реальне місце труднощів.
Дізнатися більше
Якщо учень розуміє математику, але не може перенести розв’язання в Python, корисно працювати не лише із синтаксисом, а з усім переходом від математичної моделі до алгоритму та коду.
У Levitin Language School ця робота може поєднувати математику, програмування, логічне мислення та мовну підтримку відповідно до конкретної шкільної або міжнародної програми.
Levitin Language School
https://levitintymur.com/
Language Learnings
https://languagelearnings.com/
Tymur Levitin
Засновник і директор
Levitin Language School / Language Learnings
Глобальне навчання. Індивідуальний підхід.
© Tymur Levitin. Усі права захищено.
