ГУМАНИТАРНЫЕ АСПЕКТЫ ПРОГРАММИСТСКОГО ОБРАЗОВАНИЯ
Городняя Лидия Васильевна, к.ф.-м.н., доцент, с.н.с. (gorod@iis.nsk.su);
Мурзин Федеор Александрович
Институт систем информатики СО РАН им. А.П. Ершова; Новосибирский государственный университет
Аннотация.
Представлен курс «Психология программирования», посвященный человеческим факторам в программировании. Эти факторы проявляются на всех фазах жизненного цикла информационных систем, влияют на успех их применения, на трудоемкость, сложность, надежность и безопасность эволюции информационных ресурсов. Курс иллюстрирован примерами из опыта проектов, создаваемых при участии студентов.
По традиции образование программистов подразумевает физико-математическую или техническую базу. Важность гуманитарных аспектов для карьеры ИТ специалиста давно не подвергается сомнению, но они связываются преимущественно с проблемами менеджмента. Специальный курс для магистрантов кафедры «Программирование» механико-математического факультета НГУ «Психология программирования» посвящен профессиональным аспектам человеческого фактора в программировании, влияющим на качество разрабатываемых программ, успешность проектных и бригадных работ, профориентацию и выбор решений при разработке программных инструментов и постановке новых задач. Курс знакомит магистрантов с основами производственной психологии и соционики, методами исследования поведения и с проблемами взаимодействия специалистов в совместных разработках и особенностями получения достоверной информации в иерархически организованных заведениях.
Рассматривается зависимость средств и методов представления информации и механизмов оперирования в информационной среде от психолингвистических систем и структуры обработки информации человеком, влияющая на эффективность разработки и применения информационных технологий.
Приведена характеристика основных вариантов формирования информационно-понятийных структур и их аналогов в элементах языков и систем программирования, организации пользовательского интерфейса и операционных систем, принципах оперирования текстовой и графической информацией, механизмах телекоммуникации и доступа к компьютерным сетям.
Особое внимание уделено влиянию социальных и этических норм на трудоемкость, сложность, надежность и безопасность эволюции информационных ресурсов и сервисов. Богатый материал в этом отношении накоплен экспериментальными программистскими проектами с привлечением студентов, нацеленными на компьютеризацию учебных заведений.
В рамках курса будущие ИТ специалисты имеют возможность упорядочить свои производственные впечатления, сформулировать гипотезы о возможных причинах удивительных успехов и неудач при разработке и эксплуатации программного обеспечения, а также выполнять небольшие самостоятельные эксперименты по оценке качества программирования.
При работе на компьютере человек испытывает действие ряда отрицательных факторов. Среди них: различные излучения, физические поля, напряжения в скелетно-мышечной системе рук. Всё это хорошо известно, и является естественной платой за научно-технический прогресс. Технические средства постоянно совершенствуются в плане эргономики.
Можно указать ещё одну проблему, но уже относящуюся к психологии. Существуют различные тесты для определения интеллектуального развития или творческих способностей человека. Конечно, эти тесты далеки от совершенства. Но они показывают, что когда человек работает со слишком формализованной программной системой, он «вживается» в неё, начинает мыслить её категориями. При этом тесты показывают, что творческие способности человека снижаются. Некоторые авторы называют это явление автоформализацией сознания. С другой стороны компьютерные системы используются в качестве тренажёров, для развития навыков скорочтения, изучения иностранных языков, при воспитании детей разного возраста.
Встаёт вопрос, как сделать процесс программирования таким, чтобы он способствовал совершенствованию интеллектуальных и других способностей человека. Некоторые видят решение этой проблемы на пути развития визуальной среды программирования путём замены работы с текстами работой с изображениями.
Можно обратить внимание также на то, что люди, имеющие различные стили мышления предпочитают использовать различные языки программирования. Например, при решении задач символьной обработки одни предпочитают языки функционального типа, такие как LISP, а другие используют языки, основанные на идее сличения с образцом, такие как REFAL или SNOBOL.
При исследовании этой проблемы могут учитываться различные аспекты и применяться различные методы. Перечислим некоторые из них: изменение психического состояния и поведения человека, рефлекторная деятельность, наблюдение за процессом развития личностных особенностей (например, обучаемость), взаимоотношения в коллективе.
Материал курса опирается на факторы массового применения информационных систем. Затем рассматривается программирование как созидательная активность и проявление творческой индивидуальности. В результате предлагается методика анализа и выбора жизненного цикла информационных систем. Курс адресован программистам, но может быть полезен и менеджерам.
Литература:
- Weinberg G.M. The Psychology of Computer Programming.- New York: Van Nostrand Comp., 1971. – 279 p.
- Крючков В.Н., Мурзин Ф.А., Нартов Б.К. Исследование связей в коллективах и сетях ЭВМ на основе анализа предпочтений // Проблемы конструирования эффективных и надёжных программ. – Новосибирск, 1995. – С. 136 – 141.
- Евстигнеев В.А. Методы теории графов в наукометрии: исследование структуры пространства журналов и незримых коллективов в программировании. – Новосибирск, 1987. – 26 с. – (Препр. / АН ССРю ИТМи ВТ; N 4).
- Скопин И.Н. Основы менеджмента программных проектов. – http://www.intuit.ru/department/se/msd
|