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

Обложка

Цитировать

Полный текст

Аннотация

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

Полный текст

Обучение программированию является неотъемлемой частью подготовки в области информатики и информационных технологий учащихся школ и студентов профильных специальностей вузов. Несмотря на значительный опыт, который имеется в данной сфере в нашей стране и за рубежом, актуальность такой подготовки и разработки новых подходов остается высокой, что связывается с усложнением парадигм программирования, увеличением количества языков и соответствующих им инструментальных сред. В профессиональной сфере востребовано постоянное повышение уровня подготовки специалистов, способных вести разработку все более сложных программных систем [6]. В этой связи возникает проблема, связанная с несоответствием уровня и существующих методик обучения программированию в общеобразовательной школе и вузе, а также повышением требований к специалистам и усложнением предметного содержания. Одним из вариантов решения указанной проблемы видится разработка методики обучения объектно-ориентированному программированию студентов младших курсов ИТ-специальностей вузов, предполагающая разделение содержания обучения объектно-ориентированному программированию на две части, связанные с базовыми концепциями объектно-ориентированной парадигмы, а также реализацией этих концепций в конкретных языках [7]. Такое обучение адекватно реализуется в рамках двух самостоятельных, но согласованных друг с другом дисциплин, нацеленных на обучение в области базовых концепций объектно-ориентированного программирования (основой обучения здесь могут стать визуальные учебные среды, направленные на обучение программированию), а также на изучение конкретного объектно-ориентированного языка. Соответствующая методика была разработана нами и апробирована при обучении студентов бакалавриата прикладной информатики в Крымском инженерно-педагогическом университете. В нашем случае была предложена дисциплина «Программирование для начинающих», которая выступала в качестве «поддерживающей» для изучения объектно-ориентированного языка в рамках традиционной дисциплины «Информатика и программирование» [7]. Дисциплина «Программирование для начинающих» изучается в первом семестре. Учебным планом предусмотрено проведение 36 часов аудиторных занятий, которые разделены на две равные части - занятия лекционного типа, а также лабораторные занятия. Содержанием дисциплины было предусмотрено изучение понятий объектов и классов, моделирования и структурирования цикла разработки программы, формального определения классов и их реализации, переменных и методов вызова процедур и функций, передачи параметров. Лабораторные занятия проводились в компьютерных классах, где полученные знания в области базовых концепций объектно-ориентированного программирования применялись на практике в виде разработки программ и проектов с использованием визуальных учебных сред Alice и Scratch. Alice и Scratch - это визуальные учебные среды, позволяющие рассматривать объектно-ориентированное программирование через построение и реализацию абстракций [1; 9]. Данные среды достаточно широко используются в школьном образовании при обучении основам программирования. Однако архитектура данных учебных сред позволяет вести разработку и сложных проектов, основанных на идеях объектно-ориентированного программирования [2; 5]. Представление модели в указанных средах происходит в терминах объектов и их взаимодействия, что позволяет формировать знания и базовые умения обучающихся об объектноориентированном программировании, не обращаясь к разработке программ с использованием профессиональных языков. Студенты, таким образом, получают возможность изучить базовые концепции объектно-ориентированного программирования еще до изучения конкретного языка. Дисциплина «Информатика и программирование» является традиционной в программах подготовки бакалавров прикладной информатики. В нашем случае эта дисциплина изучалась в течение первого, второго и третьего семестров. Первый семестр - это изучение императивной парадигмы программирования, когда студенты осваивают такие традиционные понятия, как переменная, тип данных, выражение, условный переход, цикл, подпрограмма и др. Изучение объектно-ориентированного языка программирования - это второй семестр, который следует непосредственно по завершении «поддерживающей» дисциплины «Программирование для начинающих». Следовательно, в начале второго семестра, обучающиеся владеют императивным языком программирования, а также базовыми понятиями объектно-ориентированной парадигмы. Это служит основой эффективного изучения конкретного объектно-ориентированного языка программирования. В качестве такого языка нами использовался язык C++, который является наиболее распространенным языком программирования на протяжении нескольких последних десятилетий [3]. Языку программирования С++ характерны такие свойства, как лаконичность, мощность, гибкость, мобильность, возможность доступа ко всем функциональным средств системы [4]. В рамках третьего семестра дисциплины «Информатика и программирование» осуществляется работа с методами и средствами объектно-ориентированного анализа и проектирования программных систем различного назначения. Для подтверждения эффективности предложенной модели обучения нами был проведен педагогический эксперимент, в котором приняли участие 255 студентов Крымского инженерно-педагогического университета. Эксперимент предполагал выделение контрольной и экспериментальных групп, где обучение велось по традиционной и разработанной нами методикам. Традиционная методика не предполагала изучение дисциплины «Программирование для начинающих» - концепции объектно-ориентированного программирования формировались в рамках дисциплины «Информатика и программирование» на примере изучения объектно-ориентированного языка. Эффективность методики оценивалась по уровню сформированности компетенции в области объектно-ориентированного программирования бакалавров прикладной информатики, рассматриваемой нами как определяющей способности разрабатывать, внедрять и адаптировать прикладное программное обеспечение в структуре профессиональной компетентности бакалавра прикладной информатики, а также включающей в свой состав мотивационно-ценностный, организационно-содержательный, когнитивно-операционный и личностно-рефлексивный компоненты [8]. Критерии оценивания уровня сформированности каждого из компонентов компетенции по шкале «достаточный-средний-высокий» представлены в табл. 1. Сформированность компонент компетенции бакалавров прикладной информатики в области объектно-ориентированного программирования оценивалась на основе тестов, а также анализа выполненных обучающимися проектных работ. Тесты включали в себя вопросы, относящиеся к темам объектно-ориентированного программирования (объекты, классы, свойства отношений и т.д.). Проектные работы обучающимися выполнялись на основе заданий, которые были связаны с разработкой программ на языке C++. В качестве таких заданий нами предлагались задания-упражнения, задания на усвоение учебного материала, на составление тестовых вопросов, задания-исследования и задания на разработку программных продуктов. Примеры таких заданий для дисциплины «Информатика и программирование», соотнесенные с аналогичным заданиями, выполнявшимися в рамках «поддерживающей» дисциплины «Программирование для начинающих», приводятся в табл. 2. Уровни сформированности компетенции бакалавра прикладной информатики в области объектно-ориентированного программирования Мотивационно-ценностный компонент Организационно-содержательный компонент Когнитивно-операционный компонент Личностно-рефлексивный компонент достаточный уровень Перестройка ценностно-мотивационной сферы студентов; ощущение необходимости изучения объектно-ориентированного программирования для повышения своего профессионального уровня Понимание принципов работы, возможностей объектно-ориентированной парадигмы; умение использовать средства объектно-ориентированного программирования при решении профессиональных задач Знание принципов объектно-ориентированного программирования и умение использовать принципы объектноориентированного программирования при решении профессиональных задач Умение использовать полученные знания для решения задач в области объектно-ориентированного программирования на основе самоанализа и саморегуляции средний уровень Проявление качеств ответственности, организованности, целеустремленности; способность к самовоспитанию; готовность применять на практике полученные знания Знание технологии программирования объектно-ориентированной парадигмы; знание и умение конкретных способов ее реализации Стремление к углубленному программированию в области объектно-ориентированной парадигмы; умение практически использовать полученные знания в условиях современного программирования Способность разносторонне подходить к анализу ситуаций при решении объектно-ориентированных задач в зависимости от целей и условий высокий уровень Четкая мотивационная позиция в необходимости изучения объектно-ориентированного программирования для повышения профессионального уровня; проявление ценностных ориентаций, мотивов, адекватных целям и задачам деятельности Способность классифицировать задачи по типам и выбирать соответствующее и наиболее подходящее решение для реализации программного кода Знание методологии объектно-ориентированной парадигмы, возможностей современных информационных технологий, стремление к обретению профессиональных компетенций Умение анализировать и оценивать эффективность использования объектно-ориентированного программирования в профессиональной деятельности, наличие профессионального опыта и определенной профессиональной позиции Шкарбан Ф.В. Вестник РУДН. Серия: Информатизация образования. 2018. Т. 15. № 4. С. 388-397 392 ПРЕПОДАВАНИЕ ИНФОРМАТИКИ Примеры заданий по дисциплинам «Программирование для начинающих» и «Информатика и программирование» Таблица 2 Дисциплина «Программирование для начинающих» Дисциплина «Информатика и программирование» Программная среда Alice Программная среда Scratch Язык программирования С++ задания-упражнения Ознакомиться с методами (процедуры и функции), которые являются частью классов, используемых в анимации. Обратить внимание, что в Alice объекты представлены с набором встроенных процедур Создать проект, в котором реализован поворот объекта по часовой стрелке при нажатии на кнопку мыши Построить класс Worker (рабочий) без потомков, содержащий объявления полей данных (name - фамилия, worker_id - код, salary - размер зарплаты рабочего) и определения метода класса - функцию вне класса (Show_worker () - вывод информации о работнике в консольном режиме) задания на усвоение учебного материала Создать мир и программно реализовать: дельфин (Dolphin) плавает в океане; на некотором расстоянии летает птица (Falcon); через некоторое время птица возвращается к дельфину, а затем летит от него и возвращается к нему (на некотором расстоянии) Реализовать программно следующий алгоритм: Объект Кот издалека подходит к мячу, а затем ударяет по нему и мяч улетает. Объект Кот кричит: «Yes!». Применить эффекты приближения и удаления Создать программу, которая объявляет класс с тремя полями данных (name, воркер_id, salary) и функцией-членом (show_ worker ()), которая реализована вне класса. Все элементы класса объявим как общедоступные. В программе необходимо создать два объекта для класса worker, предоставить значение элементам данных и с помощью функции show_worker () вывести информацию о рабочих в консольном режиме задания на составление тестовых вопросов Подготовить тестовые вопросы и варианты ответов к ним по теме «Структура программы в среде Alice» Подготовить тестовые вопросы и варианты ответов к ним по теме «Интерфейс Scratch» Подготовить тестовые вопросы и варианты ответов к ним по теме «Проектирование классов и создание объектов. Реализация программы» задания-исследования Подготовьте доклад по предложенной теме. Примерные темы докладов: 1. История развития и использования программной среды Alice. 2. Интерфейс программной среде Alice. 3. Создание рабочего мира в программной среде Alice. Подготовьте доклад по предложенной теме. Примерные темы докладов: 1. Базовые программные конструкции и их реализация в среде Scratch. 2. Разветвления в Scratch. 3. Циклы в Scratch. Подготовьте доклад по предложенной теме. Примерные темы докладов: 1. Парадигмы программирования. 2. Основные понятия программирования. 3. Интегрированная среда разработчика C++. задания по разработке программного продукта Создать программу, с помощью которой реализуется фрагмент сказки «Алиса в стране чудес» Создать программу, с помощью которой реализуется игра «Тетрис» Создать программу, с помощью которой реализуется приложение «Калькулятор» Проведенный эксперимент показал, что студенты экспериментальной группы, изучавшие основы объектно-ориентированного программирования с использованием визуальных учебных сред Alice и Scratch, показывают более высокие результаты при выполнении заданий на языке C++ в рамках дисциплины «Информатика и программирование», чем студенты контрольной группы, изучавшие основы объектно-ориентированного программирования непосредственно при освоении C++. Для них характерно то, что они лучше знают и понимают планируемые результаты выполнения программы, состав и назначение требуемых классов и объектов, информационное содержание и функциональную нагрузку каждого объекта, способы взаимодействия объектов между собой. Качественные характеристики, полученные нами на основе анализа выполненных обучающимися проектных работ, подтверждаются и числовыми данными, полученными на основе тестов. Так, тестирование сформированности всех компонент компетенции бакалавров прикладной информатики в области объектно-ориентированного программирования показало, что средний балл сформированности мотивационно-ценностного компонента в экспериментальной группе возрос до 1,92 по сравнению с 1,88 у контрольной. Количество обучающихся с высоким уровнем сформированности этого компонента в экспериментальной группе возросло по сравнению с контрольной, а количество обучающихся со средним уровнем, наоборот, снизилось. Средняя сформированность организационно-содержательного компонента в экспериментальной группе нами была оценена в 1,84 балла, что значительно выше такого же показателя в контрольной группе, где он составил 1,53. Еще более заметна разница в плане оценки сформированности когнитивно-операционного компонента, где средний балл для экспериментальной и контрольной группы составил соответственно 1,84 и 1,47 баллов. Менее заметным, но все же существенным, оказался прирост уровня сформированности личностно-рефлексивного компонента - у экспериментальной группы этот показатель составил 1,98, а у контрольной 1,69. Рисунок. Сформированность компетенции бакалавра прикладной информатики в области объектно-ориентированного программирования у обучающихся экспериментальной и контрольной групп Указанные числовые данные показывают, что у студентов экспериментальной группы возросла заинтересованность в приобретении новых знаний и умений, ярко выразились потребности и интерес к изучению объектно-ориентированного программирования. Знания студентов, относящиеся к основам объектно-ориентированного программирования, а также правилам составления алгоритмов с использованием конкретного объектно-ориентированного языка, характеризуются полнотой и системностью. Общий уровень сформированности компетенции бакалавров прикладной информатики в области объектно-ориентированного программирования у обучающихся экспериментальной и контрольной групп наглядно представлен на рисунке. Подробные данные о сформированности компонент указанной компетенции, полученные нами в ходе эксперимента, представлены в табл. 3. В таблице указано процентное соотношение обучающихся с достаточным, средним и высоким уровнями сформированности каждого компонента. Среднее значение сформированности вычислялось по формуле (Д*1 балл + С*2 балла + В*3 балла)/n, где Д - количество студентов с достаточным уровнем сформированности компонента компетенции; С - количество студентов со средним уровнем сформированности компонента компетенции; В - количество студентов с высоким уровнем сформированности компонента компетенции; n - это общее количество студентов в группе. Таблица 3 Уровни сформированности компетенции бакалавра прикладной информатики в области объектно-ориентированного программирования на формирующем этапе Компоненты компетенции Экспериментальная группа (131 человек) Контрольная группа (124 человека) Уровни, % Среднее значение, балл Уровни, % Среднее значение, балл достаточный средний высокий достаточный средний высокий Мотивационно-ценностный 33,14 42,12 24,74 1,92 30,06 52,26 17,68 1,88 Организационно-содержательный 29,82 56,14 14,04 1,84 53,44 39,66 6,90 1,53 Когнитивно-операционный 31,30 53,44 15,27 1,84 54,20 36,64 3,82 1,47 Личностно-рефлексивный 26,23 49,36 24,41 1,98 49,17 41,31 9,52 1,60 Анализ результатов исследования показывает, что после проведения работы по формированию компетенции бакалавра прикладной информатики в области объектно-ориентированного программирования в экспериментальной группе наблюдалось заметное улучшение уровня подготовки обучающихся в сравнении с контрольной группой. Это подтверждается через анализ качественных характеристик, а также через сравнение числовых данных, полученных на основе тестов (достоверность нами проверена средствами математической статистики с помощью критерия Пирсона χ2). Результаты исследования позволяют заключить, что внедрение в учебный процесс методики обучения основам объектно-ориентированного программирования в рамках двух согласованных дисциплин с использованием визуальных учебных сред повышает уровень профессиональной подготовки бакалавров прикладной информатики.

