Доклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011)




НазваниеДоклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011)
Г.М. профессор кафедры управления проектами и программа
Дата03.12.2012
Размер14.81 Mb.
ТипДоклад


Система программирования PascalABC.NET и электронный задачник Programming Taskbook Доклад на летней школе для учителей информатики (ВМК МГУ, 26.08.2011)

  • М. Э. Абрамян

  • mabr@math.sfedu.ru

  • Центр компьютерного образования

  • Факультет математики, механики и компьютерных наук

  • Южный федеральный университет (г. Ростов-на-Дону)


План доклада

  • Система программирования PascalABC.NET

  • Электронный задачник Programming Taskbook

  • Веб-среда PascalABC.NET WDE

  • Компоненты для преподавателя



Система программирования PascalABC.NET

  • Обзор возможностей

  • Среда разработки

  • Новое в языке

  • Дополнительные модули

  • PascalABC.NET и платформа .NET

  • Модули для обучения



Первый язык программирования

  • Легкость создания простых программ

  • Простота методов ввода-вывода

  • Простые управляющие конструкции

  • Простота разработки подпрограмм и модулей

  • Наличие простых средств для работы с массивами, строками и файлами

  • Простые средства для работы с графикой

  • Поддержка современной объектной модели и наличие развитых объектных библиотек

  • Наличие учебной литературы по этому языку



Первая среда программирования

  • Простой интерфейс

  • Отображение динамических подсказок

  • Автоматическое форматирование текста

  • Генерация шаблонов программ и конструкций языка

  • Возможность создания простых интерактивных консольных приложений на русском языке

  • Генерация исполняемых файлов

  • Freeware (не требует платы за использование)

  • Распространенность и популярность среды



Начало: 2002 г.

  • Начало: 2002 г.

  • Основная цель: создание среды программирования для обучения

  • Полноценный язык Delphi Pascal

  • Самые современные конструкции языков программирования: классы, интерфейсы, шаблоны, исключения и т. д.

  • Возможность использования .NET библиотек

  • Модули растровой и векторной графики

  • Модули школьных Исполнителей

  • Модуль электронного задачника

  • Простая и мощная оболочка со средствами динамической подсказки и отладки приложений



Первый вариант учебной среды: система Pascal ABC



Ограничения Pascal ABC

  • Нельзя создавать исполняемые файлы

  • Отсутствуют динамические подсказки и средства автоматического форматирования текста программ

  • Нельзя использовать стандартные библиотеки платформы .NET

























Окно программной среды



Запуск с отображением результатов в окне вывода



Запуск с отображением результатов в окне вывода



Запуск вне программной оболочки



Запуск вне программной оболочки



Запуск вне программной оболочки



Установка точки прерывания



Остановка и просмотр текущего значения



Редактирование текущего значения



Просмотр текущих значений всех переменных



Пошаговое выполнение программы





































Многообразие библиотек

  • Многообразие библиотек

  • Возможность совместного использования кода, написанного на разных .NET-языках

  • Современные языковые средства: многомерные динамические массивы, классы, интерфейсы, шаблоны классов и подпрограмм, исключения, средства параллельности и пр.

  • Сборка мусора (не нужно явно возвращать динамическую память)



System – базовые классы .NET

  • System – базовые классы .NET

  • System.Collections – классы коллекций

  • System.Text.RegularExpressions – классы для работы с регулярными выражениями

  • System.Data – классы для работы с БД

  • System.Drawing – классы для рисования в окне

  • System.Net – классы для работы с сетью

  • System.Web – классы для работы с Web

  • System.Windows.Forms – классы для создания оконных приложений















Исполнитель Робот



Исполнитель Робот

  • Реализован в системе PascalABC.NET в виде подключаемого модуля Robot

  • Содержит более 130 заданий по темам:

  • Условный оператор

  • Циклы (с параметром, с условием, вложенные)

  • Процедуры (без параметров и с параметрами)

  • Совместное использование циклов и условных операторов

  • Имеет конструктор, позволяющий разрабатывать новые задания



Исполнитель Чертежник



Исполнитель Чертежник

  • Реализован в системе PascalABC.NET в виде подключаемого модуля Drawman

  • Содержит 70 заданий по темам:

  • Цикл с параметром

  • Вложенные циклы

  • Процедуры без параметров

  • Процедуры с параметрами

  • Имеет конструктор, позволяющий разрабатывать новые задания



Электронный задачник Programming Taskbook

  • Назначение и возможности

  • Пример использования

  • Образцы заданий

  • Обработка динамических структур данных



