Научный журнал
Научное обозрение. Педагогические науки
ISSN 2500-3402
ПИ №ФС77-57475

ШКОЛА-ВУЗ: ОСУЩЕСТВЛЕНИЕ ПРЕЕМСТВЕННОСТИ В ОБУЧЕНИИ ПРОГРАММИРОВАНИЮ

Кудрина Е.В. 1 Огнева М.В. 1
1 ФГБОУ ВО «СГУ имени Н.Г. Чернышевского»
Данная статья посвящена проблеме преемственности школьного и вузовского образования в обучении программированию. Рассмотрены разные подходы к определению понятия «учебник», выделено понятие, которое предполагает, что учебник наряду с учебным материалом должен предлагать и методику работы с ним. Дан обзор серий учебников по программированию на языках Pascal, С++, С#, которые были разработаны авторами для решения проблемы преемственности обучения программированию в школе и в вузе. В каждой серии учебников реализовано сочетание системности, фундаментальности, практической значимости в изложении учебного материала, а также индивидуализации учебной деятельности при закреплении практических навыков программирования. Для каждой серии рассмотрена структура и содержание учебника, даны рекомендации к их использованию в учебном процессе. Все учебники прошли многолетнюю апробацию в школах и лицеях г. Саратова, а также в Саратовском национально исследовательском государственном университете имени Н.Г. Чернышевского.
учебник
обучение программированию
преемственность школьного и вузовского образования
1. Филатова Л.О. Развитие преемственности школьного и вузовского образования в условиях профильного обучения в старшем звене школы [Электронный ресурс]// Электронный научный журнал «Вестник Омского государственного педагогического университета». – Выпуск 2006. – Режим доступа: http://www.omsk.edu/article/vestnik-omgpu-96.pdf
2. Педагогика школы: учебное пособие для студентов педагогических институтов/ Под ред. Г.И. Щукиной – М.: Просвещение, 1977. – 383 с.
3. Проблемы школьного учебника. XX век. Итоги. /Под ред. Д.Д. Зуева – М.: Просвещение, 2004. – 384 с.
4. Беспалько В.П. Учебник. Теория создания и применения. – М: Народное образование, НИИ школьных технологий, 2006. – 188 с.
5. Имангожина О.З. Основные направления развития теории школьного учебника// Международный журнал прикладных и фундаментальных исследований: Издательский Дом «Академия Естествознания» (Пенза). – 2015. – № 12-5. – с. 899-901.
6. Кудрина Е.В., Огнева М.В. Учебное пособие «Turbo Pascal: первые шаги. Примеры и упражнения»// Фундаментальные исследования: Издательский Дом «Академия Естествознания» (Пенза). – 2009. – № S4. – с. 80.
7. Огнева М.В., Кудрина Е.В. Turbo Pascal: первые шаги. Примеры и упражнения. Изд.3-е, перераб. и доп. – Саратов: Издательство «Научная книга», 2008. – 100 с.
8. Огнева М.В., Кудрина Е.В. Turbo Pascal: типы данных и алгоритмы. – Саратов: Издательство «Научная книга», 2005. – 72 с.
9. Огнева М.В., Кудрина Е.В. Turbo Pascal: списки, деревья, графы. – Саратов: Издательство «Научная книга», 2006 – 88 с.
10. Огнева М.В., Кудрина Е.В. Основы программирования на языке С++. Часть 1. – Саратов: Издательство «Научная книга», 2008 – 100 с.
11. Огнева М.В., Кудрина Е.В. Основы программирования на языке С++. Часть 2. – Саратов: Издательство «Наука», 2009 – 100 с.
12. Огнева М.В., Кудрина Е.В. Структуры данных и алгоритмы: программирование на языке С++. Часть 1. – Саратов: Издательство «Наука», 2013 – 100 с.
13. Кудрина Е.В., Огнева М.В. Программирование в среде VISUAL STUDIO.NET: разработка приложений на языке С#. – Саратов: ООО Издательство «Кубик», 2010. — 546 с.
14. Казачкова А.А., Кудрина Е.В., Огнева М.В., Федорова А.Г. Из опыта сотрудничества Саратовского государственного университета с бизнес-структурами при подготовке IT-специалистов // Преподавание информационных технологий в Российской Федерации: материалы Двенадцатой открытой Всероссийской конференции. – Казань: Изд-во КФУ, 2014. – С. 167-170.
15. Кудрина Е.В., Лапшева Е.Е., Огнева М.В., Федорова А.Г. Интернет-обучение информатике и программированию: доступность, качество и результат// Труды XVII Всероссийской научно-методической конференции «Телематика-2010». – С.-Петербург, 2010, с. 214-216
16. Кудрина Е.В., Лапшева Е.Е., Огнева М.В., Федорова А.Г. Реализация концепции непрерывной подготовки IT-специалистов на факультете компьютерных наук и информационных технологий Саратовского государственного университета// Компьютерные науки и информационные технологии: Материалы международной науч. конф. – Саратов: Изд-во Сарат. ун-та, 2010. – C. 92-98.

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

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

