Блог Wizual

Это блог проекта Wizual, здесь освещаются все новости проекта, а также новости из области образования детей и визуального программирования.

NAVIGATION - SEARCH

Ликвидируем алгоритмическую неграмотность

Мы живем в обществе знаний. Носителями профессиональных знаний являются специалисты, например, агрономы, нефтяники, микробиологи, технологи, экономисты, химики, врачи. Парадокс в том, что эти люди прекрасно знают свою работу. Они четко знают последовательность выполняемых ими действий, то есть алгоритмы своей работы. А также, что очень важно, алгоритмы предметной области. Но они, увы, не знают, что их знания называются алгоритмами. Эти замечательные специалисты не умеют описывать алгоритмы. Они не умеют расчленять свои знания и выделять среди них алгоритмическую (процедурную) часть. Они не в состоянии выразить свои знания на бумаге в форме алгоритмов. Хорошо ли это? Допустима ли подобная алгоритмическая неосведомленность?

На этот вопрос обычно отвечают так: Конечно, хорошо. Потому что существует разделение труда. Каждый должен заниматься своим делом. Алгоритмы – дело математиков и программистов. А нефтяники, химики, врачи и экономисты совершенно не обязаны знать алгоритмические тонкости. У них, слава богу, своих забот хоть отбавляй! Данная точка зрения требует непредвзятого анализа. Прежде всего, надо ответить на вопрос. В чем причина повсеместно распространенной алгоритмической неграмотности? Неграмотности подавляющего большинства специалистов?

Суть в том, что нынешние алгоритмы (используемые во всем мире) имеют серьезный недостаток. Они чрезвычайно трудны для понимания. Поэтому существующая практика изучения, разработки и эксплуатации алгоритмов является неудовлетворительной. Она требует слишком больших затрат труда и времени. Эти трудозатраты настолько велики, что во много раз превышают реальные резервы времени, которыми располагают люди. Алгоритмическая неграмотность объясняется тем, что в современных условиях изучение алгоритмов является слишком сложным и зачастую непосильным делом. Поэтому работа с алгоритмами для подавляющего большинства профессионалов оказывается невозможной. Данное обстоятельство ставит непреодолимый барьер и не позволяет перейти к массовому овладению алгоритмизацией. Это плохо. Алгоритмическая неграмотность многих умных людей неблагоприятно отражается на развитии общества.

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

Многие группы учащихся по разным причинам не знакомы с алгоритмами и не умеют с ними работать. Они не могут быстро и безошибочно записывать свои знания в форме алгоритмов. Этот недостаток можно устранить. Алгоритмы можно и нужно сделать дружелюбными с помощью когнитивно-эргономических методов. И тогда трудоемкость изучения, разработки и понимания алгоритмов значительно уменьшается. Алгоритмическое мышление становится доступным для всех желающих. Учащиеся приобретают необходимые знания и умения, позволяющие писать, читать, понимать и использовать алгоритмы.

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

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



Часть материала позаимствована из книги:
Паронджанов В. Д. "Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации." – М.: ДМК Пресс; 2012

Чашка чая. Вроде бы все просто, да?

Что может быть проще, чем заварить чашку чая, скажете вы. Но, если это настолько простой процесс, давайте попробуем описать его. Итак, задача: объяснить человеку, как заварить чашку чая.

Заглянем в один из блогов Живого Журнала. Нас встречает хозяин блога Митрич (meatreach).
Лукаво улыбаясь, Митрич говорит:
– Объясните мне, как приготовить чашку чая? По-простому, из пакетика. Я задавал этот вопрос разным людям. И все время повторял: «дайте мне инструкцию, научите меня».
Чаще всего ответ выглядел так:
– Берем чашку, берем пакетик, кладем в чашку. Заливаем водой из
чайника.
– А если в чайнике вода холодная?
– Ну, тогда сначала кипятим.
– А если там воды нет?
– Тогда наливаем воду, потом кипятим, потом наливаем в чашку. Но если ты хочешь, чтобы чай был «правильный»,  сначала надо, чтобы чашка была горячая.

Что же получается? Действуя по такой инструкции, я сначала залью пакетик холодной водой. Потом сожгу чайник, включив его без воды. Потом все-таки заварю чашку чая. И тут же выясню, что чай получился «неправильный». И надо все начинать сначала. А ведь задачка не такая уж и сложная.

Беда в том, что обычный человек не способен сформулировать простой пошаговый алгоритм.

Как же выглядит правильный алгоритм заваривания чашки чая? А вот так:

Шаг 1. Если в чайнике вообще нет или слишком мало воды, надо налить ее.
Шаг 2. Если вода в чайнике холодная, надо вскипятить ее.
Шаг 3. Если нет чистой чашки, надо вымыть грязную.
Шаг 4. Взять чистую чашку.
Шаг 5. Налить полчашки горячей воды, чтобы чашка согрелась.
Шаг 6. Положить в чашку пакетик, долить водой.
Шаг 7. Ждать минуту, помешивать пакетик ложкой.
Шаг 8. Выкинуть пакетик.

Вывод: далеко не каждый человек сможет правильно и конкретно сформулировать алгоритм даже такой простой задачи, как заваривание чашки чая. А что тогда говорить о технических заданиях, технических проектах, инструкциях и законах?


