Определение способностей к программированию как условие эффективной подготовки к профессиональной деятельности

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

Рубрика Педагогика
Вид статья
Язык русский
Дата добавления 03.02.2019
Размер файла 23,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Определение способностей к программированию как условие эффективной подготовки к профессиональной деятельности

Пащенко Оксана Ивановна

Доцент, Кандидат педагогических наук,

Никонова Елена Захаровна

Доцент, Кандидат педагогических наук

ФГБОУ ВПО «Нижневартовский государственный университет», Россия, Нижневартовск

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

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

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

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

Результаты исследования расширяют знания специалистов образования в вопросах подготовки будущих специалистов в области программирования.

Ключевые слова: программист; подготовка будущего программиста; профессионализм программиста; профессиональные качества программиста; способность к программированию; особенности подготовки программиста

профессиональный программирование специалист способности

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

Объектом нашего исследования является процесс подготовки специалистов в области программирования.

Цель исследования - выявить условия эффективной подготовки будущих программистов на начальном этапе обучения.

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

• постановка задачи;

• формализация;

• алгоритмизация;

• программирование;

• тестирование и отладка программы;

• анализ результатов;

• документирование.

В качестве градации профессионализма программиста можно выделить следующие уровни:

• исполнительский (низкий, программирование формул);

• технологический (средний, программирование разветвляющихся алгоритмов);

• конструкторский (высокий, использование процедур, функций);

• аналитический (творческий, разработка и программирование сложных алгоритмов).

Следует отметить, что каждому уровню присущ элемент творчества, различающийся по содержанию и уровню продуктивности.

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

Общепризнанные представления требуют от программиста высокоразвитого интеллекта, способности к абстрагированию, системности и гибкости мышления, критичности, умения планировать свою деятельность, анализировать, высокой работоспособности, способности к саморазвитию. Настоящий программист, по мнению Р. Габриела, «держит в голове множество фактов, не упускает из виду ни одной мелочи, старается воспринимать вещи такими, какие они есть, выражает свои мысли четко и ясно, твердо знает, чем стоит заниматься, а чем нет» Computerworld Россия, 02.03.99, с. 18. .

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

В то же время существует и противоположная точка зрения, согласно которой "тезис о математическом характере знаний, лежащих в основе программы, очевиден лишь для математических применений ЭВМ. В общем случае можно сомневаться в первичности математического знания по отношению к программам" (Цейтин, 1979, с. 129).

Согласно мнению одного из известнейших программистов Э. Дейкстры для успешного решения профессиональных задач программисту необходимо использовать как логические рассуждения (reasoning), так и не формализуемые размышления (pondering), научить которым в отличие от первых гораздо сложнее.

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

Следует отметить, что наряду с «математическим родством» существовала и другая, альтернативная точка зрения, приверженцем которой был Д. Кнут, согласно которой программирование следует рассматривать как особый вид искусства. Д. Кнут утверждал, что результатом работы программиста могут быть как «элегантные, сверкающие, благородные» программы, так и откровенно уродливые продукты [5]. Но эта точка зрения имеет относительно немного сторонников, так как понятие «элегантности» алгоритма или программы весьма субъективно, кроме того, многие специалисты считают, что гораздо более важными для заказчиков является надежность и эффективность программного продукта.

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

Одной из наиболее интересных возможностей, которые дает компьютер, для программистов является возможность сотворения собственной виртуальной реальности согласно своим представлениям: «Наиболее творческим аспектом программирования для большинства программистов является разработка целостной структуры программы. … Можно собрать воедино собственные идеи по поводу того, как организован мир, и воплотить их в нечто конкретное. Части моего личного образа мира позволено преодолеть ограничения моего разума и обрести некую форму во внешнем мире» (Smith, 2000).

