№ 4(34) 2011
А. Д. Шеметова, канд. пед. наук, старш. преподаватель кафедры прикладной математики Озёрского технологического института — филиала Национального исследовательского
ядерного университета «МИФИ», г. Озёрск
Использование современных информационных технологий в обучении программированию студентов вуза
Отсутствие общепризнанных методических стандартов в обучении компьютерному программированию продолжает стимулировать исследования и эксперименты, направленные на поиск наиболее эффективных решений.
Введение
Традиционные методы обучения без привлечения современных технологий уже не всегда соответствуют уровню требований, которые предъявляются к молодым специалистам любого профиля. Активное внедрение информационных технологий в учебный процесс — это не только веление времени, но и результат повышения роли студентов в образовательном процессе, их стремления найти новые эффективные способы получения и освоения информации.
Рассмотрим основные особенности подготовки студентов в области программирования в вузе и определим возможность оптимизации процесса обучения с помощью внедрения современных информационных технологий.
Одна из особенностей обучения программированию — сложность выбора проверенных длительным сроком методов, приемов и средств, что обусловлено их небольшим количеством. Методические материалы по языкам программирования (современным на момент обучения) устаревают за 2-3 года. Даже парадигмы сравнительно быстро уходят в прошлое. Такое положение вынуждает будущих специалистов не только обладать конкретным набором знаний и умений и быть компетентными в нескольких языках,
но и иметь устойчивую сформированную потребность в постоянном самосовершенствовании.
При наличии широкого спектра систем и языков программирования содержание подготовки в этой области должно, с одной стороны, обеспечивать изучение наиболее актуальных в настоящее время методов и средств программирования, а, с другой стороны, предусмотреть тенденции развития технологий на некоторую перспективу.
Многие авторы обращают внимание на важность развития самостоятельности при изучении программирования. Также в деятельности студентов должна преобладать практическая работа (вещественные и умственные действия), в ходе которой особую роль играет самостоятельный мыслительный процесс, позволяющий осуществить поиск данных и решение задачи [5].
Еще одна существенная особенность методики обучения программированию — как минимум дифференцированный подход, а желательно — и индивидуальный. Следствием того, что в процессе изучения программирования ведущей является самостоятельная деятельность, наблюдается повышенная мотивация у сильных студентов и пониженная у неуспевающих. Причем разрыв в уровне мотивации соответствует разрыву в уровне подготовки студентов.
№ 4 (34) 2011
Повышение мотивации к учению произойдет только при применении индивидуального подхода. В этом отношении наличие компьютера как средства обучения также следует рассматривать как возможность повышения мотивации у студентов, особенно на начальных этапах обучения.
Принимая во внимание перечисленные особенности обучения языкам программирования, рассмотрим, как можно построить содержание лекционных и практических занятий при обучении студентов программированию с использованием современных информационных технологий.
Организация лекционной работы
&
ш Главное назначение лекционной работе ты — обеспечить теоретическую основу обу-§ чения, развить интерес к учебе и конкретной ^ учебной дисциплине, способствовать форми-| рованию у обучающихся творческого мышле-§ ния и ориентиров для самостоятельной работы над курсом [1]. | При формировании лекционного курса ¡5 по программированию очень важно пра-^ вильно подобрать наиболее эффективную | концепцию, которая ляжет в основу курса.
Обычно используют следующие подходы
® к определению структуры лекций [3]:
1. Подход, ориентированный на язык.
§ Выбирается язык программирования, на основе изучения которого и строится изложе-
£ ние курса. Подход в настоящее время дос-
| таточно широко используется при обучении
§ начинающих программистов, а также при
| обучении технологиям низкоуровневого про-
& граммирования на ассемблере. Кроме того,
Л он может быть очень эффективным, когда
§ в курсе программирования рассматривает-
| ся широкий спектр информационных задач,
I при этом для алгоритмизации разных их ти-
§ пов удобны различные языки программиро-
<и вания. В такой ситуации полезно проводить
| сравнительный анализ различных языков
§ программирования, и изучение каждого сле-
| дующего языка строить, опираясь на знания
г! о ранее изученном языке.
Для чтения курса лекций, разработанного на данных принципах, требуется менее оснащенное помещение, чем в других случаях, в принципе, можно использовать обычную доску и мел.
2. Системно-ориентированный подход. Выбирается наиболее предпочтительная среда программирования, и на использовании ее возможностей строится курс лекций и практических занятий. Изучение среды программирования начинается с изучения графического интерфейса пользователя, при этом необходимо научить слушателей задавать правильные настройки программной среды. Кроме того, в современных программных системах заложены возможности использования готовых фрагментов кодов, которые требуется грамотно включать в создаваемое программное приложение.
3. Информационно-ориентированный подход. Целесообразен в тех случаях, когда проводится обучение программированию специалистов, профессиональная деятельность которых связана с определенной достаточно локализованной областью информационной обработки, например, это могут быть базы данных, полиграфическая деятельность, компьютерная графика и т. п. В данном случае обычно начинают с подробного исследования структуры обрабатываемой информации, обозначая ее характерные черты, особенности и типичные приемы алгоритмизации в рассматриваемой сфере. На основе проведенного анализа очерчивают круг имеющихся подходящих программных средств и выбирают наиболее удобную систему программирования, обосновав выбор описанием ее достоинств в конкретной ситуации.
4. Концептуальный подход. Ориентирован на изложение основополагающих принципов, лежащих в основе создания вычислительной техники, алгоритмизации и программирования в целом, при этом все частности, свойственные вышеупомянутым подходам, остаются за рамками курса. Сопровождение курса практическими занятиями может базироваться на любой из вышеупомянутых концепций.
№ 4(34) 2011
Концептуальный подход весьма уместен в университетах и позволяет слушателям параллельно с конкретными практическими навыками дать знания о теоретических основах программирования и о современных тенденциях развития компьютерных наук.
5. Объектно-ориентированный подход. Описание процесса обработки информации дается с позиций взаимодействия информационных объектов. Каждый из объектов обладает характеризующими свойствами и методами, т. е. набором функций, которые позволяют реализовать все действия объекта, обеспечивают доступ к его свойствам, а также его взаимодействие с другими объектами.
В случае выбора подобной базовой концепции последующее изложение материала строится на объектной формулировке каждой информационной задачи и соответствующей алгоритмизации. Данный подход развивает информационно-ориентированный подход, так как вопросы выбора инструментальной среды, а именно языка и системы программирования, остаются на втором плане и не являются значимыми. Описанный принцип уместен в тех ситуациях, когда цель курса — именно освоение объектных технологий и навыков их использования.
При обучении программированию целесообразно использование объектно-ориентированной концепции как базовой, лежащей в основе лекционного курса в сочетании с системно-ориентированным подходом. Достоинство решения заключается в том, что оно сразу включает слушателей в созидательный процесс практического использования готовых программных блоков, вызывая у них большую заинтересованность. Задача изучения языковых особенностей и возможностей при этом отходит на второй план, а на первый план выходит задача выработки умения конструировать программный продукт из собственных и имеющихся в распоряжении стандартных заготовок программных фрагментов.
Особенность данного подхода — демонстрация излагаемого материала непосредст-
венно на компьютере с использованием про- | ектора или сетевых обучающих систем, что | является одним из перспективных направле- Э ний развития образования. ^
Опыт проведения лекций с использова- ^ нием информационных технологий показывает, что объем и качество усвоения студентами учебной информации увеличивается. Изложение лекционного материала приобретает динамичность, убедительность, эмоциональность и красочность. К достоинствам мультимедийного курса лекций также относят:
• повышение содержательности лекции (не надо писать мелом на доске);
• повышение наглядности обучения за счет использования различных форм представления учебного материала (текст, формулы, графики, рисунки, диаграммы, таблицы и др.);
• стимулирование мотивации обучения;
• повторение наиболее сложных моментов лекции;
• доступность и улучшение восприятия информации за счет параллельного представления информации в разных модальностях: визуальной и слуховой;
• восстановление внимания аудитории в фазе его биологического снижения (25-30 мин. после начала лекции и последние минуты лекции) за счет художественно-эстетического выполнения слайдов-заставок или разумно применяемой анимации и звукового эффекта;
• повторение (обзор, краткое воспроизведение) материала предшествующей лекции;
• создание преподавателю комфортных условий работы на лекции [4].
При проведении лекций автор опиралась на вышеизложенный положительный дидактический потенциал средств мультимедиа, также использовала преимущества традиционных проблемных лекций и лекций-дискуссий.
На лекции проблемного характера слушатели находятся в постоянном процессе «сомышления» с лектором и в конечном ито-
-ч ПРИКЛАДНАЯ ИНФОРМАТИКА
№ 4 (34) 2011 ' -
ге становятся соавторами в решении проблемных задач. Все это приводит к положительным результатам. Во-первых, сведения, усвоенные на лекции, делаются достоянием слушателей, т. е. в какой-то степени знаниями-убеждениями. Во-вторых, усвоенные активно, они глубже запоминаются и легко актуализируются (обучающий эффект), обладают свойством переноса на другие ситуации (эффект развития творческого мышления). В-третьих, решение проблемных задач выступает своеобразным тренажером в развитии интеллекта (развивающий эффект). В-четвертых, подобного рода лекция повышает интерес к содержанию и усиливает профессиональную подготовку (эффект || психологической подготовки к будущей дея-^ тельности).
Лекция-дискуссия оживляет учебный про-§ цесс, активизирует познавательную деятель-^ ность аудитории и позволяет педагогу управ-| лять коллективным мнением группы (потока), § используя режиссуру в целях убеждения, преодоления негативных установок и оши-| бочных мнений некоторых слушателей [2]. ¡5 Таким образом, учитывая вышеуказанные ^ достоинства, автор строила лекционную ра-| боту по программированию с использованием современных информационных техноло-® гий обучения следующим образом:
1. Студенты заранее самостоятельно § знакомятся с электронным конспектом предстоящей лекции. В конце материала предла-£ гаются варианты, состоящие из трех стан-| дартных типовых задач по данной теме. Для § решения своего варианта студенты могут | объединяться в группы по 2-3 чел. & 2. На лекции преподаватель напоминает Л содержание темы, теоретический материал § (основные понятия, алгоритмы, реализацию | алгебраических структур, методы, необхо-| димые для решения заданий). | 3. Студенты демонстрируют решения за-<и даний. При этом для сокращения времени | преподавателем должны быть заранее со-§ ставлены основные конструкции, элементы | задач. Докладчик по ходу занятия уже из го-га товых блоков составляет решение.
4. После запуска на ЭВМ и проверки работоспособности программы проводится совместное обсуждение и сравнительный анализ возможных вариантов решения задач, заявленных студентами. В результате выбирается наиболее рациональный и целесообразный способ решения.
Используемая методика проведения лекций, помимо достоинств типичного мультимедийного курса с использованием компьютерных презентаций, имеет ряд следующих преимуществ:
• существенно меняется характер проведения занятия и характер взаимодействия студента и преподавателя. Лекция превращается в разбор непонятного. Сигналы обратной связи (от учащихся к преподавателю) поступают значительно чаще, чем при классическом лекционно-группо-вом обучении, в результате преподаватель располагает более подробной информацией относительно того, как студент усваивает излагаемый материал и какие вопросы у него возникают. Вследствие этого повышается эффективность управления процессом обучения — преподаватель своевременно обнаруживает недостатки в усвоении материала студентами и оперативно устраняет их;
• за счет проработки решений типовых задач на лекции на практических занятиях появляется возможность решать более сложные нестандартные задачи;
• отсутствует необходимость ведения учащимися конспектов на лекции. В результате, за счет сокращения времени на воспроизведение информации, преподаватель получает существенно больше времени на обсуждение наиболее сложных и важных фрагментов учебного материала;
• демонстрация на экране решений, предложенных студентами, вызывает неподдельный интерес к лекции со стороны студенческой аудитории, актуализирует имеющиеся у студентов знания по теме, активизирует их познавательную деятельность, способствует лучшему запоминанию материала;
80 у
№ 4(34) 2011
• данный вид работы способствует развитию таких творческих умений, как анализ, синтез, рассуждение, сравнение, сопоставление, умение делать логические выводы, вступать в дискуссию и доказывать свою точку зрения, поиск новых решений;
• самостоятельная деятельность формирует у студентов познавательный интерес, создает положительную мотивацию к обучению, развивает интеллектуальную сферу личности, формирует умения и навыки самообразования.
Перечисленные преимущества привели к значительному изменению задач, решаемых в ходе практической части курса, а также схем взаимодействия преподавателя и студентов.
Организация практических занятий
При вышеописанном построении содержания лекций лабораторно-практические занятия будут ориентированы на решение следующих дидактических задач:
• повторение и закрепление ранее усвоенных знаний;
• применение знаний для решения профессионально-ориентированных задач итогового проекта;
• формирование новых умений и навыков.
К особенностям организации практических работ следует отнести следующие:
• вся практическая аудиторная часть рабочей программы выполняется в форме компьютерных лабораторных работ индивидуально каждым студентом;
• лабораторные работы выполняются на основе руководств в электронном формате, включающих, помимо указаний о ходе их выполнения, стандартные алгоритмы и методы решения обобщенных и аналогичных заданий на основе типовых;
• работы выполняются студентами в основном самостоятельно по электронным описаниям, функция преподавателя состоит в оказании индивидуальной помощи, консультировании, приеме отчетов по работе;
• преемственность содержания работ — g выполнение каждой последующей работы Si предполагает обращение к материалу и ин- Э струментарию, которые использовались ^ в предыдущих работах;
• значительная часть практической деятельности вынесена на внеаудиторную самостоятельную работу, для ее реализации студенты имеют доступ к компьютерной технике во внеаудиторное время, получают необходимое методическое обеспечение;
• за счет разбора типовых опорных задач на лекциях в ходе лабораторных работ появилась возможность решения заданий продуктивного типа, построенных по принципу от простого к сложному.
Существующие традиционные методы обучения программированию основаны на том, что обучающиеся знакомятся сначала с теоретическими основами программирования, а затем разрабатывают программу (как правило, это задачи вычислительного типа), используя полученные теоретические знания по конкретному языку программирования. Они достаточно эффективны при обучении людей с хорошей математической подготовкой или будущих профессиональных программистов, однако плохо подходят для начального изучения основ программирования. Используемые задания продуктивного типа предполагают большую самостоятельность и вариативность работы студентов.
В каждой лабораторной работе предлагались задания разной степени сложности трех типов:
1. Задания-модификации, в которых необходимо частично изменить код программы. Например, форматирование объектов, пользовательского интерфейса, добавление новой кнопки, использование другой конструкции цикла и т. д. Выполнение данных заданий предполагает закрепление общих теоретических знаний по алгоритмизации и изучаемому языку программирования, полученных на лекциях.
Приведем примеры заданий-модификаций (используемый язык — VBA):
№ 4 (34) 2011
А. На рисунке дан код программы, позволяющей найти сумму двух чисел А и В, вводимых в ячейки. Результат вычисления С выводится на экран при нажатии кнопки «Пример 1». Необходимо изменить программу так, чтобы исходные данные А и В вводились не в ячейки, а с помощью диалоговых окон.
Б. С клавиатуры вводятся целые положительные числа. Пока числа меньше 100, программа вычисляет квадратный корень от введенного числа. Как только введенное число оказывается больше либо равно 100, программа заканчивает работу. Приведен код программы с конструкцией цикла Do While...Loop. Измените программу так, чтобы использовалась конструкция цикла с по-s| стусловием Do.Loop Until.
5 2. Задания с частично составленным ко-Sc дом, в которых нужно дописать код для пра-§ вильной работы программы. Студент само-^ стоятельно дописывает код, произвольно вы-g бирая интерфейс решаемой задачи. Данный § тип заданий предполагает в большей степе-II ни знание основ объектно-ориентированного | программирования, умение работать с раз-is личными алгоритмическими структурами.
^ 3. Задания-демонстрации с недоступ-| ным кодом — повышенной сложности, студент должен самостоятельно написать ® код к демонстрируемой программе. При этом интерфейс задачи строго определен, § но метод ее решения, используемые алголу ритмические конструкции, свойства и мето-£ ды выбираются студентом по своему усмот-I рению. Особое внимание при выполнении § подобных заданий уделяется навыкам ана-| лиза результатов применения программных
6 и алгоритмических конструкций и их след-Л ствий в работающих программах.
§ Помимо этого, при изучении темы «От! ладка программ и обработка ошибок» ис-| пользовались творчески-ориентированные § задания следующих видов: «и • найди ошибки, допущенные в готовой ! программе. Ошибки могли быть следую-§ щих уровней: синтаксические ошибки, оп-! ределяемые при компиляции или трансля-ss ции программы; ошибки времени выполне-
ния, связанные с неправильными условиями и данными в задаче; семантические ошибки, вызывающие получение неправильного ответа (алгоритмические ошибки);
• составь программу с ошибками. Студенты самостоятельно составляли программу с указанным видом ошибки, а затем обменивались программами, проверяли и оценивали работу друг друга.
Использование подобных заданий в отличие от традиционных методов изучения программирования имеет следующие преимущества:
• за счет использования заданий с частично составленным кодом существенно сокращается время написания программы, студенты больше внимания уделяют методике построения алгоритмов и выбору средств языка программирования;
• наличие в каждой лабораторной работе заданий разных уровней сложности позволяет осуществить дифференцированный и индивидуальный подход к обучению программированию;
• в процессе выполнения работ, отмечается повышение уровня самостоятельности в программировании практически у всех студентов;
• за счет продуктивной основы используемых заданий занятия проходят с большим интересом, вносят оживление в образовательный процесс, что приводит к повышению мотивации.
Для оценивания работы студента применяются текущий и итоговый контроль. Контроль усвоения теоретического материала предполагается в форме компьютерного тестирования и собеседования. Контроль сформированности умений работы со встроенными средами программирования проходил в рамках отчетов в электронной форме о проделанной работе, выполненных в соответствии с предъявляемыми требованиями в конце лабораторных работ. Оценивание происходит по системе «зачет — не зачет».
Лабораторные работы содержали по три задания каждого типа. Для оценивания вы-
№ 4(34) 2011
полненных заданий были определены следующие критерии:
• задания-модификации — 1 балл;
• задания с частично-написанным кодом — 2 балла;
• задания-демонстрации или задания на поиск ошибок — 3 балла.
Для получения зачета студенту было необходимо набрать минимум 9 баллов. Задания выбирались по усмотрению студента. Это позволило обеспечить сочетание нескольких способов дифференциации: по уровню творчества, по уровню трудности, по степени самостоятельности обучаемых.
Итоговый контроль заключался в выполнении студентами отдельно от лекционных и практических занятий профессионально-ориентированного проекта. Тематика работ выбиралась так, чтобы, во-первых, максимально полно отразить полученные знания по программированию и, во-вторых, увязать ее с другими дисциплинами. Такой подход позволяет более наглядно продемонстрировать практическую значимость программирования и успешно усвоить методы смежной дисциплины.
Процесс разработки студентами проекта включал следующие этапы:
1. Сбор данных и анализ материала по теме проекта.
2. Построение на основе изученного материала информационной модели проекта, которая утверждается преподавателем.
3. Разработка сетевого плана (определение контрольных точек).
4. Процесс создания проекта.
5. Проведение консультаций преподавателем.
6. Апробирование и защита проекта.
Решение перечисленных задач позволяет максимально мобилизовать возможности студентов, а также сформировать и развить необходимые навыки и умения.
Работа над проектным заданием выполнялась индивидуально, исходные данные и объем работ каждого этапа определялись конкретным вариантом задания, которое студенты получали заранее. По окончании
выполнения проекта отчет по нему оформ- § лялся в соответствии с озвученными на лек- |
ции требованиями и сдавался на проверку, Э
как в электронном виде, так и на бумажном ^ носителе. По результатам защиты отчета вы- ^ ставлялась дифференцированная оценка.
Заключение
Описанное содержание лекционных и практических занятий позволяет достаточно прочно закрепить полученные знания и навыки программирования. В целом, подобная схема преподавания, в отличие от традиционных методов, качественно повышает уровень подготовки студентов, что позволяет им легче усваивать в дальнейшем другие дисциплины, относящиеся к информационным технологиям. Детальное описание эксперимента и результаты проведения подобных занятий более подробно приведены в статье [5].
Список литературы
1. Виленский М. Я. Технологии профессионально-ориентированного обучения в высшей школе: учеб. пособие / под ред. В. А. Сластенина. М.: Педагогическое общество России, 2004. — 180 с.
2. Педагогика и психология высшей школы: учеб. пособие / под ред. М. В. Булановой-Топорковой. Ростов-на-Дону: Феникс, 2002. — 544 с.
3. Петрова В. А. О выборе базовой концепции при формировании лекционного курса по программированию // II межд. науч.-практ. конференция «Современные информационные технологии и ИТ-образование». [Электронный ресурс] Режим доступа: URL: http://2005.edu-it.ru/ docs/3/3-17.Petrova.doc.
4. Семенова Н. Г. Мультимедийные педагогические средства в системе общедидактических методов обучения [Электронный ресурс] // Вестник ОГУ. № 2. 2005. С. 95-103. Режим доступа: URL: http://vestnik.osu.ru/2005_2_1/16.pdf.
5. Шеметова А. Д. Совершенствование информационно-технологической подготовки студентов на основе системно-объектного подхода / Б. Е. Стариченко, Е. Б. Стариченко, А. Д. Шеметова // Образование и наука: Известия УрО РАО. 2009. № 4 (61). С. 78-91.