Прежде чем перейти к обзору разработанных учебников, остановимся на понятии «учебник». Анализируя научные труды Г.И. Щукиной, Д.Д.Зуев, В.П. Беспалько, О.З. Имангожина можно выделить несколько трактовок данного понятия.

Г.И Щукина понятие «учебник» определяет как «книга, которая в строгой системе излагает основное содержание учебного предмета» [2].

Д.Д. Зуев несколько расширяет и уточняет понятие «учебника» – «это массовая учебная книга, излагающая предметное содержание образования и определяющая виды деятельности, предназначенные школьной программой для обязательного усвоения учащимися с учетом их возрастных или иных особенностей» [3].

В.П. Беспалько определяет понятие «учебник» как комплексную четырехэлементную информационную модель педагогической системы – цели обучения, содержания обучения, выбор и разработка дидактических процессов, ориентация на определенные организационные формы обучения [4].

О.З. Имангожина в своей работе [5] уточняет, что «учебник предлагает наряду с учебным материалом методику работы с ним, т.е. предоставляет учителю приемы обучения и освоения учебного материала, а ученику приемы изучения и усвоения учебного материала». Данное определение наиболее близко представлениям авторов о понятии «учебник».

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

Данные выводы были использованы авторами для разработки серии учебников по программированию на языках Pascal, С++ и С#. Перейдем к обзору учебников.

Первая серия учебников по программированию на языке Pascal состоит из трех учебников «Turbo Pascal: первые шаги. Примеры и упражнения» [6, 7], «Turbo Pascal: типы данных и алгоритмы» [8], «Turbo Pascal: списки, деревья, графы» [9].

Учебник «Turbo Pascal: первые шаги. Примеры и упражнения» содержит вводный курс по программированию на языке Pascal, поэтому начальных знаний языка у читателей не требуется. Состоит из десяти разделов: базовые элементы и структура языка Pascal; операторы ветвления; операторы цикла; вложенные циклы; рекуррентные соотношения; вычисление сумм и произведений; строки; решение практических задач; интегрированная среда программирования Turbo Pascal.

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

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

Учебник «Turbo Pascal: типы данных и алгоритмы» представляет собой разработку по изучению основ структурного программирования на языке Pascal. Состоит из шести разделов, в которых рассматривается: файловый тип данных (стандартные процедуры и функции для работы с файлами и основные приемы работы с типизированными и текстовыми файлами); принципы проектирования, разработки и применения процедур и функций для решения практических задач; рекурсивные процедуры и функции; тип данных запись; принципы проектирования и разработки модулей, которые являются неотъемлемыми компонентами разработки библиотек вспомогательных подпрограмм; алгоритмы внутренней сортировки.

В учебнике «Turbo Pascal: списки, деревья, графы» рассматриваются структуры данных и алгоритмы, которые являются фундаментом современного программирования. Состоит из четырех разделов. В первом разделе рассматриваются вопросы работы с динамической памятью, создание и удаление динамических переменных (указателей). Во втором разделе на примере стека, очереди, однонаправленного и двунаправленного списков рассматривается абстрактный тип данных (АТД) «список» и его реализация с помощью указателей. В третьем разделе рассматривается АТД «дерево» и основные структуры данных, которые эффективно поддерживают различные операции, выполняемые над деревьями. В четвертом разделе рассматривается АТД «граф» (ориентированный и неориентированный) и различные структуры данных, используемые при реализации графов, а также основные алгоритмы для работы с графами: обходы в глубину и в ширину, алгоритмы Дейкстры и Флойда. Все разделы содержат примеры решения практико-ориентированных задач с использованием изученных АТД.

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

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

