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

Модель обучения объектно-ориентированному программированию студентов младших курсов компьютерных специальностей вузов в рамках двух согласованных дисциплин. Особенности соответствующей методики. Обоснование выбора визуальных учебных сред Alice и Scratch.

Рубрика Педагогика
Вид статья
Язык русский
Дата добавления 27.05.2021
Размер файла 111,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

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

Ф.В. Шкарбан

Аннотация

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

Ключевые слова: обучение программированию, методика обучения, объектно-ориентированное программирование, Alice, Scratch, С++, педагогический эксперимент

Основная часть

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

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

языках [7]. Такое обучение адекватно реализуется в рамках двух самостоятельных, но согласованных друг с другом дисциплин, нацеленных на обучение в области базовых концепций объектно-ориентированного программирования (основой обучения здесь могут стать визуальные учебные среды, направленные на обучение программированию), а также на изучение конкретного объектно-ориентированного языка.

Соответствующая методика была разработана нами и апробирована при обучении студентов бакалавриата прикладной информатики в Крымском инженерно-педагогическом университете. В нашем случае была предложена дисциплина «Программирование для начинающих», которая выступала в качестве «поддерживающей» для изучения объектно-ориентированного языка в рамках традиционной дисциплины «Информатика и программирование» [7].

Дисциплина «Программирование для начинающих» изучается в первом семестре. Учебным планом предусмотрено проведение 36 часов аудиторных занятий, которые разделены на две равные части - занятия лекционного типа, а также лабораторные занятия.

Содержанием дисциплины было предусмотрено изучение понятий объектов и классов, моделирования и структурирования цикла разработки программы, формального определения классов и их реализации, переменных и методов вызова процедур и функций, передачи параметров. Лабораторные занятия проводились в компьютерных классах, где полученные знания в области базовых концепций объектно-ориентированного программирования применялись на практике в виде разработки программ и проектов с использованием визуальных учебных сред Alice и Scratch.

Alice и Scratch - это визуальные учебные среды, позволяющие рассматривать объектно-ориентированное программирование через построение и реализацию абстракций [1; 9]. Данные среды достаточно широко используются в школьном образовании при обучении основам программирования. Однако архитектура данных учебных сред позволяет вести разработку и сложных проектов, основанных на идеях объектно-ориентированного программирования [2; 5]. Представление модели в указанных средах происходит в терминах объектов и их взаимодействия, что позволяет формировать знания и базовые умения обучающихся об объектно-ориентированном программировании, не обращаясь к разработке программ с использованием профессиональных языков. Студенты, таким образом, получают возможность изучить базовые концепции объектно-ориентированного программирования еще до изучения конкретного языка.

Дисциплина «Информатика и программирование» является традиционной в программах подготовки бакалавров прикладной информатики. В нашем случае эта дисциплина изучалась в течение первого, второго и третьего семестров.

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

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

В качестве такого языка нами использовался язык С++, который является наиболее распространенным языком программирования на протяжении нескольких последних десятилетий [3]. Языку программирования С++ характерны такие свойства, как лаконичность, мощность, гибкость, мобильность, возможность доступа ко всем функциональным средств системы [4].

В рамках третьего семестра дисциплины «Информатика и программирование» осуществляется работа с методами и средствами объектно-ориентированного анализа и проектирования программных систем различного назначения.

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

Эффективность методики оценивалась по уровню сформированности компетенции в области объектно-ориентированного программирования бакалавров прикладной информатики, рассматриваемой нами как определяющей способности разрабатывать, внедрять и адаптировать прикладное программное обеспечение в структуре профессиональной компетентности бакалавра прикладной информатики, а также включающей в свой состав мотивационно-ценностный, организационно-содержательный, когнитивно-операционный и личностно-рефлексивный компоненты [8]. Критерии оценивания уровня сформированности каждого из компонентов компетенции по шкале «достаточный-средний-вы - сокий» представлены в табл. 1.

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

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

Таблица 1. Уровни сформированности компетенции бакалавра прикладной информатики в области объектно-ориентированного программирования

Мотивационно-ценностный

компонент

Организационно-содержательный

компонент

Когнитивно-операционный

компонент

Личностно-рефлексивный компонент

достаточный уровень

Перестройка ценностно-мотивационной сферы студентов; ощущение необходимости изучения объектно-ориентированного программирования для повышения своего профессионального уровня

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

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

Умение использовать полученные знания для решения задач в области объектно-ориентированного программирования на основе самоанализа и саморегуляции

средний уровень

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

Знание технологии программирования объектно-ориентированной парадигмы; знание и умение конкретных способов ее реализации

Стремление к углубленному программированию в области объектно-ориентированной парадигмы; умение практически использовать полученные знания в условиях современного программирования

Способность разносторонне подходить к анализу ситуаций при решении объектно-ориентированных задач в зависимости от целей и условий

высокий уровень

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

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

