Формирование базовых понятий программирования у студентов в контексте информационного подхода
Журнал: Вестник Красноярского государственного педагогического университета им. В.П. Астафьева @vestnik-kspu
Рубрика: Педагогика
Статья в выпуске: 2 (20), 2012 года.
Бесплатный доступ
В статье дан анализ проблем, выявляемых у студентов-математиков первого курса в процессе обучения программированию. На основе анализа и информационного подхода к обучению предложена многоуровневая профессионально ориентированная система заданий для курса ООП, формирующая базовые понятия программирования.
Короткий адрес: https://sciup.org/144153456
IDS: 144153456
Formation of basic concepts on programming of students in the context of information approach
In this article the problems identified with the first-year students-mathematicians in the course of training programming are analyzed. Based on the analysis and information approach to training, a multi-level professionally-oriented system of the tasks for the course of object-oriented programming, which forms the basic concepts of programming, is offered.
Текст научной статьи Формирование базовых понятий программирования у студентов в контексте информационного подхода
Комплекс проблем можно разделить на две основные группы: проблемы объективного и субъективного характера. К первой группе относится:
-
— разный (зачастую низкий) уровень подготовки абитуриентов по ряду разделов информатики, таких как основные понятия программирования, базовые алгоритмические конструкции, логика и алгоритмы. Например, входное тестирование по перечисленным темам студентов первого курса института математики СФУ, проведённое в 2011 году, показало, что в группе направления Математика лишь 12 % студентов владеют навыками программирования, 25 % набрали 0-1 баллов, остальные показали результат ниже среднего;
-
- пересечение множеств терминов (тезаурусов) классической математики и языка программирования (например, «переменная», «целое», «функция»), что создаёт определённые трудности в понимании теории программирования при одновременном изучении математических дисциплин;
-
— несогласованность курса «Информатика и программирование» с классическими математическими дисциплинами, изучаемыми на первом курсе — математическим анализом, алгеброй, аналитической геометрией.
Сформулируем проблемы, носящие субъективный характер, выявляемые у студентов на практических занятиях по программированию:
-
— непонимание постановки задачи, неумение выделить и классифицировать входные и выходные данные задачи;
-
— сложности в декомпозиции решения на элементарные составляющие;
-
— неумение грамотно использовать лексемы языка программирования, включающие идентификаторы, константы, операции и ключевые слова;
-
— недостаточный уровень представления об отношениях (взаимосвязи) базовых понятий языка программирования.
Все перечисленные субъективные проблемы показывают важность полноценного формирования на начальном этапе обучения программированию фундаментальных понятий теории программирования. В этой связи возникает необходимость определить, какие именно понятия должны составить основу тезауруса студентов-математиков в предметной области программирования. С этой целью представим фрагмент структуры информационной модели базовых понятий программирования в виде семантической сети (рис.1). (Пояснение: на рисунке пунктирными стрелками обозначены атрибутные отношения «имеет свойство».) Как видно из схемы, в основу обучения объектно-ориентированному языку программирования (например, С++) должно быть положено формирование понятий «переменная», «тип», «функция». Затем эти термины с помощью принципов суперпозиции, рекурсии и цикличности преобразования информации [Пак, 2011, с. 91—98] получат дальнейшее развитие, подводя обучаемых к усвоению базовых понятий объектноориентированного программирования «класс» и «объект».
Выбор вышеуказанных понятий в качестве базовых в начале обучения программированию студентов-математиков также обусловлен их присутствием в тезаурусах предметных областей как математики, так и теории программирования.
Далее рассмотрим возможность разрешения перечисленных проблем с помощью организации системы заданий на практических занятиях и при самостоятельной работе студентов. Основное содержание системы заданий, соответствующих выявленным проблемам, отражено на рис. 2.
Данная система заданий базируется на концепции информационного подхода к обучению. Как указано в [Пак, 2010], структура долговременной памяти человека состоит из четырёх областей: чувственной, модельной, понятийной и абстрактной. Для того чтобы элементы тезауруса языка программирования «переменная», «тип данных», «функция» были включены в тезаурус обучаемого этому языку, необходима следующая цепочка формирования понятий: непосредственно-чувственный образ ^ информационная модель ^ понятие ^ абстрактное понятие. В соответствии с этим в системе могут быть выделены следующие уровни, имеющие определённые дидактические цели:
-
1) пропедевтический - идентификация в определённых образах качественных и количественных свойств объекта (понятия «тип» и «переменная»), действий и отношений объекта (понятие «функция»). На этом уровне студентам предлагаются задания по анализу постановки задачи, выяснению, что является входными и выходными данными и декомпозиции решения на части. Ответ даётся на естественном языке, что позволяет справиться с поставленной задачей любому студенту;
Характеристика понятия
Рис 1. Семантическая сеть базовых понятий программирования (фрагмент)
-
2) лексический – формирование понятий лексем языка программирования – ключевых слов, констант, операций, идентификаторов. Студентам предлагаются следующие задания: а) разбить текст программы на лексемы; б) указать неправильные идентификаторы; в) указать порядок выполнения операций в предложенных выражениях в соответствии с приоритетом; г) определить тип литеральных констант;
-
3) семантико-синтаксический – формализация понятий «тип», «переменная», «функция» с помощью лексем, расширение содержания и объёма понятий «тип» и «функция». На этом уровне задания группируются по двум темам: «Типы данных» (система заданий описана в [Баженова, 2012, с. 58–60]) и «Функции» (задания подобраны в соответствии с изучаемым материалом по курсам «Математический анализ», «Алгебра», «Аналитическая геометрия»);
-
4) пропедевтический объектно-ориентированный – обобществление понятий «тип», «переменная», «функция» в абстрактных понятиях «класс» и «объект». Решение задач этого уровня можно представить как возвращение (рекурсию) к задачам первого уровня, где ответ на поставленные вопросы студент должен дать в терминах «класс» и «объект» и далее написать соответствующий программный код.
Рис. 2. Структура системы заданий
Итак, анализ существующих проблем у студентов-математиков в начале обучения теории программирования и практическом программировании показывает важность последовательного формирования в их тезаурусе таких понятий, как «переменная», «тип», «функция». На основе построенной информационной модели (семантической сети) базовых понятий и использования системно-информационного подхода к обучению предложена многоуровневая профессионально ориентированная система заданий по курсу объектного программирования. Данная система, реализованная в учебном процессе, должна обеспечить динамику формирования базовых понятий программирования от непосредственно-чувственных к формализованным образам и далее к абстрактным понятиям, что в дальнейшем поможет успешному усвоению студентами курса программирования.