Конструирование функций  для образа выпускника 2020

В поддержку категории Технология проекта «Общественное конструирование образа выпускника российской школы 2020». Пример функции “Конструирование”

Я думаю, что в результате постоянной практики создания сложных  статей  простых страниц в вики и, особенно, в результате практики создания цифровых историй и моделей в мультиагентных средах разного рода,  у меня формируется способность конструировать. Что такое конструирование  в самом простом случае? Умение собрать объект из множества составных частей. Например, у нас  есть множество кирпичиков разного  типа. Эти кирпичики могут соединяться  между собой. Из простых кирпичиков могут выстраиваться более сложные  конструкции. Элементарный и всем известный  пример – конструкторы в среде Лего.

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

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

Развитие языка программирования, так же как и любого живого языка, связано  с появлением новых слов, которые  описывают часть функциональной области. Участники сообщества разработчиков  предлагают новые слова (команды и функции). Эти слова  оцениваются сообществом и либо остаются в словаре, либо исчезают из словаря данного языка.  Это  правило применимо и к разговорным языкам и к языкам программирования. Просто в языке программирования момент соучастия и сотворчества в развитии языка более формализован. Написал полезную функцию, – её включили в следующий релиз языка, либо в какой-то репозиторий, копилку расширений. И тут ты знаешь, что это именно ты первым ввёл этот объект в обращение. В живом языке происходят сходные процессы, только авторство слов чаще всего скрыто и мало кого интересует.

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

В проекте конструирования портрета выпускника 2020 для меня самое интересное в том, что это совместное конструирование. При этом первый этап – формирование сообщества разработчиков самой среды конструирования. Это люди, которые привносят в язык описания качеств, свойств и функций выпускника самые первые слова. Изначально на http://construct.crowdexpert.ru не было никаких готовых объектов. Были только категории - ящики, по которым можно было раскладывать блоки. Эти ящики очень похожи на ящики команд в Scratch. Только ящики Scratch -  движение, контроль, рисование, музыка, переменные. А ящики на http://construct.crowdexpert.ru это мышление, познание, технологии, общество, взаимодействия.. 

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

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

Я даже могу использовать инструментарий среды Scratch для того, чтобы представлять функции выпускника. Например

 

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

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