
Привет! Я Кирилл Пронин, разработчик PIX RPA из PIX Robotics. А еще я семь лет преподавал основы программирования детям в частных технопарках в рамках дополнительного профессионального образования, а также студентам колледжей и вузов. Чтобы завлечь детей (и упростить работу себе, но об этом чуть позже) я стал внедрять программных роботов в процесс обучения. И понял, что RPA — отличная платформа для старта в разработке. Любой. Но обо всем по порядку. Здесь я расскажу, как продукт по написанию программных роботов может сделать обучение более эффективным и увлекательным, а также проанализируем, какие педагогические методы могут быть адаптированы для работы с RPA. Кроме того, я расскажу о собственном опыте внедрения этих технологий в образовательный процесс и дам несколько полезных советов, которые, надеюсь, помогут вам в вашей практике!
В чем фишки IDE и почему их не надо давать детям?
Вы когда-нибудь интересовались, почему процент учеников, которые используют в обучении современные средства разработки и кодят в консоли, идут в IT с меньшей вероятностью, чем те, кто обучались на чем-то визуальном? Об этих и других проблемах в контексте образования в IT появляются все больше статей и научных публикаций. Например, вот и вот.
А все почему? Представим ученика, которому от 12 до 16 лет. Специфика такого возраста предполагает усиленную работу на органы восприятия информации, это еще из психологии идет. Если перейти в житейское описание, таков возраст специфичен понятию «Если я не вижу результат того, что я сделал сразу — мне это не интересно».
Поэтому визуализация — ключ к успешному освоению предмета, а так же к будущему росту интереса. Если ученик как можно быстрее получит результат своей программы, и это будет не черный фон и белые буквы, мы получим заинтересованность и «горящие глаза».
А с чего обычно начинается знакомство с разработкой в школах/институтах? Ни с лекций, ни с практики, а с выбора IDE — среды разработки какого-либо приложения.
Главная задача всех этих новых классных софтов типа Visual Studio, Code, Storm и других, — предоставлять все возможности создания приложений разработчикам. У каждой среды есть свои особенности, свои навороты и фичи. Но разве те, кто учится по дисциплине «Основы программирования» должны сразу получать базу разработчиков? Не особо правильно, не кажется?
Задам вопрос по-другому, почему детям не дают темы Garbage Collector’a? Или Git не проходится на первом занятии? Вся специфика в назначении используемых знаний. Это все равно, что обучать студентов по дисциплине «Литература» и на первом занятии рассматривать правила создания своего романа. Так и в ремесле программистов. Для разработчика — темы Garbage Collector’a, Git’a, аспектов потребляемой памяти и диагностика ее расходования — важны и полезны, но детям, которые обучаются первый год — вряд ли понадобятся. Дисциплины такого типа есть во многих учебных программах разных направлений, но мне кажется странным давать все их в одинаковых средах разработки, а потом удивляться, почему такое малое количество выбирает своим будущим разработку. Дети увидят от силы 20% возможностей среды разработки и не очаруются программированием. В общем, ученикам важно дать что-то простое, что сразу покажет логику взаимодействия, последовательность, а еще выдаст «красивый» результат. Чем быстрее и качественнее результат первой программы ученика будет на курсе, тем больше вероятность, что это ему понравится.
Внедряем RPA в учебный план основ программирования
А теперь к педагогике, с которой я не расстаюсь уже почти 7 лет. Представьте, что вам нужно составить учебный план по дисциплине «Информатика» или «Основы программирования». Допустим, учебное направление выбрали по языку C#. Как будет выглядеть план? Примерно так:
№ |
Тема занятия |
1 |
Что такое информационные технологии. Введение в язык программирования. |
2 |
Обзор возможностей С#. Знакомство со средой. Операции. |
3 |
Тестирование и отладка. Запуск первого приложения «Hello world!» Операции с простыми типами. Ввод и вывод. |
4 |
Типы данных для работы с числами. |
5 |
Типы данных для работы с символами и текстами. |
6 |
Оператор условия. |
7 |
Оператор выбора. |
8 |
Циклы. |
9 |
Работа с массивами. |
В этой таблице я специально не выписывал темы на учебный год, ведь невозможно за одно занятие пройти все циклические операторы, пройти анализ работы с массивами и так далее. Обобщив все темы, можно прийти к такому виду учебной программы первого года (по знакомству). Причем и в школе, и в колледже, и в техникуме, и даже в вузе, — почти везде одинаково! И, в общем-то, это правильный подход.
Два года назад я уже почти 5 лет преподавал основы программирования детям на основе Visual Studio и сталкивался с тем, что каждый ученик задает вопросы: «А что это за окошко? Почему у всех приложений так красиво, а у нас черный экран и белые буквы? Почему я пришел изучать разработку приложений, а вынужден делать что-то для сисадминов в консоли?».
Так что я решил проверить свою теорию — можно ли пройти основы программирования в PIX Studio. Почему? Во-первых, темы из учебного плана с легкостью осваиваются и реализуются в продукте PIX Studio, а во-вторых, можно подключить готовые модули, которым лишь нужно что-то дать и они заработают. (Ну, а если вам интересно продвинутое владение – никто не запрещает писать что-то свое.)
И вот что из этого получилось.
Почему PIX Studio? (кроме того, что я ее разрабатываю и знаю вдоль и поперек, кхе-кхе). Это отечественная среда разработки программных роботов. В ее основе лежит C# и взаимодействие с разными модулями (активностями). Среда разработки довольно гибко настраиваемая, поэтому любую программу можно написать:
-
кодом,
-
через последовательность активностей,
-
или вообще графически (через блок-схемы).
Это большое преимущество для тех, кто не знаком с разработкой. Представьте себя в 7-ом классе, вы приходите на урок информатики, и вместо хождения по учебникам, заучиванию команд в разных языках программирования, вы узнаете о программных роботах, которые уже существуют. И получаете инструмент по созданию роботов и на практическом опыте понимаете, как программировать.
Действия робота выстраиваем в последовательности, соединяем через переменные его работу и ура! Мы работаем! Таким образом, вы, как преподаватель, получите не только тот же опыт программирования, но и добавите новейшие методы, научите новое поколение работать на современном отечественном программного обеспечении, откроете для детей новый мир роботизации!
Да, переход от Visual Studio к PIX Studio был не из простых — все мои заготовки по коду пришлось удалить и переделать, но мы же боремся за качество и улучшение образования придется пострадать.
Во-первых, большинство задач курса программирования строятся на понимании простейшей алгоритмики через консоль. При этом нельзя просто так взять и написать программу в PIX Studio, которая выводила бы данные в консоли, ее просто там нет. Придется переделать все взаимодействия с пользователем в виде активностей «Окно ввода» и «Окно вывода».
Во-вторых, большинство программ довольно просты в написании, и время написания кода «аа = bb/cc» в стандартном IDE быстрее. В PIX Studio парадигма написания программ другая, потому что это low-code платформа, а не полноценный редактор создания софта. Поэтому я переделал первые модули учебной программы с понимания алгоритмики и действий на работу в PIX Studio. Да, мы немного отсрочили важные темы разработки, однако, думаю, что полезно выделить 2 академических часа на объяснение работы low-code платформы. Совместно написать пару простейших приложений «Hello World!» и объяснить что такое in и out параметры, как создавать переменные и переориентировать объяснение программирования на новые рельсы.
В-третьих, мы, как преподаватели, получаем свободу действий. У всех бывали такие случаи, что некоторые ученики уже знали ту или иную тему. Уже разрабатывали или же вообще обучались дома программированию. В рамках стандартного пакета IDE преподаватели не спешат нагружать учеников заданиями и уникальными проектами, поэтому этим «прошаренным детишкам» становится неинтересно и они уходят с курса обучения. А вот в PIX Studio можно сделать одну и ту же задачу как минимум тремя (!) разными способами. И это не про стиль написания кода, а про возможности реализации программы. Программу можно составить в виде low-code взаимодействия активностей (просто перетащить нужные шаги и соединить их), можно составить блок схему (технология похожа на первую, однако действия придется соединять стрелочками и обосновывать каждый шаг), а еще любую программу можно написать через одну активность «Выполнить C# код», в которой полностью идентично можно написать программу, которую писали на основе любой другой IDE. Скажем так, появились 3 способа реализации и они имеют разный уровень сложности. И это круто, ведь мы можем выдавать задания, исходя из уровня ученика! Индивидуальный подход!
Если преподаватель изменит и дополнит структуру плана, выделит пару занятий на освоение темы, о роботах, роботизации — дети получат уникальный опыт, который отражается в знакомстве с новым и прогрессивным направлением в науке.
Не верите, что такое возможно? А я сейчас докажу.
Примеры решения задач
А теперь рассмотрим возможности реализации учебного плана на этой программе, а также рассмотрим примеры решения типовых задач.
Робот (скрипт программы) состоит из действий (активностей). В списке активностей можно найти различные действия и их описание. Можем ознакомиться с списком «базовых активностей». Это лишь малая часть того, что доступно после установки. (рис. 1, 2, 3).