1) школьникам старших классов, изучающим информатику на профильном уровне;

2) абитуриентам, сдающим информатику в качестве ЕГЭ;

3) студентам естественнонаучных направлений и специальностей начальных курсов для подготовки по дисциплинам компьютерного цикла;

4) преподавателям всех ступеней образования для подготовки и проведения соответствующих занятий.

Содержание и методика изложения учебного материала была апробирована, а затем внедрена в учебный процесс таких образовательных учреждений города Саратова как «Физико-технический лицей №1», «Лицей прикладных наук», «Лицей математики и информатики» и Саратовский национальный исследовательский государственный университет имени Н.Г. Чернышевского (СГУ) (факультеты – механико-математический, физический, химический, а также подготовительное отделение факультета компьютерных наук и информационных технологий). Следует отметить, что школьники и студенты данных учебных заведений стабильно занимают высокие места на региональных, всероссийских и международных олимпиадах по программированию.

В настоящий момент серия учебников по программированию на языке Pascal активно используются при обучении программированию студентов СГУ по направлению 44.03.01 «Педагогическое образование» (профиль «Информатика») в рамках таких учебных дисциплин как «Программирование» и «Структуры и алгоритмы данных». Выпускники данного направления, прейдя в школу, готовы реализовать базовую концепцию обучения программированию на языке Pascal.

Вторая серия учебников по программированию состоит из двух учебников «Основы программирования на языке С++» (в двух частях) [10, 11], «Структуры данных и алгоритмы: программирование на языке С++» (в двух частях) [12].

Цель учебника «Основы программирования на языке С++» – дать правильное представление о возможностях языка С++ и способах их применения для решения практических задач, а также мотивировать к изучению этого и других языков программирования высокого уровня.

Часть 1 данного учебника состоит из шесть разделов: базовые элементы языка С++; функции языка С++ (базовые понятия); операторы языка С++; рекуррентные соотношения; вычисление конечных и бесконечных сумм и произведений; массивы.

Часть 2 данного учебника содержит восемь разделов: технологии программирования; строки; функции в С++ (рекурсивные функции и перегрузка функций); организация файлового ввода-ввода; структуры; сортировки; класс-контейнер «вектор»; исключения.

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

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

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

Часть 1 данного учебника состоит из шести разделов. В первом разделе рассматриваются основные понятия и принципы объектно-ориентированного программирования. Во втором разделе рассматриваются основные приемы правильного оформления программ, распространенные среди разработчиков современного программного обеспечения. Третий и четвертый разделы пособия посвящены описанию объектно-ориентированных возможностей языка С++, позволяющих успешно создавать программы большого объема. В пятом разделе рассматривается объектно-ориентированная реализация АТД «список» – однонаправленных списков (общего вида, стека и очереди) и двунаправленного списка. В шестом разделе рассматривается реализация списков с помощью классов-контейнеров стандартной библиотеке шаблонов STL.

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

В учебнике «Структуры данных и алгоритмы: программирование на языке С++» присутствует ряд заданий, которые являются аналогами заданий из учебника «Turbo Pascal: списки, деревья, графы. Однако подход к решению практических задач в данном случае совершенно другой, в соответствии с возможностями, которые предоставляет для этого язык С++, а также технология объектно-ориентированного программирования. Большое внимание уделяется приемам правильного оформления программного кода, что важно при разработке больших программных комплексов и является одним из главных требований при промышленном программировании.

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

1) школьникам старших классов, изучающим факультативные курсы по программированию, а также осваивающим высокоуровневые языки программирование самостоятельно;

2) абитуриентам, сдающим информатику в качестве ЕГЭ;

3) студентам IT-направлений и специальностей начальных курсов для подготовки по дисциплинам компьютерного цикла;

4) преподавателям всех ступеней образования для подготовки и проведения соответствующих занятий.

Содержание и методика изложения учебного материала была апробирована, а затем внедрена в учебный процесс СГУ (факультеты – компьютерных наук и информационных технологий, механико-математический).

В настоящий момент серия учебников по программированию на языке C++ используются при обучении программированию студентов СГУ по направлению 44.03.01 «Педагогическое образование» (профиль «Информатика») в рамках такой учебной дисциплины как «Обзор языков программирования». Благодаря чему выпускники данного направления будут готовы к работе с одаренными подростками в области программирования, в том числе к подготовке школьников к участию в олимпиадах по программированию.