Знание методологии объектно-ориентированной парадигмы, возможностей современных информационных технологий, стремление к обретению профессиональных компетенций

Умение анализировать и оценивать эффективность использования объектно-ориентированного программирования в профессиональной деятельности, наличие профессионального опыта и определенной профессиональной позиции

Таблица 2. Примеры заданий по дисциплинам «Программирование для начинающих» и «Информатика и программирование»

Дисциплина «Программирование для начинающих»

Дисциплина «Информатика и программирование»

Программная среда Alice

Программная среда Scratch

Язык программирования C++

задания-упражнения

Ознакомиться с методами (процедуры и функции), которые являются частью классов, используемых в анимации. Обратить внимание, что в Alice объекты представлены с набором встроенных процедур

Создать проект, в котором реализован поворот объекта по часовой стрелке при нажатии на кнопку мыши

Построить класс Worker (рабочий) без потомков, содержащий объявления полей данных (name - фамилия, workerjd - код, salary - размер зарплаты рабочего) и определения метода класса - функцию вне класса (Show_worker () - вывод информации о работнике в консольном режиме)

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

Создать мир и программно реализовать: дельфин (Dolphin) плавает в океане; на некотором расстоянии летает птица (Falcon); через некоторое время птица возвращается к дельфину, а затем летит от него и возвращается к нему (на некотором расстоянии)

Реализовать программно следующий алгоритм: Объект Кот издалека подходит к мячу, а затем ударяет по нему и мяч улетает. Объект Кот кричит: «Yes!». Применить эффекты приближения и удаления

Создать программу, которая объявляет класс с тремя полями данных (name, Bopxepjd, salary) и функцией-членом (show_ worker ()), которая реализована вне класса. Все элементы класса объявим как общедоступные. В программе необходимо создать два объекта для класса worker, предоставить значение элементам данных и с помощью функции show_worker () вывести информацию о рабочих в консольном режиме

задания на составление тестовых вопросов

Подготовить тестовые вопросы и варианты ответов к ним по теме «Структура программы в среде Alice»

Подготовить тестовые вопросы и варианты ответов к ним по теме «Интерфейс Scratch»

Подготовить тестовые вопросы и варианты ответов к ним по теме «Проектирование классов и создание объектов. Реализация программы»

задания-исследования

Подготовьте доклад по предложенной теме. Примерные темы докладов:

1. История развития и использования программной среды Alice.

2. Интерфейс программной среде Alice.

3. Создание рабочего мира в программной среде Alice.

Подготовьте доклад по предложенной теме. Примерные темы докладов:

1. Базовые программные конструкции и их реализация в среде Scratch.

2. Разветвления в Scratch.

3. Циклы в Scratch.

Подготовьте доклад по предложенной теме. Примерные темы докладов:

1. Парадигмы программирования.

2. Основные понятия программирования.

3. Интегрированная среда разработчика С++.

задания по разработке программного продукта

Создать программу, с помощью которой реализуется фрагмент сказки «Алиса в стране чудес»

Создать программу, с помощью которой реализуется игра «Тетрис»

Создать программу, с помощью которой реализуется приложение «Калькулятор»

Проведенный эксперимент показал, что студенты экспериментальной группы, изучавшие основы объектно-ориентированного программирования с использованием визуальных учебных сред Alice и Scratch, показывают более высокие результаты при выполнении заданий на языке C++ в рамках дисциплины «Информатика и программирование», чем студенты контрольной группы, изучавшие основы объектно-ориентированного программирования непосредственно при освоении C++. Для них характерно то, что они лучше знают и понимают планируемые результаты выполнения программы, состав и назначение требуемых классов и объектов, информационное содержание и функциональную нагрузку каждого объекта, способы взаимодействия объектов между собой.

Качественные характеристики, полученные нами на основе анализа выполненных обучающимися проектных работ, подтверждаются и числовыми данными, полученными на основе тестов. Так, тестирование сформированности всех компонент компетенции бакалавров прикладной информатики в области объектно-ориентированного программирования показало, что средний балл сформированности мотивационно-ценностного компонента в экспериментальной группе возрос до 1,92 по сравнению с 1,88 у контрольной. Количество обучающихся с высоким уровнем сформированности этого компонента в экспериментальной группе возросло по сравнению с контрольной, а количество обучающихся со средним уровнем, наоборот, снизилось.

Средняя сформированность организационно-содержательного компонента в экспериментальной группе нами была оценена в 1,84 балла, что значительно выше такого же показателя в контрольной группе, где он составил 1,53. Еще более заметна разница в плане оценки сформированности когнитивно-операционного компонента, где средний балл для экспериментальной и контрольной группы составил соответственно 1,84 и 1,47 баллов. Менее заметным, но все же существенным, оказался прирост уровня сформированности личностно-рефлексивного компонента - у экспериментальной группы этот показатель составил 1,98, а у контрольной 1,69.

обучение программирование студент компьютерный

