3.ПРАКТИКА / SEM1 / LITERATURA / ИНФО_№12_2003
.doc
С. М. Окулов,
канд. техн. наук, доцент, декан факультета информатики Вятского государственного гуманитарного университета
КОГНИТИВНАЯ ИНФОРМАТИКА
В предлагаемой статье рассматривается проблема, которую можно было бы сформулировать следующим образом: «как деятельность, связанная с изучением программирования и информатики в целом, влияет на развитие интеллекта школьника» (этой проблеме посвящена одна из последних работ автора [1]). Решение указанной проблемы позволит в определенной степени уточнить цели и задачи курса информатики.
Естественно, что при любом обучении любому предмету интеллект так или иначе развивается, но это малопродуктивное утверждение. Возможна ли целенаправленная деятельность на развитие интеллекта с учетом тех результатов, которые получены в смежных с информатикой науках, и потенциала самого предмета? Этот вопрос возник не сегодня, он является закономерным итогом процесса развития образовательной информатики. Характеризуя ее нынешнее состояние, академик РАО А. А. Кузнецов утверждает: «Главной целью образования становится формирование целостного мировоззрения, предполагающего новый способ мышления и деятельности человека (курсив мой. — С. О.). Роль изучения информатики в формировании такого мировоззрения трудно переоценить. Именно поэтому формирование научной картины мира и становится сейчас приоритетной задачей в системе задач изучения информатики в школе. Не замечать эту тенденцию или сводить мировоззренческие аспекты изучения информатики к роли информационных технологий в развитии общества (как это пытаются делать некоторые авторы) уже нельзя» [2]. Итак, требуется формировать новый способ мышления, соответственно развивать мышление (интеллект в действии), и осмысление этого положения, на наш взгляд, первоочередная задача педагогической науки и практики. Выскажем следующую гипотезу: уточнение целей образования школьников в области информатики будет происходить (с учетом всех предыдущих достижений — и в этом заключается диалектика процесса) в направлении целенаправленного развития интеллекта школьника. Не отвергать предыдущие достижения (алгоритмическую культуру, математическое моделирование, информационные технологии и т. д.), а отрицать, использовать их в новом качестве на новом витке развития. Используя прием М. П. Лапчика [3], изобразим схематично эволюцию целей образования школьников в области информатики: алгоритмическая культура => компьютерная грамотность => информационная культура + развитие интеллекта.
Понятие «интеллект» как одну из предельных абстракций трудно определить. Оно имеет длительный процесс эволюции, начиная с Платона. Против рассмотрения интеллекта как некой «фиксированной величины», которую можно измерить в лабораторных условиях, возражал один из выдающихся психологов XX столетия — Л. С. Выготский. Наилучшим показателем интеллекта, с его точки зрения, является то, как люди осваивают новое, а не уровень знаний, которые они накопили к определенному моменту времени. Считается, что интеллект есть некая суперпозиция всех его многообразных форм: сенсомоторных, образных, вербальных, знаково-символических, дискурсивных и др. С интеллектом связаны способности формировать понятия, рассуждать, решать задачи (в том числе и творческие), запоминать и воспринимать (высшие формы познания человеком действительности). Однако определять нечто через его свойства, конечно, допустимо, но, в соответствии с современной трактовкой рассматриваемого понятия когнитивными психологами, считаем, что интеллект есть некая психическая реальность и обладает как нечто целое определенными связями, структурой, которые не определяются отдельными свойствами.
Когнитивные психологи исследуют принципы и методы, которыми управляется феномен человеческого познания. Познание охватывает ментальные процессы, такие, как восприятие, мышление, память, оценка, планирование и организация. Когнитивная психология — это не есть нечто единое, сцементированное, скорее она объединяет в себе множество теорий, общей базой которых является «картография» структуры интеллекта.
Исследования когнитивных психологов приобрели совершенно новое звучание, после того как А. Ньюэллом и Г. Саймоном в 1958 г. была высказана гипотеза о том, что интеллект можно рассматривать как систему обработки информации, подобную компьютеру (компьютерная метафора). Эта гипотеза породила лавину исследований и теоретических формулировок, основанных на компьютерных моделях (см., например, [4, 5]). Не вдаваясь в анализ научной (и не очень) дискуссии на тему «могут ли машины мыслить», отметим самую суть. Для того чтобы осуществлять компьютерное моделирование работы интеллекта, требуется понять, как работает интеллект. При этом создание модели и ее
«прокатка» вносят новое в понимание того, что собой представляет интеллект. И действительно, за последние десятилетия когнитивные психологи, используя достижения информатики, продвинулись далеко вперед в понимании природы интеллекта.
А теперь сделаем мысленно обратный ход и посмотрим, можно ли, используя результаты когнитивных психологов, понять, как деятельность в информатике, точнее — обучение информатике, влияет на развитие интеллекта. Учитывая, что построения когнитивных психологов носят в определенной степени редукционистский характер, сознательно уменьшим область рассмотрения только интеллектом и не будем рассматривать теории личности в целом. Возникает вопрос: если в результате будет построена система обучения информатике, учитывающая достижения когнитивных психологов в области понимания природы становления (развития) интеллекта, отражающая (на фундаментальном уровне) состояние настоящей информатики, то имеем ли мы право назвать эту систему «когнитивной информатикой»?
Не останавливаясь на обзоре различных теорий интеллекта (это сделано в работе автора [1]), считаем (основываясь на исследовании М. А. Холодной [6], в котором интеллект рассматривается как некая цельная психическая структура), что интеллект есть форма организации ментального (умственного) опыта. Понятие опыта мы здесь рассматриваем не как чувственно-эмпирические формы познания действительности и не сводим к полученным знаниям, умениям, навыкам. Ментальный опыт трактуется как сформированные психические образования (структуры) человека, обеспечивающие хранение, упорядочения и преобразования наличной и поступающей информации; осознанную и неосознанную регуляцию деятельности человека (планирование, предвосхищение, оценку, «притормаживание», выбор стратегии); выбор направления поиска при решении творческих проблем. Итак, если будет создана среда обучения для эффективного формирования ментального опыта школьника, то можно ли говорить о том, что в результате мы формируем его интеллект?
Результативность среды, ее действительная эффективность, обеспечивается в том случае, если она работает в реальном масштабе времени (временных задержек между любым действием школьника и реакцией среды на действие быть не должно); имеет дело с динамическими моделями (программа — это динамическая модель конкретной задачи); создает условия для реализации прохождения любого познавательного процесса, как последовательного восхождения по сходящейся спирали [7] (процесс отладки программ, ее последовательное уточнение имитирует этот процесс).
В содержательном наполнении среды должен отражаться исторический процесс развития одной из сфер деятельности человека и ее научного осмысления. Программирование, видимо, одна из ключевых информационных технологий. Понимание этого положения отражено в образовательных стандартах высшей школы [8], но, к сожалению, в школьной информатике ему уделяется все меньше внимания. Хотя, безусловно, программирование является одной из немногих сфер деятельности человека, в которой ему, не вставая из-за рабочего стола, приходится иметь дело со сверхсложными системами [9].
Попытаемся выделить особенности программирования как учебного вида деятельности. Есть задача, проблема. Ученику требуется найти решение путем разработки соответствующей программы. Если путь нахождения решения известен (прорешивались аналогичные задачи), то задействуется ассоциативная составляющая интеллекта и работа сводится к набору программы и ее отладке. Если решаются творческие задачи, то в этом случае за постановкой задачи следует выдвижение гипотезы и разработка первого варианта программы. Затем программа подвергается исследованию, экспериментальной проверке с помощью системы тестов, ожидаемые результаты сравниваются с полученными. Ученику мысленно следует предсказать, предвидеть результаты работы программы. Наступает фаза или экспериментального опровержения, или экспериментального подтверждения.
Итак, программирование можно рассматривать как разработку плана будущих действий по решению задачи (проблемы). Необходимо предвидеть эти будущие действия во всем многообразии возникающих вариантов. Адекватный этому предвидению тип мышления называют алгоритмическим, но правильнее было бы говорить о творческом мышлении. Алгоритмический аспект — это управление действиями (в психологии это называют процедурными знаниями), но понятие «программа» более широкое, чем набор управляющих конструкций.
Деятельность при программировании характеризуется:
Готовностью к планированию. Есть два типа школьников: одни при получении задания сразу «хватаются за компьютер» и начинают что-то делать; вторые приступают к работе только после продумывания, составления плана (хотя бы в общих чертах). «Дурные» привычки у школьников первого типа быстро изживаются, ибо постоянно приводят к отрицательному результату — получить работоспособную программу им удается достаточно редко. Второй тип деятельности характерен для профессионалов в программировании.
Гибкостью. Отсутствие гибкости (ригидность) и догматизм характеризуют «ограниченный ум». Гибкая позиция — это готовность рассматривать новые варианты, пытаться сделать что-то иначе, менять свою точку зрения. Программирование в своей сути обязывает не торопиться с окончательным решением, проверить программу при еще одних исходных данных и при еще одних и т. д. Программирование обязывает четко определить допустимую область значений исходных данных, при которых данный вариант программы работоспособен. Формируются качества, если так можно выразиться, открытого ума, способного подождать с вынесением суждений, собрать больше информации, прояснить для себя более сложные моменты.
Настойчивостью. Здесь тоже можно говорить о двух типах учеников в зависимости от их отношения к решению задач, разработке программы. Даже простая программа требует отладки, и вот ученики первого типа бросают доведение любой программы до работоспособного состояния, если она сразу не выдала какой-то результат, или могут исправлять только простейшие типы ошибок. Ученики второго типа получают удовольствие от процесса тестирования программы и поиска ошибок. Исследуя проблему, они обычно создают несколько вариантов программы. В процессе обучения первый тип плавно перетекает во второй, ибо этого требует среда — необходимы способность доводить дело до конца, терпение и настойчивость.
Готовностью исправлять свои ошибки (контролируемостью). «Два раза наступать на одни и те же грабли» — признак дурного тона в мышлении. Заниматься процессом оправдания своих ошибок бессмысленно, ибо для компьютера это не имеет никакого значения, — ошибки следует исправлять и не повторять. Ученикам приходится отвергать свои решения, как бы они ни были влюблены в них. Такой опыт учит гибче относиться к мнению окружающих, к противоположным точкам зрения — искать в них рациональное зерно, т. е. совершенствовать свое мышление.
Осознанием (метапознанием). При программировании четко прослеживается: что я как действующий за компьютером знаю, что я понимаю. Без сосредоточения на собственном мыслительном процессе, на результатах собственного мышления, другими словами — на критической оценке полученных результатов, программу (решение) просто-напросто не сделать. Заметим, что дидактический потенциал этапа тестирования программ пока еще не оценен. Это один из мощнейших инструментов формирования ментального опыта школьника.
Поиском различных вариантов решения задач. Это естественное качество работы программиста, ибо у каждой программы есть ограничения и она создается с использованием ограниченного инструментария. Например, изменение размерности входных данных требует, как правило, поиска других методов решения. Отметим еще одну возможность (не индивидуальную) при написании программ. Если задача решается в классе, то происходит обмен идеями, методами между школьниками. Ищется наилучший вариант решения, оценивается время его работы и т. д. Развиваются умения слушать и слышать другого, коммуникативные навыки. Практика программирования первой пришедшей на ум идеи уходит в прошлое уже через полгода работы.
Несколько слов о структурном принципе деятельности в программировании. Принцип структуризации лежит в основе любой интеллектуальной деятельности, т. е. он универсален. Выскажем утверждение о том, что любая деятельность может быть описана с помощью ограниченного числа структурных конструкций, логических инвариантов этого вида деятельности. Программа обязана иметь хорошую структуру, хороший гештальт, что облегчает ее понимание как сверхсложной системы и упрощает работу с ней. Мы получаем укрупнение оперативных единиц восприятия (семантически целостностных образований, обеспечивающих возможность практически одноактного восприятия объектов внешнего мира независимо от числа содержащихся в них признаков). Эта мысль, начиная с работ классиков, пронизывает все развитие технологий программирования. Исторически программирование — первый тип деятельности, к которому был применен в явном виде принцип структуризации. В чем его суть? Человеческие знания, выраженные с помощью любого письменного языка, можно разбить на две части — императивные и декларативные. Императивные (процедурные, алгоритмические, операторные) знания содержат сведения о последовательности действий. Декларативные (дескриптивные, атрибутивные, описательные) — это знания не о действиях, а об описаниях информационных объектов. Если на втором витке развития технологий программирования речь шла о структуризации императивных знаний (в основном), императивной части программы, то начиная с объектно-ориентированных технологий идет структуризация по данным, а затем и по интерфейсу.
Структурированная программа, ее фрагменты воспринимаются как нечто целое, а не на уровне отдельных управляющих конструкций или типов данных. Элементы структуры (в частности, процедуры, функции) воспринимаются и как некий единый языковой знак, и как некий наглядный образ, и как некое действие (или действия). Развитие интеллекта, как отмечал Дж. Брунер, осуществляется по мере овладения этими тремя формами представления информации [10]. Мы уходим только от вербальной формы подачи информации (как в обычном традиционном обучении) и работаем в системе трех модальностей — через знак, через образ и на сенсорном уровне. Структурный принцип деятельности обеспечивает как улучшение понимаемости (когнитивное качество) программы, так и уменьшение интеллектуальных усилий (принцип Р. Декарта*), требуемых на ее создание, получение результата решения проблемы. Еще один аспект. При структурном программировании достигается определенная согласованность когнитивных характеристик восприятия человеком информации и текста программы, достигается как бы взаимная адаптация, что, безусловно, влияет на продуктивность работы интеллекта, на его развитие. Деятельность при программировании можно назвать направленной на получение желаемого результата. Она не просто активна, она сверхактивна, и мы видим возможность реализации концепции развивающего обучения в полном объеме. Обеспечивается не только управление мыслительными процессами школьника извне, но и рациональное самоуправление познающего субъекта в процессе учебной деятельности (no H. А. Менчинской [11]). Развивается культура внутренних процессов (по С. Л. Рубинштейну [12]). Происходит процесс осознанной саморегуляции субъекта — основа становления общих умственных способностей человека, его одаренности (по Н. С. Лейтесу [13]). Деятельность при программировании показывает школьнику прежде всего, как он должен думать, а не что он должен думать, хотя и это, естественно, подразумевается. Проблема (задача) постигается не через ее наглядное, внешнее сходство с другими (ассоциативная теория), а через ее скрытые конкретные взаимосвязи, через противоречивый путь ее внутреннего развития (по Д. Б. Эльконину и В. В. Давыдову [14]), естественно, при соответствующем построении курса обучения. И, резюмируя, при обучении программированию есть возможность создать условия, обеспечивающие эффективное формирование того, что когнитивные психологи называют ментальным опытом человека.
Итак, термин «когнитивная информатика» введен для обозначения нового подхода к обучению информатике, в рамках которого осуществляется целенаправленная деятельность по развитию интеллекта школьника. Данная методика обучения информатике не появилась на пустом месте, она сформировалась в результате конкретной, практической работы, по результатам которой изданы книги [15, 16]. Она внедрена в физико-математическом лицее г. Кирова, ученики которого в течение 10 последних лет получают дипломы 1-й степени на российских олимпиадах по информатике. И главное — они занимают достойное место в жизни (независимо от выбранной специальности), соответствующее уровню развития их интеллекта.
Литература
-
Окулов С. М. Когнитивная информатика. Киров: Изд-во ВятГГУ, 2003.
-
Кузнецов А. А. О концепции содержания образовательной области «Информатика» в 12-летней школе//Информатика и образование. 2000. № 7.
-
Лапчик М. П., Семакин И. Г.,Хеннер Е. К Методика преподавания информатики: Учебное пособие. М.: Академия, 2001.
-
Сергин В. Мозг как вычислительная система//Информатика и образование. 1987. № 6.
-
Усольцев А. П. Информационная модель мышления//Информатика и образование. 2002. №4.
-
Холодная М.А. Психология интеллекта. Парадоксы исследования. СПб.: Питер, 2002.
-
Авдеев Р. Ф. Философия информационной цивилизации. М.: Владос, 1994.
-
Окулов С. М. Стандарты по информатике в вузе: пути совершенствования//Стандарты и мониторинг в образовании. 2002. № 1.
-
Буч Г. Объектно-ориентированное проектирование с примерами применения. М.: Конкорд, 1992.
-
Брунер Дж. Психология познания. М.: Прогресс, 1977.
-
Менчинская И. А. Проблема учения и умственного развития. М.: Педагогика, 1989.
-
Рубинштейн С. Л. Основы общей психологии. СПб.: Питер, 1999.
13. Лейтес N. С. Умственные способности и возраст. М.: Педагогика, 1971.
-
Давыдов В. В. Теория развивающего обучения. М.: Педагогика, 1996.
-
Окулов С. М. Основы программирования. М.: ЮНИМЕДИАСТАЙЛ, 2002.
-
Окулов С. М. Программирование в алгоритмах. М.: БИНОМ, 2002.
* Р. Декарт писал в своем философском учении: «Под методом же я разумею достоверные и легкие правила, строго соблюдая которые человек никогда не примет ничего ложного за истинное» и сможет добывать новое знание — все, что он способен познать, — «без излишней траты умственных сил». Для сферы образования это положение Р. Декарта можно сформулировать как требование минимизации умственных усилий учащегося, затрачиваемых на единицу прочно усваиваемых знаний, умений и навыков. Декарт утверждал, что в основании всех наук лежит одна и та же тождественная себе человеческая мудрость, относящаяся к разным наукам, как солнце к различным освещаемым предметам. Для образования, следовательно, было бы гораздо полезнее, чем обучать «многознанию», обратиться к обучению, хотя бы в рамках отдельных предметов, законам самой этой мудрости. На современном языке мудрость — это разум, интеллект. Так что лучше было бы сказать не на единицу знаний, умений, навыков, а на единицу развития интеллекта. Правда, «линейки» для измерения второго, вероятно, нет, если не рассматривать методы факторного анализа интеллекта, результаты которого носят относительный характер.