Формирование базовых понятий программирования у студентов в контексте информационного подхода

Бесплатный доступ

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

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

Похожие статьи в разделе Основы образования. Теоретические основы. Философские основы и др.

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

Хохлов Дмитрий Григорьевич, Захарова Земфира Хаматовна, Захаров Артур Николаевич

Объектный подход в преподавании вычислительной математики
Объектный подход в преподавании вычислительной математики

Галимянов Анис Фуатович, Галимянов Фанис Анисович

Короткий адрес: 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. Структура системы заданий

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