Попробуем решить 2 пробных задачи, которые встречаются в каждом учебном плане по информатике.
Задача 1. Сравнение чисел
Даны три целых числа. Необходимо найти количество положительных чисел в исходном наборе.
Решение (рис. 4, 5, 6, 7): Разработаем программного робота, который по введенным трем цифрам пройдется по каждому значению и подсчитает положительные числа.

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

Усложняем задачу для «прошаренных учеников»: запрещаем пользоваться активностями условия и ставим ограничение, что после ввода и до вывода должна быть расположена только 1 активность – Выполнить C# код. В которой ученик на чистом C# коде опишет эти условия и реализацию.
При запуске этого алгоритма мы получим следующий результат. Сначала программа попросит нас ввести входные числа, затем выдаст результат.


Вот и все, задача решена, и у нас, как у преподавателей большая вариативность решения. Можем через блок-схемы, можем путем визуальной разработки через активности, а можем и через чистый C# код. Ура! Задача решена! Идем далее, возьмем, что-нибудь посложнее.
Задача 2. Простейшие банковские операции
Дано: Начальный вклад в банке равен 1000 руб. Через каждый месяц размер вклада увеличивается на P процентов от имеющейся суммы (P — вещественное число, 0 < P < 25). По данному P определить, через сколько месяцев размер вклада превысит 1100 руб., и вывести найденное количество месяцев K (целое число) и итоговый размер вклада S (вещественное число).
Решение (рис. 8, 9, 10): Разработаем робота, который получает на вход размер вклада и процентную ставку. Далее вызовем цикл и построим алгоритм на расчет ежемесячной прибыли. Изменим слегка вводную информацию — пусть она будет задана роботу в качестве параметров. Получим такой вид:

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

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