Часть материала позаимствована из книги:
Паронджанов В. Д. "Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации." – М.: ДМК Пресс; 2012

Тотальная алгоритмическая (не)грамотность

Алгоритмы играют в человеческой культуре огромную роль. Они выполняют две функции.
Первая очевидна и общеизвестна. В ХХ веке нашу планету, словно волшебные цветы, усеяли сотни миллионов компьютеров. Компьютеры не могут работать без программ, а в программах «спрятаны» алгоритмы.Следовательно, без алгоритмов не может существовать современная цивилизация.
Вторая функция не менее важна. Алгоритмы оказывают влияние на человеческое мышление, улучшая работу ума. К сожалению, этот процесс идет очень медленно, затрагивая преимущественно программистов и математиков. Все остальные (то есть НЕ программисты), как правило, не знакомы с алгоритмами. Это обстоятельство существенно тормозит интеллектуальное развитие населения.


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

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

Вы думаете, такие навыки нужны только программистам? О, нет, это совсем не так, почитайте законы. Почитайте нормативные акты, инструкции. Почитайте письма Министерства финансов, описывающие правила, алгоритмы и методики ведения бухгалтерского учета. Почитайте регламенты и правила в  государственных органах и частных компаниях. Все эти документы написаны людьми, которые, как бы сказать помягче... не очень сильны по части алгоритмов. Послушайте, как какой-нибудь менеджер, бригадир или прораб объясняет своему сотруднику, что тот должен делать. А еще веселее – найдите менеджера, бригадира или прораба, способного сформулировать пошаговую инструкцию со всеми сопутствующими действиями. И посмотрите на его сотрудника, когда он будет пытаться воспринять эту инструкцию! Вы увидите поистине удивительную картину. У большинства людей отсутствует важнейший навык. Отсутствует умение мыслить алгоритмически.

Забудем про частные примеры. И поднимем уровень обсуждения. Среди многих задач системы образования выделим три:
  1. подготовка квалифицированных пользователей компьютера;
  2. подготовка программистов (в специализированных классах и школах, а также вузах);
  3. овладение алгоритмическим мышлением.

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

ВЫВОДЫ
1. Проблема алгоритмического мышления – это отдельная, самостоятельная и чрезвычайно важная проблема.
2. Существующие средства не позволяют решить проблему.
3. Необходимо коренным образом пересмотреть подход к данной проблеме и использовать новые средства для ее успешного решения.


Часть материала позаимствована из книги:
Паронджанов В. Д. "Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации." – М.: ДМК Пресс; 2012


Игры для детей, развивающие логическое мышление

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

Развитое мышление дает возможность ребенку понять закономерности материального мира, причинно-следственные связи в природе, общественной жизни и межличностных отношениях. Логическое мышление является основополагающим при достижении успеха в жизни. С его помощью человек способен проанализировать любую ситуацию и выбрать наилучший вариант действий в сложившихся условиях. Логическое мышление необходимо постоянно тренировать, лучше всего — с раннего детства, чтобы избежать стереотипного мышления, которое свойственно основной массе людей. С помощью логического мышления вы сможете отделять существенное от второстепенного, находить взаимосвязи между объектами и явлениями, создавать умозаключения, искать и находить подтверждения и опровержения.


Рассмотрим несколько игр, которые превосходно развивают логическое мышление у детей раннего возраста.

1. Исключить лишнее.


Положите перед ребенком ряд каких-то предметов или картинок с предметами, объединенных одной группой: мебель, транспорт, растения, техника, посуда и т.д. И среди этих предметов положите один, который не относится к этой группе. Попросите ребенка найти «лишний» предмет или изображение предмета.


2. Найти общее.


 Здесь надо работать над разными свойствами и качествами предметов. Можно подбирать предметы общие по:
• цвету (яблоко и игрушка — желтые);
• форме (часы и тарелка — круглые);
• предназначению (лампа и свечка – светят);
• размеру (пуговица и бусинка – маленькие);
• смысловой группе (пылесос и веник – предназначены для уборки).
Задача ребенка — понять, по какому признаку вы их объединили, то есть найти общее.


3. Обобщение.


Можно играть с теми же предметами, но суть будет другая. Кладете перед ребенком  предметы одной смысловой группы и просите его назвать, что это такое все вместе. К примеру, яблоко, лимон, груша — фрукты.


4. Классификация.

Кладете перед ребенком предметы из разных смысловых групп или объединенные разными признаками. К примеру:
— зеленые, круглые и разные часы;
— мелкие предметы, продукты, квадратные предметы и т.д.
Задание: разложить предметы по группам.


5. Продолжи ряд.


Предложите
ребенку логическую цепочку предметов. К примеру, пуговица-бусинка-пуговица-бусинка… И попросите продолжить ряд в той же последовательности, предложив необходимые предметы. Можно ряд выкладывать по принципу увеличения: малюсенькая пуговица-маленькая пуговица-средняя пуговица… Можно чередовать цвета: зеленый-зеленый-желтый-желтый-зеленый-зеленый…


6. Найди отличия.


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


7. Чего не хватает?


Ну, пора бы порисовать! Начинайте рисовать какой-то рисунок и в процессе сознательно пропускайте какую-то деталь. Спрашивайте у
ребенка: «Все? Рисунок готов? А чего не хватает?»


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