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

УДК 378.016:004.9 DOI 10.26293/chgpu.2019.105.5.017

А. А. Андреева, Л. А. Павлов, А. В. Щипцова

НЕПРЕРЫВНОЕ ФОРМИРОВАНИЕ КОМПЕТЕНЦИЙ

ПО ПРОГРАММИРОВАНИЮ У ОБУЧАЮЩИХСЯ ПО НАПРАВЛЕНИЮ ПОДГОТОВКИ БАКАЛАВРИАТА «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА»

Чувашский государственный университет имени И. Н. Ульянова, г. Чебоксары, Россия

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

Ключевые слова: вычислительная техника, дескрипторы, индикаторы, информатика, программирование, профессиональные компетенции, профессиональные стандарты.

A. A. Andreeva, L. A. Pavlov, A. V. Shchiptsova

CONTINUOUS FORMATION OF PROGRAMMING COMPETENCES AT BACHELOR'S DEGREE STUDENTS IN «INFORMATICS AND COMPUTER ENGINEERING» TRAINING PROGRAMME

I. Ulyanov Chuvash State University, Cheboksary, Russia

Abstract. The article is devoted to high-quality training of graduates of bachelor's degree educational program «Informatics and Computer Engineering»; considers general professional competences established by the relevant Federal State Educational Standard, and highlights the competence in program-

ming; pays special attention to the definition of professional competences in programming; describes the indicators and descriptors of competences, basing on the analysis of the requirements to graduates from the professional IT community, generalized labor functions of relevant professional standards, methodology and technology of software development. The continuous process of formation of competences in programming is based on the authors' curriculum of bachelor's degree educational program «Informatics and Computer Engineering».

Keywords: computer engineering, descriptors, indicators, informatics, programming, professional competences, professional standards.

Актуальность исследуемой проблемы. Введенные в 2018 г. федеральные государственные образовательные стандарты высшего образования поколения «три плюс» (далее - ФГОС ВО 3++) выдвигают ряд требований к содержанию и уровню подготовки выпускников бакалавриата, в том числе:

- определение образовательной организацией индикаторов достижения компетенций: общепрофессиональных (далее - ОПК) и профессиональных (далее - ПК);

- взаимосвязь формируемых в процессе обучения ПК с требованиями профильных профессиональных стандартов (далее - ППС).

Подготовка программистов в высшей школе осуществляется в рамках укрупненной группы специальностей и направлений подготовки 09.00.00 Информатика и вычислительная техника [14], [15]. Необходимый уровень сформированности компетенций при обучении программированию бакалавров по данному направлению подготовки будет обеспечен, если использовать методику, в которой:

- выявлена сущность компетенций по программированию;

- определены индикаторы и дескрипторы этих компетенций;

- разработана модель процесса обучения программированию и известны ее процессуальные стадии.

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

Материал и методика исследований. Материалами для исследования послужили ФГОС ВО 3++ по направлению подготовки 09.03.01 Информатика и вычислительная техника [15], примерная основная образовательная программа по направлению подготовки 09.03.01 Информатика и вычислительная техника [10], профессиональные стандарты (далее - ПС) группы 06 Связь, информационные и коммуникационные технологии «Программист» и «Системный программист» [12].

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

Основу исследования составили работы В. Е. Жужжалова [1], В. В. Калитиной [2], В. В. Лаптева [3], И. Я. Лернера [4], Ж. К. Нурбековой [5], А. В. Поволоцкого [9], Ю. А. Петровой [8], А. В. Щипцовой [7], [16] и др.

Результаты исследований и их обсуждение. Во ФГОС ВО по направлению подготовки 09.03.01 Информатика и вычислительная техника [15] установлены общепрофессиональные компетенции. Среди них выделим компетенцию ОПК-8, связанную с программированием.

Исследование проводилось на базе Чувашского государственного университета имени И. Н. Ульянова.

Анализ требований к выпускникам со стороны профессионального ГГ-сообщества Чувашской Республики, обобщенных трудовых функций, соответствующих профессиональной деятельности [11], [12], методологии и технологии разработки программного обеспечения позволил выявить и описать сущность компетенции ОПК-8, а также определить перечень и составляющие профессиональных компетенций реализуемой в указанном университете образовательной программы «Информатика и вычислительная техника», профиль «Программное обеспечение средств вычислительной техники и автоматизированных систем» (табл. 1).