Третья серия состоит из учебника «Программирование в среде VISUAL STUDIO.NET: разработка приложений на языке С#»[13] .

Разработка данного учебника проходила по заказу и при активном участии компании EPAM Systems – крупнейшего разработчика заказного программного обеспечения и одного из ведущих игроков в области консалтинга в Центральной и Восточной Европе [14]. Благодаря этому в материалы был включен ряд практических советов, которые могут оказаться полезными не только студентам в учебной деятельности, но и программистам при разработке реальных проектов.

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

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

Содержание и методика изложения учебного материала была апробирована на курсах учебного центра компании EPAM Systems, а затем внедрена в учебный процесс СГУ (факультет – компьютерных наук и информационных технологий) в рамках дисциплины «Структуры и алгоритмы компьютерной обработки данных» для направления 02.03.03 «Математическое обеспечение и администрирование информационных систем», а также в рамках дисциплины «Технологии программирования» для направления 44.03.01 «Педагогическое образование» (профиль «Информатика»). Благодаря чему студенты первого направления будут готовы продолжать осваивать современные технологии .NET, а выпускники второго направления будут готовы к проведению в школе кружков по современным технологиям программирования, а также к профориентационной работе со школьниками в IT-области.

Следует отметить, что согласно требованиям федеральных государственных образовательных стандартов высшего образования «электронная информационно-образовательная среда (ЭИОС) организации должна обеспечивать: доступ к учебным планам, рабочим программам дисциплин и практик, к изданиям электронных библиотечных систем и электронным образовательным ресурсам, указанным в рабочих программах». С целью выполнения данного требования на основе рассмотренных учебников по программированию были разработаны электронные образовательные курсы (ЭОК) на портале «Обучение информатике и программированию» (http://school.sgu.ru), входящему в состав ЭИОС СГУ [15].

Данный портал технологически реализован на основе взаимодействия двух систем LMS Moodle и Contester. LMS Moodle позволяет создавать ЭОК, а также управлять их использованием. А система Contester – уникальная разработка сотрудников Поволжского регионального центра новых информационных технологий СГУ – позволяет автоматически проверять правильность работы компьютерных программ. Доступные компиляторы для системы Contester: Borland Pascal 7.0, Borland Delphi 7.0, PascalABS, Free Pascal, Borland C++ 3.1, Visual Studio C++ 2010, Visual Studio С# 2010, Java 7.0 и MinGW GCC G++.

Данный портал активно используются в школах Саратова и Саратовского области, а также в СГУ. Всего за время существование портала на нем было зарегистрировано более 18 тысяч пользователей. Только за последний месяц с ресурсами портала активно работало более тысячи пользователей. Сборник задач по программированию содержит 637 задач, структурированных по различным тематикам: линейные алгоритмы, ветвление, циклические алгоритмы, рекуррентные соотношения, одномерные массивы, двумерные массивы, символьный и строковый тип данных, подпрограммы, рекурсия, записи, сортировка, структуры данных (списки, деревья, графы), алгоритмы вычислительной геометрии, комбинаторные алгоритмы динамическое программирование.

Система Contester при автоматической проверке программы учитывает не только правильность решения, но и время выполнения программы. Каждая задача проверяется на N-тестах. Если программа прошла тест, то выдается сообщение «Тест принят», если нет, то сообщение «Неверный ответ». Если программы превысила допустимое время выполнения, то выдается сообщение «Превышен лимит времени». Если программа не уложилась в отведенный объем памяти, то выдается сообщение «Превышен лимит памяти».

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

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

В заключение следует отметить, что представленная серия учебников является частью комплексной программы непрерывной подготовки IT-специалистов, реализуемой СГУ на протяжении многих лет [16].


Библиографическая ссылка

Кудрина Е.В., Огнева М.В. ШКОЛА-ВУЗ: ОСУЩЕСТВЛЕНИЕ ПРЕЕМСТВЕННОСТИ В ОБУЧЕНИИ ПРОГРАММИРОВАНИЮ // Научное обозрение. Педагогические науки. – 2017. – № 5. – С. 108-113;
URL: https://science-pedagogy.ru/ru/article/view?id=1674 (дата обращения: 19.04.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674