Сформированность компетенции бакалавра прикладной информатики в области объектно-ориентированного программирования у обучающихся экспериментальной и контрольной групп

Указанные числовые данные показывают, что у студентов экспериментальной группы возросла заинтересованность в приобретении новых знаний и умений, ярко выразились потребности и интерес к изучению объектно-ориентированного программирования. Знания студентов, относящиеся к основам объектно-ориентированного программирования, а также правилам составления алгоритмов с использованием конкретного объектно-ориентированного языка, характеризуются полнотой и системностью.

Общий уровень сформированности компетенции бакалавров прикладной информатики в области объектно-ориентированного программирования у обучающихся экспериментальной и контрольной групп наглядно представлен на рисунке.

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

где Д - количество студентов с достаточным уровнем сформированности компонента компетенции; С - количество студентов со средним уровнем сформированности компонента компетенции; В-количество студентов с высоким уровнем сформированности компонента компетенции; п - это общее количество студентов в группе.

Таблица 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). Результаты исследования позволяют заключить, что внедрение в учебный процесс методики обучения основам объектно-ориентированного программирования в рамках двух согласованных дисциплин с использованием визуальных учебных сред повышает уровень профессиональной подготовки бакалавров прикладной информатики.

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

[1] Андрианова А.А. Объектно-ориентированное программирование на C++. Казань: Казанский федеральный университет, 2010. 230 с.

[2] Дейтел Х, Дейтел П. Как программировать на C/C++. М.: БиномПресс, 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 ofSoftware 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., Kolling 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., Kolling 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.0 - 77952167618&doi=10.1145% 2f1734263.1734327&partnerID=40&md5=08c01e275d9e9447be6 503304fb12bc2/ (дата обращения: 10.07.2018).

References

[1] Andrianova A.A. Ob» ektno-orientirovannoe programmirovanie na S++ [Object-oriented programming in C++]. Kazan': Kazanskij federal'nyj universitet, 2010. 230 p.

[2] Dejtel H., Dejtel P. Kakprogrammirovat' na S/S++ [How to program in C/C++]. Moscow: BinomPress, 2008. 1036 p.

[3] Shkarban F.V. Obuchenie programmirovaniyu bakalavrov prikladnoj informatiki: povyshenie kachestva podgotovki na osnove trebovanij professional'nyh standartov [Programming training bachelors applied computer science: improving the quality of training based on the requirements of professional standards]. Ehlektronnoe obuchenie v nepreryvnom obrazovanii 2018 [E-learning in lifelong education 2018]: sbornik nauchnyh trudov V Mezhdunarodnoj nauchno-prakticheskoj konferencii. Ul'yanovsk, 2018. Pp. 336-345.

[4] Shkarban F.V Soderzhanie i ehtapy formirovaniya kompetencii bakalavrov prikladnoj informatiki v oblasti ob» ektno-orientirovannogo [The contents and stages of formation of competence of the bachelors of applied Informatics in the field of object-oriented]. Izvestiya Volgogradskogo gosudarstvennogo pedagogicheskogo universiteta [Proceedings of Volgograd State Pedagogical University]. 2018. No. 1 (124). Pp. 35-41.

[5] Shkarban F.V Urovni sformirovannosti kompetencii bakalavrov prikladnoj informatiki v oblasti ob» ektno-orientirovannogo programmirovaniya [Levels of formation of competences of bachelors of applied science in the field of object-oriented programming]. Prioritetnye napravleniya razvitiya sovremennogo obrazovaniya [The priority directions of development of modern education]: sbornik statej II Mezhregional'noj nauchno-prakticheskoj konferencii. Astrahan': Astrahanskij universitet, 2018. Pp. 136-141.

[6] Johnsgard K., McDonald J. Using Alice in overview courses to improve success rates in Programming I. Proceedings 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.35&pa rtnerID=40&md5=85a6aee957e9f7a75c5076a136a81e44/ (accessed: 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. 10 (4). No. 16. URL: https:// www.scopus.com/inward/record.uri? eid=2-s2.0-78650495486&doi=10.1145% 2f1868358.18683 63&partnered=40&md5=ee4242e05a2a07590b99d778056ab147/ (accessed: 10.07.2018).

[8] Utting I., Cooper S., Kolling M., Maloney J., Resnick M. Alice, Greenfoot, and Scratch - A discussion. ACM Transactions on Computing Education. 2010. 10 (4). No. 17. URL: https://www scopus.com/inward/record.uri? eid=2-s2.0-78650490609&doi=10.1145% 2f1868358.1868364&p artnerID=40&md5=b740506ccdbf74a4f7087052390dd40f/ (accessed: 10.07.2018).

[9] Fincher S., Cooper S., Kolling 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.0-77952167618&doi=10.1145% 2f1734263.1734327&partnerID=40&md5=08c01e275d9e9447be6503304fb12bc2/ (accessed: 10.07.2018).

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.