Учебного материала для обучения языкам программирования

Вид материалаДокументы
Подобный материал:

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

И.Ю. Баженова, МГУ им. Ломоносова, ф-т ВМиК, bazhenova.irina@gmail.com


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

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

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

Процесс обучения языкам программирования может иметь различные формы:
  • лекционно-семинарскую форму;
  • дистанционную форму.

Вне зависимости от формы обучения студенту должны быть предоставлены следующие методические материалы:
  • текст курса лекций (краткий – для лекционно-семинарской формы и полный для дистанционной формы образования);
  • набор тестов для самоконтроля (для дистанционной формы образования обязательным элементом также является и набор тестов для итогового контроля);
  • набор заданий для практикума (для дистанционной формы образования необходим набор заданий с подробным описанием алгоритма выполнения).

В рамках национального проекта «Образование» были подготовлены материалы для обучения языкам программирования. Весь материал разбит на три части:
  • курс лекций «Введение в языки программирования»;
  • курс лекций «Системы программирования»;
  • лекционно-практический курс «Технология .NET и язык программирования С#».

Курс лекций «Введение в языки программирования», предназначенный для дистанционной формы образования, логически разбит на следующие 14 тем:
  • Тема 1. ссылка скрыта.
  • Тема 2. ссылка скрыта.
  • Тема 3. ссылка скрыта.
  • Тема 4. ссылка скрыта.
  • Тема 5. ссылка скрыта
  • Тема 6. ссылка скрыта.
  • Тема 7. ссылка скрыта.
  • Тема 8. С++. Статические члены класса. Виртуальные функции.
  • Тема 9. Java. Механизмы наследования. Ссылочные типы данных. Интерфейсы. Вложенные классы.
  • Тема 10. Java. Члены класса. Статические переменные и методы.
  • Тема 11. С#. Классы. Объектные типы.
  • Тема 12. C#. Механизмы наследования. Абстрактные классы. Интерфейсы.
  • Тема 13. C#. Индексаторы класса и атрибуты.
  • Тема 14. C#. Отражения. Делегаты.

По каждой теме разработан набор тестов. Для формирования тестов использована среда, предоставленная сайтом «Виртуальная кафедра ОИТ». Данная среда позволяет формировать тесты в следующих формах:
  • вычисляемая форма теста;
  • тест-описание;
  • тест на соответствие;
  • тест с вложенными ответами;
  • тест на множественный выбор;
  • тест с коротким ответом;
  • тест числовой;
  • тест со случайными вопросами на соответствие;
  • тест на совпадение верно-неверно.

Этот курс опубликован на сайте «IT образование в Россию Виртуальная кафедра ОИТ» (cmc.msu.ru/).

Для лекционно-семинарской формы образования курс лекций «Введение в языки программирования» предоставляется в формате, формируемым посредством Power CHM.

Дополнительно для курса лекций «Введение в языки программирования», читаемого аудиторно, следует включить темы: «Стандарты языков программирования» и «Трансляторы» [1]. Эти темы не предполагают практического освоения, но очень важны для формирования у обучающихся целостной картины развития языков программирования и более глубокого понимания семантики языков программирования.

В курсе лекций «Введение в языки программирования» дается общая характеристика языков программирования и описывается процесс стандартизации языков программирования, рассматриваются вопросы трансляции программ и применения НФБ-нотаций для представления синтаксиса языка. Подробно описываются основные структуры данных. Определяются простые типы, массивы, записи и структуры. Рассматривается статическое и динамическое управление памятью, размещение в памяти различных типов данных. Описывается применение стеков, очередей и хеш-таблиц. Подробно рассматриваются и анализируются основные конструкции языков программирования. Рассматривается синтаксис и семантика высокоуровневых языков программирования, включая языки С++, C#, Object Pascal и Java. Вводится понятие объектно-ориентированного программирования. Рассматриваются механизмы наследования, инкапсуляции и полиморфизма, использование виртуальных функций, раннего и позднего связывания при вызове методов. Приводится сравнение объектно-ориентированной модели, используемой в языках C++, C#, Java и Object Pascal.

Вторая часть материала представлена курсом лекций «Системы программирования», который логически разбит на следующие темы:
  • библиотека классов MFC среды проектирования Visual Studio .NET;
  • библиотека классов .NET Framework среды проектирования Visual Studio .NET;
  • библиотека классов VCL среды проектирования Borland Developer Studio (Delphi);
  • библиотека классов JDK;
  • применения языков программирования для разработки серверных приложений и Web-сервисов;
  • применением компонентной технологии, подходы к реализации распределенных приложений;
  • создание приложений для различных типов мобильных устройств.

Версия этого курса, предназначенная для дистанционного образования, опубликована на сайте «IT образование в Россию Виртуальная кафедра ОИТ» (cmc.msu.ru/).

Для лекционно-семинарской формы образования курс лекций «Системы программирования» предоставляется в формате, формируемым посредством Power CHM.

Возможности, предоставляемые современными языками программирования, неотрывно связаны с интегрированными средами разработки и с использованием соответствующих библиотек. Поэтому в курсе лекций «Системы программирования» значительное внимание уделено сравнению наиболее распространенных библиотек классов. Курс лекций знакомит с такими современными интегрированными средами разработки как Visual Studio.NET и Borland Developer Studio, содержит описание библиотек классов .NET Framework, VCL и JDK. Рассмотрение библиотек классов сопровождается примерами использования изучаемых классов. В курсе лекций описываются задачи, решаемые сетевым программированием. Рассматриваются аспекты применения языков программирования для разработки серверных приложений и Web-сервисов. В частности, изучается применение технологии ASP.NET, используемой для построения серверных приложений. Курс лекций знакомит с различными подходами к реализации распределенных приложений. Дается краткий обзор основных механизмов, используемых для построения серверных приложений: рассматривается архитектура служб Windows, инфраструтура WEB-сервисов, архитектура .NET. Remoting.

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

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

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


Литература:

1. И.Ю.Баженова, В.А.Сухомлин. Введение в программирование. Учебное пособие. М.: Из-во «Интернет-университет информационных технологий; БИНОМ. Лаборатория знаний», 2007. – 326 с.

2. Курс лекций Введение в языки программирования. «IT образование в России Виртуальная кафедра ОИТ» (cmc.msu.ru/).

3. Курс лекций Системы программирования. «IT образование в России Виртуальная кафедра ОИТ» (cmc.msu.ru/).