Сложившееся на сегодняшний день мнение о личностных качествах, которые присущи программистам, подчеркивает их пунктуальность, аккуратность, экономность, эмоциональную устойчивость, высокую работоспособность. Вот как говорит о своих коллегах программист Сергей: «Я пишу проги уже лет 15, и не надоело. Более того, в отпуске не был уже лет 5… Не знаю, как другие, но я люблю одиночество… Мы, программисты, такие же, как все, тоже любим, тоже ненавидим, тоже живем. И ругать нас за то, что мы видим мир немножко под другим углом, я думаю, неправильно… Программирование на любом языке требует повышенного внимания, предельную логику в мышлении, и усидчивости. … От программистов редко можно услышать неопределенный ответ. Или да, или нет. А все потому, что неопределенность - это баг программы, причем трудно отлавливаемый…» Веб-форум «Программисты-тоже люди?» - http://onlife.ru/que.phtml?id=216. .

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

Самые первые исследования в области психологического отбора программистов опирались на личностные тесты, тесты на познавательные способности, обычные интервью и аппаратурные тесты на логическое мышление (McNamara, Hughes, 1961; Rowan, 1957). В результате было признано, что наиболее существенными для профессионального программиста являются способности к абстрагированию и логическим рассуждениям.

Разработанные в 70-80 годы специализированные тесты для отбора программистов CPAT/CPAB (Computer Programming Aptitude Tests/Battery) проверяли испытуемых по следующим направлениям:

• вербальное описание смысла высказываний;

• математические построения;

• работа с символьной информацией;

• обработка числовых данных;

• работа с блок-схемами.

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

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

Несмотря на то, что программирование является одной из наиболее динамичных областей человеческих знаний, разработка тестов для определения способностей к программированию по-прежнему остается актуальной. В этом ряду следует упомянуть тест для измерения потенциала программиста WPAAT (Walden Programmer Analyst Aptitude Test), разработанный компанией Walden и предлагающий испытуемому помимо заданий на символьные преобразования, обработку данных, определение ошибок, понимание командных инструкций еще и решение конкретных практических задач. Результаты многочисленных тестирований показали достаточную убедительность данного теста.

Разные компании по-разному оценивают структуру профессиональных знаний программиста. Так разработчики теста LPAT (Language Free Programmer/Analyst Aptitude Test), позиционируемого как тест для оценки способностей к программированию, не связанный с конкретными языками программирования, считают наиболее важными следующие знания и умения Тест Walden Programmer Analyst Aptitude Test - www.waldentesting.com. :

• логические рассуждения и решения задач с определением релевантной информации из исходного набора данных;

• формализация, моделирование, численный и логический анализ;

• анализ вербальной информации и знание английского языка в объеме профессиональной сферы.

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

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

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

Как показывает многолетняя преподавательская практика, результаты тестирования не в значительной степени, но все же отличаются от оценки способностей, учащихся к программированию вузовскими и школьными преподавателями. Объясняется это расхождение тем, что тест способен проверить фрагментарные знания и навыки, причем в конкретный момент, а оценка преподавателя учитывает множество факторов и личностных особенностей учащегося, но с другой стороны, не исключает некоторой субъективности. Кроме того, как уже подчеркивалось, содержание тестовых заданий не способно в полной мере адекватно отражать все профессиональные вопросы программирования [7, 8, 9].

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

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

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

ЛИТЕРАТУРА

1. Алаева Н.С. Технология формирования профессиональных компетенций при обучении информатике будущих программистов / Н.С. Алаева // Дни науки - 2015: сб. тр. 6 Всерос. науч. - практ. конф. с междунар. участием, 17-20 марта 2015 г.: в 2 ч. - Новосибирск: НОУ ВПО Центросоюза РФ «Сибирский университет потребительской кооперации», 2015. - Ч. 2. - С. 8-11.

2. Богомолова Е.П. Проблема обеспечения надежности математических знаний будущих инженеров // Интернет-журнал «Мир науки» 2015. - №3 http://mirnauki.com/PDF/38PDMN315.pdf (доступ свободный). Загл. с экрана. Яз. рус., англ.