Таблица 1

Компетенции бакалавра, связанные с программированием

Код и наименование компетенции Код и наименование индикатора достижения компетенции

ОПК-8. Способен разрабатывать алгоритмы и программы, пригодные для практического применения [15] ОПК-8.1. Обладает способностью формализации и разработки алгоритмов для поставленных задач

ОПК-8.2. Обладает способностью разрабатывать программный код с использованием языков программирования

ОПК-8.3. Обладает способностью оформления программного кода в соответствии с установленными требованиями

ОПК-8.4. Эффективно участвует в процессе отладки и внедрения программного кода

ПК-2. Способен разрабатывать требования и проектировать программное обеспечение (ПС «Программист») [12] ПК-2.1. Анализирует требования к программному обеспечению

ПК-2.2. Описывает спецификации на компоненты программ и их взаимодействие

ПК-2.3. С применением современных технологий проектирует программное обеспечение

ПК-3. Способен разрабатывать компоненты системных программных продуктов (ПС «Системный программист») [12] ПК-3.1. Разрабатывает драйверы устройств

ПК-3.2. Разрабатывает компиляторы, загрузчики, сборщики

ПК-3.3. Разрабатывает системные утилиты

ПК-3.4. Создает инструментальные средства программирования

Дисциплины учебного плана [14], формирующие связанные с программированием компетенции, представлены в таблице 2.

Таблица 2

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

Дисциплины учебного плана Формируемые компетенции

Программирование ОПК-8, ПК-2

Структуры и алгоритмы обработки данных (САОД) ОПК-8

Объектно-ориентированное программирование (ООП) ОПК-8, ПК-2

ШеЪ-программирование ОПК-8, ПК-2

Функциональное и логическое программирование ОПК-8, ПК-2

Технология разработки программного обеспечения (ТРПО) ПК-2

Продолжение таблицы 2

Программирование в системе 1С ОПК-8, ПК-2

Системное программирование ПК-2, ПК-3

Параллельное программирование ПК-2, ПК-3

Последовательность изучения дисциплин (диаграмма Ганта) приведена на рисунке 1.

123456789

Программирование Структуры и алгоритмы обработки. Объектно-ориентированное. \Л/еЬ-программирование Функциональное и логическое. Технология разработки. Программирование в 1С Системное программирирование Параллельное программирование

Рис. 1. Последовательность изучения дисциплин

В таблице 2 (и на рисунке 1) указаны только дисциплины, связанные непосредственно с программированием и разработкой программных продуктов. Очевидно, что преподавание этих дисциплин в той или иной степени опирается на знания, умения и навыки, формируемые дисциплинами естественнонаучной и общеинженерной направленности.

Дескрипторы - основные признаки освоения (показатели достижения результата) для компонент компетенций ОПК-8.1 и ОПК-8.2 - приведены в таблицах 3 и 4.

Обучение идет непрерывно, от простого к сложному, от известного к неизвестному [4]. На начальном этапе [2] в рамках дисциплины «Программирование» осуществляется подготовка к выполнению трудовых функций, определяемых в профессиональных стандартах [12], таких как формализация и алгоритмизация поставленных задач, написание, проверка и отладка программного кода. Важно заметить, что упор делается не на изучение языка программирования [9], а на само программирование, то есть на разработку алгоритмов решения задач с последующей реализацией разработанных алгоритмов в виде программного кода с использованием языков программирования [13]. Таким образом, язык программирования рассматривается как инструмент программной реализации алгоритмов.

На следующем этапе, в рамках дисциплины «Структуры и алгоритмы обработки данных» [6] продолжается изучение методов и приемов алгоритмизации задач, структур и алгоритмов для решения типовых задач, основных методов анализа алгоритмов и опре-

деления их вычислительной сложности. Параллельно по учебной дисциплине «Объектно-ориентированное программирование» студенты обучаются технологии ООП.

Таблица 3

Дескрипторы компоненты компетенции ОПК-8.1

ОПК-8.1. Формализует и разрабатывает алгоритмы для поставленных задач

Программирование Структуры и алгоритмы обработки данных

