Python — лекарство от скуки на уроках информатики

Как сделать уроки информатики интереснее? Почему Python — лучший язык программирования для школьных занятий? С чего начать, и какие проекты под силу разработать детям? Об этом Интерактивным Технологиям рассказывает Емельян Мараховский, разработчик проектов Workerly и alterhist.ru.

Информатика на грани фола

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

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

«Многие специалисты высокого уровня считают, что, если они устроятся в школу, то попадут в «банку с пауками» — в среду с токсичным коллективом и вечными претензиями родителей школьников», — отмечает Емельян Мараховский.

Однако для того, чтобы объяснить школьникам азы программирования, не надо быть гением. Мараховский считает, что начать достаточно с базы – объяснять ученикам, что такое биты и байты, научить решать логические задачи, и, если опыт позволяет, переходить к сложным темам: кибербезопасности, 3D-моделированию, ИИ, большим данным и, конечно, программированию.

Python может

О том, на чем программировать в школе, спорят уже давно. В советское время использовались специальные языки, которые поддерживались только на учебных компьютерах: Рапира, КуМир, разработанный РАН. Однако некоторые специалисты считают, что неправильно преподавать тот язык, с который не используют в реальной разработке.

Мараховский считает, что для школы лучше всего подходит Python. Он достаточно прост для изучения, на нем можно писать как в функциональном стиле, когда программы создаются с помощью команд, которые уже нельзя изменить после их написания, так и в объектно-ориентированном стиле — программы пишутся в виде совокупности объектов, каждый из которых представляет определенный класс. Python позволяет создавать сайты, приложения с графическим интерфейсом, осуществлять сложные вычислительные процессы, визуализировать данные, разрабатывать системы распознавания лиц и голоса. Кроме того, этот язык подходит и для машинного обучения: у него есть дополнительные библиотеки и фреймворки, позволяющие создавать чат-ботов и нейросети.

Главное, что, изучая этот язык, ребенок сможет им воспользоваться уже в школе.

Например, в марте дети из «Сириуса» создали чат-бота, который помогает готовиться к ЕГЭ. Помощник самостоятельно подбирает задания и выстраивает весь процесс обучения. Если ребенок решит упражнение правильно, бот хвалит его и запоминает, что с этой темой его подопечный справился на отлично. В прошлом году школьники из «Сириуса» разработали нейросеть для анализа медицинских изображений, которая выявляет пневмонию и злокачественные опухоли по снимкам легких. Ожидается, что этот проект облегчит работу врачей, которые из-за усталости иногда допускают ошибки.

Python позволяет писать и игры. Правда, топовые компьютерные стратегии или стрелялки создать вряд ли удастся, но простые игры для Android ребенку сделать под силу. Например, ученик 10-го класса одной из школ Пензы Валерий Покровский написал игру Escape From War. В ней действия происходят в охваченной гражданской войной стране. Герою нужно пройти своеобразный квест и сбежать из этого государства.

С чего начать

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

Дмитрий Богданов, главный технический менеджер Promethean в России:

Поможет в изучении Python интерактивная панель ActivPanel.

— Подключите к интерактивной панели роботов по bluetooth и программируйте на большом экране. Коллективная работа и возможность взглянуть на процесс со стороны поможет выявить ошибки или найти нетривиальные решения.

— Сделайте итоговой работой для детей, обучающихся на курсе Python, программу, которая будет управлять интерактивной панелью. Она контролируется с помощью интерфейса RS-232, и написать для нее код под силу школьнику или студенту. А результаты работы ученики могут продемонстрировать на весь класс.

На первом этапе требуется настроить среду разработки, ведь созданный код надо куда-то записать. Это можно сделать в специальных программах - в IDE (Integrated Development Environment). Эти программы умеют сами искать ошибки и дают начинающим программистам подсказки.

Умение писать скрипты и навыки прототипирования позволят школьникам создавать уже свои компьютерные решения. Вначале это будут простые программы, затем более сложные проекты. После изучения азов дети выберут уже те направления, в которых они хотели бы развиваться: веб-разработка или искусственный интеллект, Data science.

Для повторения Python или его более глубокого изучения рекомендуем книги:

1. Марк Лутц «Программирование на Python»;
2. Swaroop Chitlur «Укус Питона»;
3. Джон Пол Мюллер «Python для чайников»;
4. Мэтт Харрисон «Как устроен Python»;

И курсы: 

1. Международный научно-методический центр Высшей Школы Экономики (МНМЦ ВШЭ), курс повышения квалификации «Методика и практика преподавания программирования на Python»;
2. Яндекс.Школа курс «Программирование на Python, первая ступень»;
3. Нетология «Python-разработчик с нуля»;
4. GeekBrains «Факультет Python-разработки»;

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

Подписаться
Информатика и ИКТ
Участники