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

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

CC BY
193
47
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗОВЫЕ ПОНЯТИЯ ПРОГРАММИРОВАНИЯ / МНОГОУРОВНЕВАЯ ПРОФЕССИОНАЛЬНО ОРИЕНТИРОВАННАЯ СИСТЕМА ЗАДАНИЙ / ИНФОРМАЦИОННЫЙ ПОДХОД / СЕМАНТИЧЕСКАЯ СЕТЬ БАЗОВЫХ ПОНЯТИЙ ПРОГРАММИРОВАНИЯ / BASIC CONCEPTS OF PROGRAMMING / MULTI-LEVEL PROFESSIONALLY-ORIENTED SYSTEM OF TASKS / INFORMATION APPROACH / SEMANTIC NETWORK OF BASIC CONCEPTS OF PROGRAMMING

Аннотация научной статьи по наукам об образовании, автор научной работы — Баженова Ирина Васильевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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.

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

ФОРМИРОВАНИЕ БАЗОВЫХ ПОНЯТИЙ ПРОГРАММИРОВАНИЯ V СТУДЕНТОВ В КОНТЕКСТЕ ИНФОРМАЦИОННОГО ПОДХОДА

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

Новые образовательные стандарты высшей школы декларируют владение навыками программирования в качестве одной из профессиональных компетенций выпускников-бакалавров по направлению подготовки 010100 Математика [Об утверждении и введении..., 2011]. Успешное усвоение теории и практики программирования во многом зависит от уровня сформированности у обучаемых базовых понятий языка программирования. Традиционное преподавание курса программирования уделяет мало внимания этому аспекту обучения, акцент делается на формировании алгоритмических навыков, что, несомненно важно, но не может быть успешным без первого аспекта. Например, традиционная методика преподавания программирования на языке С/С++ предполагает знакомство с понятиями «переменная», «тип данных», «оператор» на примерах линейных программ, далее изучаются основные операторы языка, структуры данных в виде массивов, и лишь затем определяются понятие «функция» и далее «класс». По данной методике написаны многочисленные учебники, укажем некоторые: [Павловская, 2010;

Аверкин и др., 2001; Глушаков и др., 2004]. В то же время практически нет работ, посвящённых преподаванию курса программирования студентам-математикам. Широко известным является учебное пособие «Программирование для математиков», со времени выхода которого прошло много лет [Кушниренко, Лебедев, 1988]. В этой связи актуальными представляются разработка и внедрение в учебный процесс студентов-математиков как первой части курса объектно-ориентированного программирования многоуровневой системы профессионально ориентированных заданий, направленных на формирование базовых понятий программирования. Предварительно будет целесообразным сделать анализ проблем, возникающих у студентов-математиков в начале изучения теории и практики программирования.

Комплекс проблем можно разделить на две основные группы: проблемы объективного и субъективного характера. К первой группе относится:

— разный (зачастую низкий) уровень подготовки абитуриентов по ряду разделов информатики, таких как основные понятия программирования, базовые алгоритмические конструкции, логика и алгоритмы. Например, входное тестирование по перечисленным темам студентов первого курса института математики СФУ, проведённое в 2011 году, показало, что в группе направления Математика лишь 12 % студентов владеют навыками программирования, 25 % набрали 0-1 баллов, остальные показали результат ниже среднего;

— пересечение множеств терминов (тезаурусов) классической математики и языка программирования (например, «переменная», «целое», «функция»), что создаёт определённые трудности в понимании теории программирования при одновременном изучении математических дисциплин;

— несогласованность курса «Информатика и программирование» с классическими математическими дисциплинами, изучаемыми на первом курсе — математическим анализом, алгеброй, аналитической геометрией.

Сформулируем проблемы, носящие субъективный характер, выявляемые у студентов на практических занятиях по программированию:

— непонимание постановки задачи, неумение выделить и классифицировать входные и выходные данные задачи;

— сложности в декомпозиции решения на элементарные составляющие;

— неумение грамотно использовать лексемы языка программирования, включающие идентификаторы, константы, операции и ключевые слова;

— недостаточный уровень представления об отношениях (взаимосвязи) базовых понятий языка программирования.

