Несколько лет назад я преподавал в классе с планшетами. Возрастной диапазон составлял от 7 до 13 лет, поэтому, конечно, студенты изо всех сил старались установить игры и социальные сети на свои планшеты.

Очевидно, на планшетах было специальное программное обеспечение, которое блокировало это.

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

Тогда я впервые увидел Скретча.

Scratch - это язык программирования, разработанный Массачусетским технологическим институтом для обучения детей программированию, одновременно превращая его в игру и устраняя синтаксические ошибки.

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

Это удивительно во многих отношениях.

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

Кроме того, это просто похоже на игру. Обман - лучшее.

Эти простые кусочки головоломки скрывают так много концепций и работают безупречно. Пользователь также может сразу увидеть, какое поведение вызывает логика. Фигуры даже указывают, что это - данные или условие. Scratch поддерживает даже объекты. Возможности безграничны.

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

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