В поддержку категории Технология проекта «Общественное конструирование образа выпускника российской школы 2020». Пример функции “Конструирование”
Я думаю, что в результате постоянной практики создания сложных статей простых страниц в вики и, особенно, в результате практики создания цифровых историй и моделей в мультиагентных средах разного рода, у меня формируется способность конструировать. Что такое конструирование в самом простом случае? Умение собрать объект из множества составных частей. Например, у нас есть множество кирпичиков разного типа. Эти кирпичики могут соединяться между собой. Из простых кирпичиков могут выстраиваться более сложные конструкции. Элементарный и всем известный пример – конструкторы в среде Лего.
По такому же принципу может быть построены не только физические, но и программные среды. Например, Scratch с его блоками, из которых можно собирать более сложные блоки. То же самое в среде NetLogo - мы можем конструировать поведение отдельных агентов и групп агентов, собирая поведение из существующих в языке строительных блоков. Важно, что здесь блоки определяют функции поведения объекта, и мы понимаем, что могут существовать строительные конструкции, из которых выстраивается сложное поведение компьютерного агента, что на основе взаимодействия строительных блоков он может параллельно идти, говорить, думать и т.д.
Мне кажется, что деятельность внутри различных сред программирования всегда содержат момент конструирования. Мы создаем и развиваем среду, в которой объектам приписываются свойства и функции. Эти свойства и функции могут служить основанием для создания новых свойств и функций.
Развитие языка программирования, так же как и любого живого языка, связано с появлением новых слов, которые описывают часть функциональной области. Участники сообщества разработчиков предлагают новые слова (команды и функции). Эти слова оцениваются сообществом и либо остаются в словаре, либо исчезают из словаря данного языка. Это правило применимо и к разговорным языкам и к языкам программирования. Просто в языке программирования момент соучастия и сотворчества в развитии языка более формализован. Написал полезную функцию, – её включили в следующий релиз языка, либо в какой-то репозиторий, копилку расширений. И тут ты знаешь, что это именно ты первым ввёл этот объект в обращение. В живом языке происходят сходные процессы, только авторство слов чаще всего скрыто и мало кого интересует.
При этом оценка функции или слова сообществом заключается не в том, что этому слову ставят галочки, плюсы и лайки, а в том, что этим словом и этой функцией начинают пользоваться. Слова и функции как раз и создаются в надежде на то, что этими словами и функциями будут пользоваться другие участники сообщества. Повторное использование слова, функции, Scratch-проекта, вики-статьи – главная награда. Собственно, это все эгоистичные мемы, которых ничего кроме размножения и распространения не интересует.
В проекте конструирования портрета выпускника 2020 для меня самое интересное в том, что это совместное конструирование. При этом первый этап – формирование сообщества разработчиков самой среды конструирования. Это люди, которые привносят в язык описания качеств, свойств и функций выпускника самые первые слова. Изначально на http://construct.crowdexpert.ru не было никаких готовых объектов. Были только категории - ящики, по которым можно было раскладывать блоки. Эти ящики очень похожи на ящики команд в Scratch. Только ящики Scratch - движение, контроль, рисование, музыка, переменные. А ящики на http://construct.crowdexpert.ru это мышление, познание, технологии, общество, взаимодействия..
При этом у всех участников есть предшествующий опыт деятельности в других сообществах в качестве разработчиков и пользователей разных профессиональных языков. Естественно, что они приходят со своими готовыми блоками и хотят эти привычные блоки использовать в новой среде.
Некоторые слова и некоторые функции останутся в общем словаре, некоторые будут использовать только в ограниченных словарях сообществ. Сейчас мне важно обсудить, что мы в короткие сроки собираем среду, в которой будут представлены свойства выпускника. С моей точки зрения, для раздела Технологии это – функции. У функции есть название и есть описание того, что происходит в результате ее выполнения.
Я даже могу использовать инструментарий среды Scratch для того, чтобы представлять функции выпускника. Например
Блоки функций, которые мы добавляем в среду, изначально должны быть просты и понятны всем участникам сообщества. Сложные составные блоки не могут вводиться до того, как введены простые блоки. В дальнейшем мы можем собирать из простых функций более сложные блоки, если в этом будет необходимость.
Мысль, которую я тут пытаюсь прокачать у себя в сознании - опыт конструирования и программирования может быть использован и при создании продуктов изначально далеких от программирования. Это еще один дополнительный способ рассмотрение мира и возможность переосмысления его в новых терминах. Блоки, из которых можно собирать образ, выглядят значительно веселее и функциональнее, чем деревья таксономий.