Назначение, языки и программные среды

  • Задачник предназначен для обучения программированию на языках Pascal, Visual Basic, C++, C#, Visual Basic .NET

  • Может использоваться в следующих программных средах:

    • Borland Delphi 7, Turbo Delphi 2006, Free Pascal Lazarus 0.9, Pascal ABC, PascalABC.NET
    • Visual Basic 4-5
    • Visual C++ 6
    • Visual Studio .NET 2003, 2005, 2008 (языки C++, C#, Visual Basic .NET)
  • Имеется русская и английская версии



Возможности

  • Отображение на экране текста задания и связанных с ним данных

  • Предоставление исходных данных программе учащегося

  • Дополнительный контроль за правильностью операций ввода-вывода

  • Проверка результатов, полученных программой учащегося

  • Регистрация задания как выполненного после проведения серии успешных тестовых испытаний программы



Базовый набор учебных заданий

  • Ввод-вывод, оператор присваивания, целочисленный и логический типы данных – 110 заданий

  • Управляющие операторы (условный оператор, оператор выбора, операторы цикла) – 120 заданий

  • Обработка последовательностей, минимумы и максимумы – 70 заданий

  • Процедуры и функции – 60 заданий

  • Одномерные и двумерные массивы (матрицы) – 240 заданий



Базовый набор учебных заданий

  • Символы и строки – 70 заданий

  • Двоичные и текстовые файлы – 150 заданий

  • Использование составных типов данных в процедурах и функциях – 70 заданий

  • Рекурсивные алгоритмы – 30 заданий

  • Линейные динамические структуры (стеки, очереди, двусвязные списки) – 80 заданий

  • Деревья – 100 заданий



Состав

  • Ядро: библиотека pt4.dll (pt4pabc.dll для среды PascalABC.NET)

  • Библиотеки, обеспечивающие доступ к ядру из различных программных сред: pt4.pas, pt4.bas, pt4.h и pt4.cpp, pt4net.dll

  • Дополнительные модули:

    • PT4Demo (просмотр заданий)
    • PT4Load (создание и загрузка программ-заготовок)
    • PT4Result (просмотр результатов)


Условия использования

  • Вариант, входящий в состав PascalABC.NET:

    • является свободно распространяемым (freeware)
    • позволяет выполнять 270 заданий из базового набора
    • предназначен для самостоятельного изучения программирования
  • Возможность использования дополнительных заданий из базового набора требует лицензирования (количество доступных заданий зависит от уровня лицензии)

  • На сайте задачника (http://ptaskbook.com/) приведены условия предоставления лицензии преподавателям средних и высших учебных заведений

  • На сайте веб-среды PascalABC.NET WDE (http://pascalabc.net/wde/) в настоящее время доступны для выполнения все 1100 заданий, входящих в базовый набор задачника





Просмотр заданий в демо-режиме: модуль PT4Demo



Просмотр заданий в демо-режиме: модуль PT4Demo



Вывод формулировок заданий в html-браузере



Выбор и загрузка задания: модуль PT4Load



Выбор и загрузка задания: модуль PT4Load



Выбор и загрузка задания: модуль PT4Load



Вид заготовки программы в редакторе



Ознакомительный запуск



Первый вариант решения: ввод данных



Результат тестирования



Второй вариант решения: ошибочный алгоритм



Результат тестирования ошибочного алгоритма



Исправление одной ошибки



Результаты тестирования



Результаты тестирования



Отладочная печать



Окно задачника с панелью отладки



Правильное решение



Вид окна задачника после пяти тестовых запусков



Просмотр результатов: модуль PT4Result



Одномерные массивы (группа Array, 140 заданий)



Двумерные массивы (группа Matrix, 100 заданий)



Символьные строки (группа String, 70 заданий)



Двоичные файлы (группа File, 90 заданий)



Текстовые файлы (группа Text, 60 заданий)



Текстовые файлы (группа Text, 60 заданий)



Рекурсивные алгоритмы (группа Recur, 30 заданий)



Примеры динамических структур

  • Стек

  • Очередь

  • Двусвязный список

  • Бинарное дерево



Реализация динамических структур

  • Стек

  • Двусвязный список



Реализация динамических структур

  • Бинарное дерево



Особенности заданий на обработку структур данных

  • Необходимо предварительно сформировать исходные структуры данных в памяти (для тестирования алгоритма решения задания)

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



Линейные динамические структуры

  • Группа Dynamic (80 заданий на обработку линейных структур):

  • Стек (13 заданий)

  • Очередь (15 заданий)

  • Двусвязный список (41 задание)

  • Список с барьерным элементом (11 заданий)



Деревья

  • Группа Tree (100 заданий на обработку деревьев):

  • Анализ бинарного дерева (24)

  • Формирование бинарного дерева (10)

  • Преобразование бинарного дерева (13)

  • Бинарные деревья с обратной связью (9)

  • Бинарные деревья поиска (15)

  • Бинарные деревья разбора выражений (14)

  • Деревья с множественным ветвлением (15)



Обработка стека



Обработка стека

  • uses PT4;

  • var P: PNode;

  • begin

  • Task('Dynamic5');

  • read(P);

  • write(P^.Data, P^.Next);

  • Dispose(P);

  • end.



Обработка списка



Обработка списка (вариант решения с указателями)

  • uses PT4;

  • var d: integer;

  • p1, p2: PNode;

  • begin

  • Task('Dynamic33');

  • read(d, p1);

  • new(p2);

  • p2^.Data := d;

  • p2^.Next := p1;

  • p2^.Prev := p1^.Prev;

  • p1^.Prev := p2;

  • if p2^.Prev <> nil then

  • p2^.Prev^.Next := p2;

  • write(p2);

  • end.



Обработка списка (два объектных варианта решения)

  • uses PT4;

  • var d: integer;

  • a1, a2: Node;

  • begin

  • Task('ObjDyn33');

  • read(d, a1);

  • a2 := new Node(d, a1, a1.Prev);

  • a1.Prev := a2;

  • if a2.Prev <> nil then

  • a2.Prev.Next := a2;

  • write(a2);

  • end.



Обработка списка (успешный запуск объектного варианта)



Обработка дерева



Обработка дерева

  • uses PT4;

  • procedure DoubleValue(p: PNode);

  • begin

  • if p = nil then exit;

  • p^.Data *= 2;

  • DoubleValue(p^.Left);

  • DoubleValue(p^.Right);

  • end;

  • var p1: PNode;

  • begin

  • Task('Tree35');

  • read(p1);

  • DoubleValue(p1);

  • end.



Веб-среда разработки PascalABC.NET WDE

  • Веб-сервисы и их особенности

  • Основные возможности среды

  • Работа с файлами

  • Графика

  • WDE и Programming Taskbook

  • Типовые задачи ЕГЭ в WDE















































































Компоненты для преподавателя

  • Конструктор вариантов

  • Контрольный центр

  • Конструкторы учебных заданий



Комплекс Teacher Pack: основные компоненты

  • Конструктор вариантов PTVarMaker:

    • позволяет создавать наборы вариантов индивидуальных заданий
    • позволяет создавать новые группы заданий на основе уже существующих
  • Контрольный центр PABCTeach:

    • предназначен для автоматизации действий при подготовке и проведении групповых занятий
    • обеспечивает настройку рабочих каталогов учащихся и их резервное сохранение
    • позволяет контролировать текущие результаты каждого учащегося и группы в целом
  • Конструктор учебных заданий PT4TaskMaker





Окно конструктора вариантов



Генерация вариантов



Генерация вариантов



Генерация вариантов



Тексты сгенерированных вариантов в html-формате



Пример набора данных, не связанного с задачником



Тексты сгенерированных вариантов



Пример ошибочного набора данных



Создание контрольного файла (check-файла)



Использование контрольных файлов



Использование контрольных файлов



Окно контрольного центра PABCTeach



Просмотр результатов из контрольного центра



Просмотр результатов из контрольного центра



Просмотр сводной информации



Отключение файла с вариантами заданий



Просмотр информации обо всех выполненных заданиях



Просмотр информации обо всех выполненных заданиях



RobotTaskMaker: создание новых групп заданий для исполнителя Робот

  • RobotTaskMaker: создание новых групп заданий для исполнителя Робот

  • DMTaskMaker: создание новых групп заданий для исполнителя Чертежник

  • PT4TaskMaker:

    • создание новых групп заданий для задачника Programming Taskbook
    • компоновка имеющихся и новых заданий для задачника Programming Taskbook в новые группы
    • автоматическая генерация html-описаний для новых групп заданий






Задания из новых групп, подобно встроенным заданиям, можно выбирать с помощью мастера загрузки заданий PT4Load

  • Задания из новых групп, подобно встроенным заданиям, можно выбирать с помощью мастера загрузки заданий PT4Load

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













Конструктор PT4TaskMaker

  • Конструктор позволяет разрабатывать новые группы заданий в виде dll-библиотек

  • Созданные библиотеки с заданиями доступны для любых сред и языков, поддерживаемых задачником

  • Для подключения новой группы к задачнику достаточно разместить dll-библиотеку с этой группой в подкаталоге LIB задачника или в рабочем каталоге учащегося

  • Среды для разработки новых групп: Free Pascal Lazarus, Borland Delphi, PascalABC.NET



Определение общих свойств группы заданий (название, краткое описание, число заданий, …)

  • Определение общих свойств группы заданий (название, краткое описание, число заданий, …)

  • Указание формулировки задания и ее форматирование (использование специальных символов, индексов, выделение фрагментов текста, …)

  • Определение наборов исходных и контрольных данных любых базовых типов: integer, real, boolean, char, string

  • Настройка дополнительных характеристик (например, указание числа тестовых испытаний)



Структура проекта с новой группой (Delphi-проект)

  • library PT4MakerDemo;

  • uses PT4TaskMaker;

  • // вспомогательные процедуры, реализующие конкретные задания

  • procedure InitTask(num: integer); stdcall;

  • begin

  • // главная процедура группы, вызывает вспомогательные процедуры

  • end;

  • procedure inittaskgroup;

  • begin

  • CreateGroup('MakerDemo', 'Примеры различных задач',

  • 'М. Э. Абрамян, 2010', 'qwqfsdf13dfttd', 8, InitTask);

  • // определение преамбулы группы и ее подгрупп

  • end;

  • exports inittaskgroup;

  • end.









Создание сводной группы без программирования





Наличие встроенных образцов текстовых данных: 116 слов, 61 предложение, 85 многострочных текстов (русских и английских)

  • Наличие встроенных образцов текстовых данных: 116 слов, 61 предложение, 85 многострочных текстов (русских и английских)

  • Возможность использования в задании файловых данных (двоичных и текстовых)

  • Возможность использования в задании указателей и динамических структур (линейных и иерархических)

  • Средства для разработки заданий по параллельному MPI-программированию



Разработка новой группы в системе PascalABC.NET



Некоторые направления дальнейшего развития

  • Расширение набора заданий, связанных с ЕГЭ по информатике

  • Реализация компонентов для преподавателя в Веб-среде PascalABC.NET WDE

  • Интеграция в Веб-среду PascalABC.NET WDE других распространенных языков программирования с возможностью использования для них электронного задачника Programming Taskbook



Спасибо за внимание

  • С любезного разрешения авторов в презентации были использованы графические материалы доклада Ю.В. Беляковой и С.С. Михалковича «Графическая библиотека для Web-среды программирования PascalABC.NET», прочитанного на V Международной научно-практической конференции «Современные информационные технологии и ИТ-образование» (2010 г.)



Похожие:

Доклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011) iconДоклада Как создавался Учебный центр вмк мгу & SoftLine Academy Сотрудничество с SoftLine Задачи Учебного центра Направления деятельности
Учебный центр вмк мгу & SoftLine Academy совместный проект факультета вмк мгу и компании SoftLine

Доклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011) iconА. С. Братусь вмк мгу им. М. В. Ломоносова, миит
Применение визуализации границы парето для поиска эффективных стратегий терапии вич-инфекции

Доклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011) iconОтчет рмо учителей 2 Х классов за 2010 2011 уч год руководитель рмо с. Г. Шипигузова г. Краснокамск Знакомьтесь, это мы! рмо учителей 2-х классов это 28 учителей
Задачи: изучить проблему триз-технологии; изучить опыт использования приемов триз в начальной школе; внедрение системы преподавания...

Доклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011) iconКомпьютерные курсы как форма ит-образования Е. Т. Вовк Факультет вмк мгу им. М. В. Ломоносова
Новый формат умк по учебным курсам для ппо и спо комплексной образовательной программы «Школьный университет»

Доклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011) iconМетодические рекомендации для учителей информатики Учебная тема: Алгоритмизация. Творческая тема: Алгоритмы и реальность. Автор: Забавникова Евгения Александровна, учитель информатики моу сош №30, г. Тамбов
Методические рекомендации для учителей информатики Учебная тема: Алгоритмизация. Творческая тема: Алгоритмы и реальность

Доклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011) iconВсероссийский съезд учителей географии мгу, 28-29 октября 2011 Первый Всероссийский съезд учителей географии
...

Доклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011) iconГ. Москва, мгу им. М. В. Ломоносова, 20. 04. 2011г. V рыскуловские чтения, 18 мая 2011 г. Доклад Э. Фэлпса Казахстан, Алматы, КазЭУ

Доклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011) iconВ 2011-2012 учебном году в школе: в 2011-2012 учебном году в школе
Грамоты Министерства образования, ГлавУОиПО, мэра г Иркутска, медали «Ветеран труда», знак «Отличник народного просвещения, грамоты...

Доклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011) iconОтчет декана факультета вмк мгу за 2008 год
Проектирование новых систем для производства энергии и сетей распределенных альтернативных источников энергии (проектирование в управляемом...

Доклад на летней школе для учителей информатики (вмк мгу, 26. 08. 2011) iconУчитель: Подъяпольская Т. Н 2012г
Задача в школе 435 учеников, сколько в школе учителей, если они составляют от общего количества учащихся от количества учителей составляют...

Разместите кнопку на своём сайте:
rpp.nashaucheba.ru


База данных защищена авторским правом ©rpp.nashaucheba.ru НашаУчеба
связаться с администрацией
rpp.nashaucheba.ru
Главная страница