Наверное, каждый учитель информатики находиться в поиске эффективного пути обучения детей основам программирования (кодинг). Скорее всего, что каждый из нас проводил собственное исследование и изучал зарубежный опыт по этому вопросу. В этой статье мы поделимся несколькими мыслями на этот счет.
Первое, о чем хотелось бы поговорить – выбор языка программирования. Не секрет, что сегодня во многих странах идет сплошная «пайтонизация» информатики. Python – это своеобразный тренд. Безусловно, Python время от времени занимает вершины популярных рейтингов ИТ-индустрии. Однако очень часто его оттуда оттесняют другие языки, например, JavaScript. Потому не все так однозначно. Так какой из языков все же выбрать для кодинга? Не поверите – ни Python, ни JavaScript, хотя у второго больше шансов.
И это – С#!!!
Специалисты из-за Атлантического океана считают, что на первом языке должна быть некая «сишка» – С, С++, С#. Первый язык должен быть строгим. Примерный возраст детей – 12+. Хотя есть такое мнение, что иногда полезно учить два языка параллельно: со строгой типизацией и гибкой. Чаще всего в этой связке C#/JS. Так вот, какую из «сишек» лучше учить? Здесь все просто. Абсолютная рекомендация специалистов Канады и США – С#! И, честно, мы не удивлены. Более того, учителя ОРТ практикуют С#.
Но почему С#? Ответ однозначен и прост: был создан и поддерживается группой инженеров Microsoft. Еще один довод. С# это самая понятная и элегантная «сишка».
Идем дальше. Где написать код?
Здесь можно спорить, но лучше всего, все же, приучать детей писать код в профессиональной среде, которая имеет дебаггер, автозаполнение, подсказки, системы быстрого набора кода и тд. Для FrontEnd часто используется Visual Studio Code. Детям этот инструмент заходил очень хорошо.
Здесь особенно ничего не изменилось. И рекомендация очень проста: для изучения С# лучше всего выбрать Visual Studio от Microsoft. Но сама работа в Visual Studio дает учащимся навыки работы в профессиональной среде. Что говорят специалисты из-за Океана? Говорят, что лучше всего изучать программирование прикладного характера, например, с использованием плат. Ведь именно на платах можно изучать программирование с основами робототехники, основами схемотехники и микроэлектроники, разработки игр и т.д.
Но программирование плат через VS предполагает работу с инструментами среды, добавления библиотек и так далее. И фишка в том, что дети могут научиться делать действительно профессиональные вещи.
Из всех существующих решений для программирования мы выбрали BrainPad. В этом случае данное решение позволяет научить учеников еще двум интересным и профессиональным вещам: TinyCLR OS и NuGet. Давайте о них поговорим.
TinyCLR OS – это современная управляемая локальная операционная система для разработчиков, которая передает .NET C# на встроенные устройства, например, платы. Она предлагает полные возможности отладки, что позволяет просматривать код и проверять переменные прямо с Microsoft Visual Studio. Дорогие инструменты для настройки кода не требуются. ОС содержит обширный список функций.
NuGet – система управления пакетами для разработки платформы Microsoft, в первую очередь библиотеки .NET Framework. На решениях BrainPad реализована возможность разно векторного программирования. Поэтому, для того что программировать работа или писать игру на BrainPad – необходимо просто добавить соответствующий NuGet пакет в свой проект на Visual Studio. Как показывает практика – это совсем не сложно и учащиеся справляются с этой задачей «на ура». И самое важное, что такие навыки позволяют учащимся значительно лучше понимать структуру создания крупных проектов на .NET C#.
Итог. Мы рассказали про один из вариантов обучения детей 12+ основам программирования. Это C#+ Visual Studio+BrainPad. И никаких проблем, все вокруг учат Python. Хотя на BrainPad тоже можно изучать успешно Python. Все исследования были проведены на базе УВК Симха, г. Киев.
А какой путь вы избрали?