Знать: этапы разработки программ на ЭВМ; основные структуры алгоритмов и приемы их разработки Уметь: правильно выполнить постановку задачи; разработать алгоритм решения практической задачи Владеть: навыками разработки алгоритмов и программ с различной структурой (линейных и циклических), применения подпрограмм Знать: основы алгоритмизации, структуризации данных для решения типовых задач; вычислительную сложность алгоритмов; основные приемы экспериментального исследования алгоритмов Уметь: равильно выбирать структуры данных при проектировании алгоритмов с целью повышения их эффективности; применять математический аппарат для анализа вычислительной сложности алгоритмов Владеть: навыками применения основных структур данных и типовых алгоритмов их создания и обработки; теоретических методов их анализа для оценки вычислительной сложности

Таблица 4

Дескрипторы компоненты компетенции ОПК-8.2

ОПК-8.2. Разрабатывает программный код с использованием языков программирования

Программирование Структуры и алгоритмы обработки данных Объектно-ориентированное программирование

Знать: типы данных; операторы языка программирования; запись алгоритмов на языках программирования высокого уровня Уметь: выбирать и/или разрабатывать структуры данных; реализовывать алгоритмы на языке программирования высокого уровня Владеть: навыками разработки и отладки программ обработки различных структур данных с использованием подпрограмм Знать: особенности используемой среды программирования для реализации необходимых структур данных и алгоритмов Уметь: реализовывать алгоритмы и структуры данных в используемой среде программирования; применять методы экспериментального исследования алгоритмов и программ для определения их вычислительной сложности Владеть: практическими навыками разработки алгоритмов и структур данных и их программной реализации на языках высокого уровня; применения экспериментальных методов анализа алгоритмов Знать: способы определения абстрактных типов данных; принципы инкапсуляции, наследования и полиморфизма Уметь: применять основные принципы объектно-ориентированного программирования, определять собственные абстрактные типы данных; создавать собственные шаблонные типы и пользоваться стандартными; формировать диаграммы иМЬ Владеть: навыками использования и создания классов и методов, изменяя их для своих задач

Далее изучаются методы и технологии Web-программирования, функционального и логического программирования.

В результате к концу третьего курса обучающиеся имеют знания, умения и навыки работы практически со всеми классами языков программирования: процедурными, объектно-ориентированными, декларативными (функциональными и логическими).

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

Дисциплина «Программирование в системе 1С» предусмотрена в учебном плане для получения навыков работы с программными средствами российского производства.

Резюме. Процесс формирования компетенций программирования апробирован в Чувашском государственном университете имени И. Н. Ульянова до вступления в действие ФГОС ВО 3++ по направлению подготовки 09.03.01 Информатика и вычислительная техника. Отзывы работодателей о выпускниках и проходящих у них производственную практику студентах доказывают, что описанный выше подход к определению содержания компетенций по программированию и процессу их формирования обеспечивает соответствующий требованиям рынка труда уровень подготовки программистов. Наше исследование основывалось на преемственности подходов и подтвердило результативность выбранной методики обучения.

ЛИТЕРАТУРА

1. Жужжалов В. Е. Совершенствование содержания обучения программированию на основе интеграции парадигм программирования : автореф. дис. ... д-ра пед. наук : 13.00.02. - М., 2004. - 45 с.

2. Калитина В. В. Формирование программно-алгоритмической компетентности бакалавров информационных направлений при обучении программированию : дис. ... канд. пед. наук : 13.00.02. - Красноярск, 2015. - 163 с.

3. Лаптев В. В., Шацкий М. В. Методическая система фундаментальной подготовки в области информатики: теория и практика многоуровневого педагогического университетского образования. - СПб. : С.-Петерб. ун-т, 2000. - 508 с.

4. Лернер И. Я. Процесс обучения и его закономерности. - М. : Знание, 1980. - 96 с.

5. Нурбекова Ж. К. Теоретико-методологические основы обучения программированию. - Павлодар : Изд-во Павлодар. ун-та, 2004. - 225 с.

6. Павлов Л. А., Первова Н. В. Структуры и алгоритмы обработки данных : учебное пособие. - Чебоксары : Изд-во Чуваш. ун-та, 2018. - 254 с.