3. Жужжалов В.Е., Баранова О.А. Системный анализ процесса информатизации инженерного образования в России и за рубежом // Вестник Российского университета дружбы народов. Серия: Информатизация образования. 2010. № 10. С. 44-46.

4. Кириллов А.Г. Адаптивная система обучения в курсе «Программирования» // Высокие технологии в педагогическом процессе: Труды V междунар. 22 науч.метод. конф. преподавателей вузов, ученых и специалистов / Волж. гос. инженерно-пед. академ. Н. Новгород, 2004. С. 63-64.

5. Кнут Д. Искусство программирования. Том 3. Сортировка и поиск. В 4-х томах. Пер. с англ. - 2-е изд. - М.: Вильямс, 2007. - 824 с.

6. Насейкина Л.И., Бойчук А.И. Внедрение инновационной педагогической технологии при формировании готовности студентов-программистов к профессиональной деятельности в области вычислительных сетей и телекоммуникаций // Инновации в науке: сб. ст. по матер. XXV междунар. науч.практ. конф. № 9(22). - Новосибирск: СибАК, 2013. - С. 122-129.

7. Никонова Е.З. Коммуникативные навыки в подготовке будущих программистов // Культура, наука, образование: проблемы и перспективы: Материалы IV Всероссийской научно-практической конференции (г. Нижневартовск, 12-13 февраля 2015 года) / Отв. ред. А.В. Коричко. - Нижневартовск: Изд-во Нижневарт. гос. ун-та, 2015. - Ч. 2.-546 с. С. 501-503.

8. Никонова Е.З. Проблемы современного инженерного образования // Актуальные вопросы модернизации российского образования / Материалы VII-ой Международной научно-практической конференции. Сборник научных трудов / Под научн. ред. доктора пед. наук, проф. Г.Ф. Гребенщикова. - М.: Издательство Перо, 2011. - С. 145-148.

9. Пащенко О.И., Скороход Е.Г. Особенности обучения языкам программирования в профильной школе // Культура, наука, образование: проблемы и перспективы: Материалы V Международной научно-практической конференции (г. Нижневартовск, 09-10 февраля 2016 года) / Отв. ред. А.В. Коричко. - Нижневартовск: Изд-во Нижневарт. гос. ун-та, 2016. - Ч. II. - С. 173-176.

10. Степанова Т.А. Теория алгоритмического мышления: учебное пособие для магистрантов, учителей общеобразовательных учреждений, преподавателей вузов / Краснояр. гос. пед. ун-т им. В.П. Астафьева. Красноярск, 2014. 72 с.

Paschenko Oksana Ivanovna, Nikonova Elena Zakharovna

Definition of abilities to programming as condition of effective preparation for professional activity

Abstract. Now the profession of the programmer is one of the most popular both among entrants, and among their parents. For successful receiving this profession in higher education institution it is very important to try to define this ability at the first grade levels when the student still has an opportunity rather easily to change the direction of preparation.

The researches directed to detection of personal qualities, necessary for the successful programmer, were begun nearly with emergence of this profession in labor market, but still did not give the definite answer. And this lack of the coordinated point of view has an adverse effect on a technique of training of future experts in the field of programming.

The fact that people with the most different preparation, not always mathematical, having various styles of thinking, the intellectual levels of development, etc. are engaged in the modern programming today is undoubted. But the successful programmer is distinguished by constant readiness to update the knowledge, not to be satisfied with what has already been achieved. It is necessary to pay an attention to development of such qualities when training programmers, these qualities should be considered also when testing future entrants.

In article professional activity of the programmer is characterized, the structure of activity is described and her levels are allocated. Authors of article have analysed the existing diagnostic tools for definition of abilities to programming and identification of professional level of the working programmers.

Results of a research expand knowledge of experts of education in questions of training of future experts in the field of programming.

Keywords: programmer; training of future programmer; professionalism of the programmer; professional qualities of the programmer; ability to programming; feature of training of the programmer

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.