Все перечисленные субъективные проблемы показывают важность полноценного формирования на начальном этапе обучения программированию фундаментальных понятий теории программирования. В этой связи возникает необходимость определить, какие именно понятия должны составить основу тезауруса сту-дентов-математиков в предметной области программирования. С этой целью представим фрагмент структуры информационной модели базовых понятий программирования в виде семантической сети (рис.1). (Пояснение: на рисунке пунктирными стрелками обозначены атрибутные отношения «имеет свойство».) Как видно из схемы, в основу обучения объектно-ориентированному языку программирования (например, С++) должно быть положено формирование понятий «переменная», «тип», «функция». Затем эти термины с помощью принципов суперпозиции, рекурсии и цикличности преобразования информации [Пак, 2011, с. 91—98] получат дальнейшее развитие, подводя обучаемых к усвоению базовых понятий объектно-ориентированного программирования «класс» и «объект».

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

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

Данная система заданий базируется на концепции информационного подхода к обучению. Как указано в [Пак, 2010], структура долговременной памяти человека состоит из четырёх областей: чувственной, модельной, понятийной и абстрактной. Для того чтобы элементы тезауруса языка программирования «переменная», «тип данных», «функция» были включены в тезаурус обучаемого этому языку, необходима следующая цепочка формирования понятий: непосредственно-чувственный образ —> информационная модель —> понятие —> абстрактное понятие. В соответствии с этим в системе могут быть выделены следующие уровни, имеющие определённые дидактические цели:

1) пропедевтический — идентификация в определённых образах качественных и количественных свойств объекта (понятия «тип» и «переменная»), действий и отношений объекта (понятие «функция»). На этом уровне студентам предлагаются задания по анализу постановки задачи, выяснению, что является входными и выходными данными и декомпозиции решения на части. Ответ даётся на естественном языке, что позволяет справиться с поставленной задачей любому студенту;

Характеристика

понятия

Рис 1. Семантическая сеть базовых понятий программирования (фрагмент)

2) лексический — формирование понятий лексем языка программирования — ключевых слов, констант, операций, идентификаторов. Студентам предлагаются следующие задания: а) разбить текст программы на лексемы; б) указать неправильные идентификаторы; в) указать порядок выполнения операций в предложенных выражениях в соответствии с приоритетом; г) определить тип литеральных констант;

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

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

проблема 1 ■ решение |

ч Л * Г

* разный уровень подготовки абитуриентов

* пересечение тезаурусов математики и языка программирования

* несогласованность курса программирования с математическими дисциплинами

* неумение выделить и классифицировать данные задачи

* сложности в декомпозиции решения на части

* неумение грамотно использовать лексемы языка

программирования

* непонимание отношений (взаимосвязи) между понятиями языка

многоуровневая система заданий с наличием пропедевтического уровня

• задачи с использованием функций зт(х), соз(х), 1п(х), ех с решением в аналитическом виде и написанием кода

• разработка профессионально-ориентированных на будущих математиков задач

• система заданий по теме ''типы данных"

■ система заданий по теме "функции4

• задания на идентификацию программных лексем, корректное использование констант, конструирование выражений с учётом приоритетов операций

• задания по теме "Классы и объекты" на

пропедевтическом уровне

^ программирования Ч___________

Рис. 2. Структура системы заданий

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

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

успешному усвоению студентами курса программирования.

Библиографический список

1. Аверкин В.П., Бобровский А.И., Хомоненко А.Д. Программирование на С++. М.: Мир, 2001. 256 с.

2. Баженова И.В. Система заданий по теме «Типы данных» при обучении объектному программированию с позиций информационного подхода // Материалы Международной научно-практической конференции (Нижневартовск, 27—29 марта 2012 г.). Нижневартовск: НГГУ, 2012.

3. Глушаков С.В., Коваль А.В., Смирнов С.В. Язык программирования С++. М.: АСТ, 2004. 500 с.

4. Кушниренко А.Г., Лебедев Г.В. Программирование для математиков. М.: Наука, 1988. 384 с.

5. Об утверждении и введении в действие федерального государственного образовательного стандарта высшего профессионального образования по направлению подготовки 010100 Математика (квалификация (степень) «бакалавр»): приказ Минобрнауки РФ от 13 января 2010 г. № 8, в ред. Приказа Минобрнауки РФ от 31. 05. 2011 № 1975. 1Л1Ь: http://www.fgosvpo.ru/uploadfiles/fgos/28/20111115114002.pdf

6. Павловская Т.А. С/С++. Программирование на языке высокого уровня. СПб.: Питер, 2010. 461 с.

7. Пак Н.И. Информационное моделирование: учеб. пособие / Краснояр. гос. пед. ун-т им. В.П. Астафьева. Красноярск, 2010. 152 с.

8. Пак Н.И. О концепции информационного подхода в обучении // Вестник КГПУ им. В.П. Астафьева. 2011. № 1.

i Надоели баннеры? Вы всегда можете отключить рекламу.