×

Об авторах

Фатима Витальевна Шкарбан

Волгоградский государственный социально-педагогический университет

Автор, ответственный за переписку.
Email: shkarban3009@gmail.com

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

Российская Федерация, 400066, Волгоград, пр. имени В.И. Ленина, 27

Список литературы

  1. Андрианова А.А. Объектно-ориентированное программирование на С++. Казань: Казанский федеральный университет, 2010. 230 с.
  2. Дейтел Х., Дейтел П. Как программировать на С/С++. М.: БиномПресс, 2008. 1036 с.
  3. Шкарбан Ф.В. Обучение программированию бакалавров прикладной информатики: повышение качества подготовки на основе требований профессиональных стандартов // Электронное обучение в непрерывном образовании 2018: сборник научных трудов V Международной научно-практической конференции. Ульяновск, 2018. С. 336-345.
  4. Шкарбан Ф.В. Содержание и этапы формирования компетенции бакалавров прикладной информатики в области объектно-ориентированного // Известия Волгоградского государственного педагогического университета. 2018. № 1 (124). С. 35-41.
  5. Шкарбан Ф.В. Уровни сформированности компетенции бакалавров прикладной информатики в области объектно-ориентированного программирования // Приоритетные направления развития современного образования: сборник статей II Межрегиональной научно-практической конференции. Астрахань: Астраханский университет, 2018. С. 136-141.
  6. Johnsgard K., McDonald J. Using Alice in overview courses to improve success rates in Programming I // Proceedings of Software Engineering Education Conference. 2008. Pp. 129-136. URL: https:// www.scopus.com/inward/record.uri?eid=2-s2.0-51749114679&doi=10.1109%2fCSEET.2008.3 5&partnerID=40&md5=85a6aee957e9f7a75c5076a136a81e44/ (дата обращения: 10.07.2018).
  7. Maloney J., Resnick M., Rusk N., Silverman B., Eastmond E. The Scratch programming language and environment // ACM Transactions on Computing Education. 2010. Vol. 10 (4). No. 16. URL: https://www.scopus.com/inward/record.uri?eid=2-s2.0-78650495486&doi=10.1145%2f186835 8.1868363&partnered=40&md5=ee4242e05a2a07590b99d778056ab147/ (дата обращения: 10.07.2018).
  8. Utting I., Cooper S., Kölling M., Maloney J., Resnick M. Alice, Greenfoot, and Scratch - A discussion // ACM Transactions on Computing Education. 2010. Vol. 10 (4). No. 17. URL: https:// www.scopus.com/inward/record.uri?eid=2-s2.0-78650490609&doi=10.1145%2f1868358.18683 64&partnerID=40&md5=b740506ccdbf74a4f7087052390dd40f/ (дата обращения: 10.07.2018).
  9. Fincher S., Cooper S., Kölling M., Maloney J. Comparing Alice, Greenfoot & Scratch // SIGCSE’10 - Proceedings of the 41st ACM Technical Symposium on Computer Science Education. 2010. Pp. 192-193. URL: https://www.scopus.com/inward/record.uri?eid=2-s2.077952167618&doi=10.1145%2f1734263.1734327&partnerID=40&md5=08c01e275d9e9447be6 503304fb12bc2/ (дата обращения: 10.07.2018).

© Шкарбан Ф.В., 2018

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Данный сайт использует cookie-файлы

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

О куки-файлах