Подведем итоги
Информатика — молодой предмет в школах (по сравнению с математикой или физикой), однако учебные планы уже глубоко интегрированы в работу с привычными редакторами кода, большинство методичек передаются по поколениям, а любовь к консоли прививается с раннего возраста. Не призываю устраивать революцию в образовании и внедрять новый IDE во все учебные планы. Но так хочется предложить и реализовать что-то новое! Переработать хотя бы часть информации и давать не только «сложившуюся годами базу», но и знакомить с необычными методами работы. Например, в курсе основ программирования можно написать программу для анализа файлов в определенной папке на рабочем столе для поиска нужной информации. А еще интегрировать в учебные программы искусственный интеллект, анализ больших данных и оптическое распознавание.
Мы не будем рассматривать полное погружение в эти технологии, но благодаря модульным активностям это и не требуется. Описание технологий, инструкции по запуску и работе уже давно описаны в разных источниках. Наша задача — взять, перетянуть, написать пару слов в поля и нажать пуск.
Уникальность детского сознания заключается в том, что необходимо как можно быстрее дойти до результата своей деятельности. Только тогда концентрация и энтузиазм останутся на высоком уровне. Нельзя давать детям слишком долгую разработку приложения без видимых изменений и результатов. PIX Studio может изменить этот процесс настолько, что дети уже не захотят пользоваться чем-то другим, ведь здесь все просто и гибко работает. Результат сразу виден в красивой рамочке с кнопочкой.
По полученным данным, отечественная среда разработки роботов является инструментом для обучения программированию. Она использует интерактивный интерфейс, чтобы помочь ученикам визуально понять концепции программирования, такие как переменные, условные операторы и циклы. Студия предлагает графический пользовательский интерфейс для упрощения процесса программирования для начинающих, а также текстовый редактор для более опытных пользователей. Таким образом, ученики могут прогрессировать в своем обучении и переходить к более сложным концепциям программирования.
Список действий робота пополняется, а возможности применения растут с каждым днем. В целом, интерактивная среда является мощным инструментом для обучения программированию в современной педагогике.
Но а что же получил я, как преподаватель?
Первое: более быструю установку среды разработки и легковесность решения.
Второе: большое комьюнити, которое помогает при изучении продукта и новых аспектов разработки.
Третье: ускорение восприятия новых технологий детьми, теперь им не нужно показывать миллионы видео и презентаций, какие программы они в будущем будут делать — они в состоянии написать их уже сейчас.
Четвертое: повышение возможностей написания новых программ, не нужно более объяснять про сложный технологический слой, развертывать сервера, настраивать десятки программных пакетов, а достаточно докачать нужные программные пакеты в самой PIX Studio и заниматься прогрессивными направлениями, такими как ML, GPT, OCR и другими.
Надеюсь, вы опробуете эту программу, и примените в своей жизни немного роботизации. А если есть вопросы или предложения, что еще интересного внедрить в знакомство с основами программирования, буду ждать вас в комментариях!
ссылка на оригинал статьи https://habr.com/ru/articles/890946/
Добавить комментарий