7. Первова Н. В., Щипцова А. В. Методические подходы к формированию универсальных компетенций у обучающихся по направлениям подготовки высшего образования в области информатики и информационных технологий // Вестник Чувашского государственного педагогического университета им. И. Я. Яковлева. - 2019. - № 2(102). - С. 179-186.

8. Петрова Ю. А. Дифференцированный подход при обучении объектно-ориентированному программированию в старшей школе : дис. ... канд. пед. наук : 13.00.02. - СПб., 2002. - 169 с.

9. Поволоцкий А. В., Королев Д. А., Левицкая Н. И. Проблема выбора языка для начала обучения программированию в техническом вузе // Качество. Инновации. Образование. - 2015. - № 12. - С. 23-31.

10. Примерная основная образовательная программа по направлению подготовки 09.03.01 Информатика и вычислительная техника (проект) [Электронный ресурс]. - Режим доступа : http://xn--n1aabc.xn--р1а1/роор/05&892сЪ691434ЪаШе68422Паесс.

11. Проблемы и перспективы подготовки ИТ-специалистов в России [Электронный ресурс]. - Режим доступа : http://emag.iis.ru/arc/infosoc/emag.nsfBPA/1bc9083e576b4029c3256ee7003bf5f4.

12. Профессиональные стандарты. Связь, информационные и коммуникационные технологии [Электронный ресурс]. - Режим доступа : http://fgosvo.rU/docs/101/69/2/6.

13. Столяров А. В. Язык Си и начальное обучение программированию [Электронный ресурс]. - Режим доступа : http://stolyarov.info/files/anti_c_v03.pdf.

14. Учебный план по направлению подготовки «Информатика и вычислительная техника», направленность (профиль) «Программное обеспечение средств вычислительной техники и автоматизированных систем» [Электронный ресурс]. - Режим доступа : https://www.chuvsu.ru/sveden/files/UP_09.03.01_P0SVTAS_2019.pdf.

15. Федеральный государственный образовательный стандарт высшего образования - бакалавриат по направлению подготовки 09.03.01 Информатика и вычислительная техника [Электронный ресурс]. - Режим доступа : http://fgosvo.ru/uploadflles/FGOS%20VO%203++/Bak/090301_B_3_12102017.pdf

16. Щипцова А. В. Методические подходы к формированию компетенций в области систематизации информации : дис. ... канд. пед. наук : 13.00.02. - М., 2004. - 176 с.

Статья поступила в редакцию 25.10.2019

REFERENCES

1. Zhuzhzhalov V. E. Sovershenstvovanie soderzhaniya obucheniya programmirovaniyu na osnove integracii paradigm programmirovaniya : avtoref. dis. ... d-ra ped. nauk : 13.00.02. - M., 2004. - 45 c.

2. Kalitina V. V. Formirovanie programmno-algoritmicheskoj kompetentnosti bakalavrov informacionnyh napravlenij pri obuchenii programmirovaniyu : dis. ... kand. ped. nauk : 13.00.02. - Krasnoyarsk, 2015. - 163 s.

3. Laptev V. V., ShackijM. V. Metodicheskaya sistema fundamental'noj podgotovki v oblasti informatiki: teoriya i praktika mnogourovnevogo pedagogicheskogo universitetskogo obrazovaniya. - SPb. : S.-Peterb. un-t, 2000. - 508 s.

4. Lerner I. Ya. Process obucheniya i ego zakonomernosti. - M. : Znanie, 1980. - 96 s.

5. Nurbekova Zh. K. Teoretiko-metodologicheskie osnovy obucheniya programmirovaniyu. - Pavlodar : Izd-vo Pavlodar. un-ta, 2004. - 225 s.

6. Pavlov L. A., Pervova N. V. Struktury i algoritmy obrabotki dannyh : uchebnoe posobie. - Cheboksary : Izd-vo Chuvash. un-ta, 2018. - 254 s.

7. Pervova N. V., Shchipcova A. V. Metodicheskie podhody k formirovaniyu universal'nyh kompetencij u obuchayushchihsya po napravleniyam podgotovki vysshego obrazovaniya v oblasti informatiki i informacionnyh tekhnologij // Vestnik Chuvashskogo gosudarstvennogo pedagogicheskogo universiteta im. I. Ya. Yakovleva. -2019. - № 2(102). - S. 179-186.

