Учебного материала для обучения языкам программирования
Вид материала | Документы |
- Программа по иностранным языкам для различных типов школ. Государственный образовательный, 43.45kb.
- Рабочая программа по алгоритмизации и языкам программирования для учебного плана, 159.92kb.
- Программирование в компьютерных системах все для программирования, 36.25kb.
- Методика обучения иностранным языкам как педагогическая наука, 306.62kb.
- Календарно-тематическое планирование учебного материала (экстернатная форма обучения), 38.39kb.
- Программа-минимум кандидатского экзамена по специальности 13. 00. 08 «Теория и методика, 336.94kb.
- Лекция по методике преподавания иностранных языков Тема: Методические основы обучения, 69.69kb.
- Методика обучения русскому языку как наука. Ее связь с другими научными дисциплинами., 23.92kb.
- Методика обучения иностранным языкам в средней школе/ Гез Н. И., Ляховицкий М. В.,, 109.96kb.
- Тема №1 Лингводидактика как наука обучения иностранным языкам, 449.88kb.
Методика построения учебного материала для обучения языкам программирования
И.Ю. Баженова, МГУ им. Ломоносова, ф-т ВМиК, 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/).