Психология программирования
Л. В. Городняя, Ф. А. Мурзин
Несколько лет назад И.В. Поттосин с большим энтузиазмом поддержал идею спецкурса «Психология программирования» на матфаке НГУ. По его мнению, такой курс совершенно необходим при профессиональной специализации программистов. Теперь накоплен опыт преподавания в этом направлении, и материал курса рассматривается как направление исследования и разработки учебных систем информатики.
1. Введение
Психологические и социальные аспекты процессов разработки и применения информационных систем, по мнению авторов, нашли свое отражение в эволюции языков и систем программирования, что позволяет рассматривать последние как удобный материал для исследования формализуемых моделей психологической информатики.
Человеческие факторы во многом определяют практику разработки и совершенствования информационных систем, а также влияют на трудоемкость проектов и жизнеспособность производственных команд. Поэтому целесообразно проанализировать проблемы формирования процесса профессиональной информатики как социальной деятельности, изучая личностные факторы, проблему лидерства, жизненный цикл программисткой команды и особенности прохождения производственного проекта через кризисные полосы. Обзор результатов исследований психологии программирования как проявления индивидуальности, взаимосвязи интеллектуальности и способности к принятию решений представляет несомненный интерес.
2. Социальный контекст
Не вызывает сомнения связь производительности труда в информатике с механизмами поисковой активности и внимания, их видами и нарушениями. Экспериментальная база исследования призвана проявить конкретику таких связей. Она может формироваться как система мероприятий по предпроизводственной подготовке информатиков, включая молодежные проекты и конкурсы. Это позволяет в сжатые сроки подвергать практической проверке формальные методы исследования связей в коллективах, оценивая особенности творческих процессов, осваивая технику переговоров в конфликтах и методы ведения коллективного проекта. Полезно найти подходы и навыки классификации производственного микроклимата и прогнозирования трудоемкости проектов в зависимости от квалификации персонала.
В центре внимания — психологические (человеческие) факторы, отраженные в процессе разработки и совершенствования информационных систем, а также влияющие на трудоемкость проектов и жизнеспособность производственных команд. (Психологическая информатика — ПИ.) В процессе исследования ПИ можно анализировать проблемы формирования профессиональной информатики как социальной деятельности, зависящей от личностных факторов, лидерства, жизненного ритма команды и особенностей прохождения производственного проекта через кризисные полосы. Особо интересны психология программирования как проявление индивидуальности, взаимосвязи интеллектуальности и способности к принятию решений, а также другие аспекты этико-социального контекста информатики.
ПИ граничит с соционикой и психофизиологией умственного труда, со стрессовыми и другими реакциями человека, влияющими на связь производительности труда в информатике с механизмами поисковой активности и внимания.
3. Приложение и перспективы
Исследование ПИ может дать рекомендации для разработки и совершенствования системы подготовки бакалавров и магистров, специализирующихся в области информационного и электронного бизнеса. Высокий темп развития информатики требует исследования глубинных психологических и социальных факторов, определяющих закономерности эволюции конструктивных идей информатики, смену парадигм программирования и других форм концентрации знания человеком, а также этико-социальный контекст современных технологий.
Основные акценты исследования человеческих факторов в процессах совершенствования и применения информационных технологий заключаются в анализе гуманитарных аспектов отечественной информатики и выработке на их основе рекомендаций по организации проектов, обладающих исследовательскими аспектами, обычно сопутствующими деятельности в области информационного бизнеса.
4. Специфика подхода
Задача исследования ПИ в первую очередь нацелена на психологические и этико-социальные аспекты современных технологий и человеческой деятельности, выявленные при изложении и исследовании отечественных достижений информатики непосредственно их авторами, сумевшими объективно отразить роль личностных и субъективных факторов, определивших основные достижения известных научных школ в России и за рубежом. Все это формирует систему представления знаний по гуманитарным аспектам компьютерных наук, начиная с анализа разных явлений, связанных с восприятием информации и особенностями работы с текстами и изображениями. Ключевые вопросы следующие. Как отличить хорошую информационную систему? Откуда берутся хорошие информационные системы? Как обосновывается роль квалифицированных специалистов в рамках специально разработанных технологий?
Важные моменты любых технологий: ясность требований к квалификации специалистов, адекватность используемых средств, спецификация проектов систем, четкость графика разработки, определенность методов проверки качества результата, приспособленность проекта к возможности улучшения реализуемых систем и пр.
Сквозные вопросы следующие. Как исследовать гуманитарные аспекты применения и производства информационных систем? Можно ли опереться на самоанализ информатиков, наблюдения менеджеров и научную проверку известных гипотез? Богатый фактический материал дает экспериментальная, творческая, досуговая и учебная информатика. Большой интерес представляют психологические и поведенческие оценки, накопленные в опыте учебных заведений, производственных организаций и научно-исследовательских проектов по разработке информационных систем.
5. Методы и приоритеты
Используются социологические методы для исследования производственных команд, связанных общей постановкой задачи. Анализируется влияние целей на основные аспекты рабочего ритма команды. Рассматриваются кризисы в производственном проекте с учетом проблемы лидерства.
Статистически исследуется длительность проектов и время пребывания в них исполнителей, а также измеримые характеристики информационных систем.
Системный подход используется для выбора приемов обеспечения стабильности путем изменений с учетом структуры проекта в контексте общих проблем больших проектов. Оценивается достоверность отчетов и результативность контроля за ходом работ, компетентность исполнителей и руководителей.
Комплексный подход позволяет унифицировать жизненный цикл информационной системы. Рассматриваются компьютерные игры и учебные тренажеры в условиях эволюции систем и обновления технологий. Отслеживается уровень изученности задач, решаемых информатиками при программировании. Важные факторы — общность и переносимость компонентов, приспособленных для повторного использования. Определяется направленность развития систем и принципы обработки уникальной информации. Формируются прототипы «идеальных» систем. Сравниваются консервативные и открытые системы.
6. Уровень изучености и образование
Современные представления о социально-психологических факторах в информатике отражают преимущественно зарубежные достижения, значимость которых очевидна неспециалистам благодаря высокому качеству элементной базы.
Современное состояние исследований по проблемам ПИ представлено множеством интересных для практики результатов, слабо отраженных в отечественной литературе. Основные направления исследований по данной теме в мировой науке активно развиваются, они нацелены на решение проблемы стабильного производства информационных систем, обладающих длительным жизненным циклом или допускающих целенаправленные улучшения. Такие исследования, по существу, опираются на человеческий фактор.
Выявлены значительные трудности в преподавании студентам проблем поддержки полного жизненного цикла информационных систем, таких как определение требований, разработка спецификаций, организация сопровождения. Трудности обусловлены недостатком практического опыта у студентов. Следует отметить, что многие наши студенты теперь вовлечены в производство. Это помогает преодолеть трудности преподавания ПИ в условиях совмещения учебы с производственной деятельностью при использовании средств дистанционного образования. Результаты исследований ПИ используются фирмами, ведущими сертификацию специалистов и кадровый маркетинг.
Целесообразно развернуть проект, который выполнял бы работу по упорядочению и изучению гуманитарных факторов информатической деятельности, проявившихся в истории отечественной вычислительной техники и ее программного обеспечения. Труды Д.А. Поспелова, Я.И. Фета, И.В. Поттосина, собравших фактические материалы по истории отечественного программирования и школы А.П. Ершова, а также личный опыт участников проекта, рассматриваются как фактическая основа для выработки практических рекомендаций.
Литература
- Городняя Л.В., Мурзин Ф.А. Об опыте преподавания спецкурса «Психология программирования» // Тез. IX Междунар. конф. «Применение новых технологий в образовании», Троицк, 1998. — С. 101–102.
- Кирпотина Н.А. Модель процесса принятия решений и соответствующая классификация типов личности. // Там же. — С. 93–95.
- Городняя Л.В., Мурзин Ф.А. Психология для программистов // Тр. IV Междунар. конф. «Перспективы систем информатики». Секция «Школьная информатика». — Новосибирск, 2001. — С. 29–30.
- Андреева Т.А. О проблеме накопления результатов методических разработок школьных педагогов. // Тез. конф. «Информационные технологии в образовании» Москва. — Институт ЮНЕСКО, 1998. — С. 124–128
- Городняя Л.В. Быть или не быть — для информатики вопрос не в этом // М.: Информатика и образование. — 2000. — Т. 7. — С. 80–84
- Городняя Л.В., Кирпотина И.А. Электронное издание как механизм самообучения // Тр. Междунар. научно-практической конф. «Новые информационные технологии в университетском образовании». — Томск, 2000. —
С. 101–102 - Андреева Т.А. Об автоматизации подготовки и проведения заочных (электронных) олимпиад // Тр. научно-практической телеконф. «Информационные технологии в общеобразовательной школе», ноябрь 2000. — Новосибирск, 2000. — http://www.edu.nsu.ru/ites
- Ким Н.А., Городняя Л.В. Измерители знаний по информатике // Тр. Междунар. научно-практической конф. «Новые информационные технологии в университетском образовании». — Новосибирск, 1999. — С. 97.
- Берс А.А., Городняя Л.В., Поляков В.Г., Чурина Т.Г. Организация творческой работы учащихся в контексте общеобразовательной информатики // Там же. — С. 86.
- Kalinina N., Kostyukova N. The Basic Principles of Building of Ergonomic Component of Automated Training System // Internat. J . of Occupational Safety and Ergonomics ( JOSE ). — Poland , 2001. — P . 203–207
- Городняя Л.В., Калинина Н.А., Костюкова Н.И. О соотношении кибернетики, математики и психологии // Тр. XXVIII Междунар. конф. «Информационные технологии в науке, образовании, телекоммуникациях и бизнесе» (IT+SE'2001). — Гурзуф, 2001. — С. 113–116.
- Городняя Л.В. Откуда берутся хорошие программисты // Становление новосибирской школы информатики. Мозаика воспоминаний / Под ред. И.В. Поттосина. — Новосибирск, 2001. — С. 117–123.
Из сборника "Новосибирская школа программирования. Перекличка времен". Новосибирск, 2004 г.
Перепечатываются с разрешения редакции.