8. Petrova Yu. A. Differencirovannyj podhod pri obuchenii ob"ektno-orientirovannomu programmirovaniyu v starshej shkole : dis. ... kand. ped. nauk : 13.00.02. - SPb., 2002. - 169 s.

9. Povolockij A. V., Korolev D. A., Levickaya N. I. Problema vybora yazyka dlya nachala obucheniya programmirovaniyu v tekhnicheskom vuze // Kachestvo. Innovacii. Obrazovanie. - 2015. - № 12. - S. 23-31.

10. Primernaya osnovnaya obrazovatel'naya programma po napravleniyu podgotovki 09.03.01 Informatika i vychislitel'naya tekhnika (proekt) [Elektronnyj resurs]. - Rezhim dostupa : http://xn--n1aabc.xn--p1ai/poop/05fc892cb691434ba1 f5e68422f1 decc.

11. Problemy i perspektivy podgotovki IT-specialistov v Rossii [Elektronnyj resurs]. - Rezhim dostupa : http://emag.iis.ru/arc/infosoc/emag.nsf/BPA/1bc9083e576b4029c3256ee7003bf5f4.

12. Professional'nye standarty. Svyaz', informacionnye i kommunikacionnye tekhnologii [Elektronnyj resurs]. - Rezhim dostupa : http://fgosvo.ru/docs/101/69/2/6.

13. Stolyarov A. V. Yazyk Si i nachal'noe obuchenie programmirovaniyu [Elektronnyj resurs]. - Rezhim dostupa : http://stolyarov.info/files/anti_c_v03.pdf.

14. Uchebnyj plan po napravleniyu podgotovki «Informatika i vychislitel'naya tekhnika», napravlennost' (profil') «Programmnoe obespechenie sredstv vychislitel'noj tekhniki i avtomatizirovannyh sistem» [Elektronnyj resurs]. - Rezhim dostupa : https://www.chuvsu.ru/sveden/files/UP_09.03.01_P0SVTAS_2019.pdf.

15. Federal'nyj gosudarstvennyj obrazovatel'nyj standart vysshego obrazovaniya - bakalavriat po napravleniyu podgotovki 09.03.01 Informatika i vychislitel'naya tekhnika [Elektronnyj resurs]. - Rezhim dostupa : http://fgosvo.ru/uploadfiles/FG0S%20V0%203++/Bak/090301_B_3_12102017.pdf.

16. Shchipcova A. V. Metodicheskie podhody k formirovaniyu kompetencij v oblasti sistematizacii in-formacii : dis. ... kand. ped. nauk : 13.00.02. - M., 2004. - 176 s.

The article was contributed on October 25, 2019

Сведения об авторах

Андреева Антонина Аркадьевна - кандидат технических наук, доцент кафедры вычислительной техники Чувашского государственного университета имени И. Н. Ульянова, г. Чебоксары, Россия; e-mail: antonina-andreeva21@yandex.ru

Павлов Леонид Александрович - кандидат технических наук, доцент кафедры вычислительной техники Чувашского государственного университета имени И. Н. Ульянова, г. Чебоксары, Россия; e-mail: leo_pavlov@mail.ru

Щипцова Анна Владимировна - кандидат педагогических наук, доцент кафедры вычислительной техники, декан факультета информатики и вычислительной техники Чувашского государственного университета имени И. Н. Ульянова, г. Чебоксары, Россия; е-mail: avs_ivt@list.ru

Author information

Andreeva, Antonina Arkadyevna - Candidate of Technical Sciences, Associate Professor of the Department of Computer Engineering, I. Ulyanov Chuvash State University, Cheboksary, Russia; e-mail: antonina-andreeva21@yandex.ru

Pavlov, Leonid Aleksandrovich - Candidate of Technical Sciences, Associate Professor of the Department of Computer Engineering, I. Ulyanov Chuvash State University, Cheboksary, Russia; e-mail: leo_pavlov@mail.ru

Shchiptsova, Anna Vladimirovna - Candidate of Pedagogics, Associate Professor of the Department of Computer Engineering, Dean of the Faculty of Informatics and Computer Engineering, I. Ulyanov Chuvash State University, Cheboksary, Russia; е-mail: avs_ivt@list.ru