Формирование базовых понятий программирования у студентов в контексте информационного подхода
Автор: Баженова Ирина Васильевна
Журнал: Вестник Красноярского государственного педагогического университета им. В.П. Астафьева @vestnik-kspu
Рубрика: Педагогика
Статья в выпуске: 2 (20), 2012 года.
Бесплатный доступ
В статье дан анализ проблем, выявляемых у студентов-математиков первого курса в процессе обучения программированию. На основе анализа и информационного подхода к обучению предложена многоуровневая профессионально ориентированная система заданий для курса ООП, формирующая базовые понятия программирования.
Базовые понятия программирования, многоуровневая профессионально ориентированная система заданий, информационный подход, семантическая сеть базовых понятий программирования
Короткий адрес: https://sciup.org/144153456
IDR: 144153456
Текст научной статьи Формирование базовых понятий программирования у студентов в контексте информационного подхода
Комплекс проблем можно разделить на две основные группы: проблемы объективного и субъективного характера. К первой группе относится:
-
— разный (зачастую низкий) уровень подготовки абитуриентов по ряду разделов информатики, таких как основные понятия программирования, базовые алгоритмические конструкции, логика и алгоритмы. Например, входное тестирование по перечисленным темам студентов первого курса института математики СФУ, проведённое в 2011 году, показало, что в группе направления Математика лишь 12 % студентов владеют навыками программирования, 25 % набрали 0-1 баллов, остальные показали результат ниже среднего;
-
- пересечение множеств терминов (тезаурусов) классической математики и языка программирования (например, «переменная», «целое», «функция»), что создаёт определённые трудности в понимании теории программирования при одновременном изучении математических дисциплин;
-
— несогласованность курса «Информатика и программирование» с классическими математическими дисциплинами, изучаемыми на первом курсе — математическим анализом, алгеброй, аналитической геометрией.
Сформулируем проблемы, носящие субъективный характер, выявляемые у студентов на практических занятиях по программированию:
-
— непонимание постановки задачи, неумение выделить и классифицировать входные и выходные данные задачи;
-
— сложности в декомпозиции решения на элементарные составляющие;
-
— неумение грамотно использовать лексемы языка программирования, включающие идентификаторы, константы, операции и ключевые слова;
-
— недостаточный уровень представления об отношениях (взаимосвязи) базовых понятий языка программирования.
Все перечисленные субъективные проблемы показывают важность полноценного формирования на начальном этапе обучения программированию фундаментальных понятий теории программирования. В этой связи возникает необходимость определить, какие именно понятия должны составить основу тезауруса студентов-математиков в предметной области программирования. С этой целью представим фрагмент структуры информационной модели базовых понятий программирования в виде семантической сети (рис.1). (Пояснение: на рисунке пунктирными стрелками обозначены атрибутные отношения «имеет свойство».) Как видно из схемы, в основу обучения объектно-ориентированному языку программирования (например, С++) должно быть положено формирование понятий «переменная», «тип», «функция». Затем эти термины с помощью принципов суперпозиции, рекурсии и цикличности преобразования информации [Пак, 2011, с. 91—98] получат дальнейшее развитие, подводя обучаемых к усвоению базовых понятий объектноориентированного программирования «класс» и «объект».
Выбор вышеуказанных понятий в качестве базовых в начале обучения программированию студентов-математиков также обусловлен их присутствием в тезаурусах предметных областей как математики, так и теории программирования.
Далее рассмотрим возможность разрешения перечисленных проблем с помощью организации системы заданий на практических занятиях и при самостоятельной работе студентов. Основное содержание системы заданий, соответствующих выявленным проблемам, отражено на рис. 2.
Данная система заданий базируется на концепции информационного подхода к обучению. Как указано в [Пак, 2010], структура долговременной памяти человека состоит из четырёх областей: чувственной, модельной, понятийной и абстрактной. Для того чтобы элементы тезауруса языка программирования «переменная», «тип данных», «функция» были включены в тезаурус обучаемого этому языку, необходима следующая цепочка формирования понятий: непосредственно-чувственный образ ^ информационная модель ^ понятие ^ абстрактное понятие. В соответствии с этим в системе могут быть выделены следующие уровни, имеющие определённые дидактические цели:
-
1) пропедевтический - идентификация в определённых образах качественных и количественных свойств объекта (понятия «тип» и «переменная»), действий и отношений объекта (понятие «функция»). На этом уровне студентам предлагаются задания по анализу постановки задачи, выяснению, что является входными и выходными данными и декомпозиции решения на части. Ответ даётся на естественном языке, что позволяет справиться с поставленной задачей любому студенту;
Характеристика понятия

Рис 1. Семантическая сеть базовых понятий программирования (фрагмент)
-
2) лексический – формирование понятий лексем языка программирования – ключевых слов, констант, операций, идентификаторов. Студентам предлагаются следующие задания: а) разбить текст программы на лексемы; б) указать неправильные идентификаторы; в) указать порядок выполнения операций в предложенных выражениях в соответствии с приоритетом; г) определить тип литеральных констант;
-
3) семантико-синтаксический – формализация понятий «тип», «переменная», «функция» с помощью лексем, расширение содержания и объёма понятий «тип» и «функция». На этом уровне задания группируются по двум темам: «Типы данных» (система заданий описана в [Баженова, 2012, с. 58–60]) и «Функции» (задания подобраны в соответствии с изучаемым материалом по курсам «Математический анализ», «Алгебра», «Аналитическая геометрия»);
-
4) пропедевтический объектно-ориентированный – обобществление понятий «тип», «переменная», «функция» в абстрактных понятиях «класс» и «объект». Решение задач этого уровня можно представить как возвращение (рекурсию) к задачам первого уровня, где ответ на поставленные вопросы студент должен дать в терминах «класс» и «объект» и далее написать соответствующий программный код.

Рис. 2. Структура системы заданий
Итак, анализ существующих проблем у студентов-математиков в начале обучения теории программирования и практическом программировании показывает важность последовательного формирования в их тезаурусе таких понятий, как «переменная», «тип», «функция». На основе построенной информационной модели (семантической сети) базовых понятий и использования системно-информационного подхода к обучению предложена многоуровневая профессионально ориентированная система заданий по курсу объектного программирования. Данная система, реализованная в учебном процессе, должна обеспечить динамику формирования базовых понятий программирования от непосредственно-чувственных к формализованным образам и далее к абстрактным понятиям, что в дальнейшем поможет успешному усвоению студентами курса программирования.