WWW.PDF.KNIGI-X.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Разные материалы
 

Pages:     | 1 |   ...   | 11 | 12 ||

«Первая Международная научно-практическая конференция Современные информационные технологии и ИТ-образование СБОРНИК ТРУДОВ Под редакцией проф. В. А. Сухомлина УДК 5 ...»

-- [ Страница 13 ] --

С появлением платформы Microsoft.NET впервые возникла реальная возможность проиллюстрировать основные тенденции развития современных языков программирования (ЯП) и практические приемы разработки ПО в рамках единого учебного курса. В силу универсальности среды разработки приложений нет необходимости выделять изучение отдельных (классов) ЯП в особые курсы. В результате расширяется арсенал теоретических знаний и тесно связанных с ними практических приемов программирования. Разработанный учебный план представляет собой интеграцию двухсеместрового курса лекций и лабораторного практикума.

Учебный курс «Современные языки программирования и платформа.NET» основан на творческом синтезе избранных разделов математического основания computer science и уникальной технологической платформы Microsoft.NET, обеспечивающей практически прозрачную интеграцию кода на ЯП различных типов. Уже с начала обучения в вузе студенты могут параллельно постигать элементарные, но фундаментальные аспекты различных подходов к разработке программных систем, включая объектно-ориентированный (на основе языка программирования C#)

- 803 и функциональный (на основе языка программирования SML). В результате молодые специалисты получают возможность делать более продуманный выбор того или иного подхода к разработке ПО, рельефнее и глубже постигают проблематику проектирования и реализации крупных программных комплексов, осознают необходимость унифицированного, интегрированного подхода к созданию ПО.

Курс состоит из двух семестров: первый посвящен фундаментальному введению в программирование и computer science, а второй – ознакомлению с базовыми приемами и навыками профессиональной разработки ПО.

При таком подходе первый семестр курса излагается на примере ЯП SML, который, согласно результатам многолетних исследований учебных курсов по computer science специалистами из ACM и IEEE [17], практически не требует начальных знаний при изложении согласно так называемому «функциональному» подходу к программированию. В то же время, являясь языком функционального программирования «нового поколения», SML предоставляет целый ряд теоретически интересных и практически важных возможностей (в частности, параметрический полиморфизм, раздельная трансляция, сборка мусора, функции высших порядков), которые при сравнительном изучении с языком C# дают возможность рельефнее и глубже проникнуть в суть процесса создания программных систем. Именно в этой связи базовые аспекты профессионального программирования во втором семестре представляется целесообразным излагать в сравнении ПО для ЯП C# и SML на единой платформе Microsoft.NET.

Учебный курс включает следующие взаимосвязанные компоненты:

курс лекций, стимулирующий самостоятельную работу студентов, охватывающий основные разделы computer science в приложении к ЯП (абстрактные машины (АМ), теория вычислений, представление синтаксиса и семантики выражений, теория типов и др.);

аудиторные упражнения, связывающие фундаментальные понятия теории с особенностями программирования на языках C# и SML (структуры данных, типизация, рекурсия и др.);

лабораторный практикум, иллюстрирующий условия применимости различных подходов к программированию и алгоритмических стратегий для широкого спектра важных теоретических и прикладных задач (сортировка, поиск, рекурсивные и «ленивые» вычисления и др.) Курс иллюстрируется презентациями лекций в формате Microsoft PowerPoint, а также текстами лекций и лабораторного практикума (с теоретическим введением, вариантами заданий и вопросами для самоконтроля по каждой работе) в формате Microsoft Word. Материалы курса содержат необходимые теоретические сведения, варианты практиче-

- 804 ских заданий c решениями (исходные тексты на C# и SML) и демонстрационными примерами (исполняемые модули, текст ASCII), а также вопросы для самоконтроля.

Для свободного доступа научного сообщества все перечисленные материалы на русском и английском языках доступны с сайта Microsoft [21]. Русская версия учебного курса издана тиражом около 5000 экз.

[10,13].

Изложение учебного курса начато в МИФИ в 2003-2004 в учебном году.

В рамках курса рассматриваются следующие вопросы

1. Аналитический обзор истории программирования (программирование как наука, классы решаемых задач, вычислительные модели, интерфейсно-архитектурные решения, классы языков и систем программирования в их взаимосвязи, цели, методы и краткая история computer science).

2. Обзор ЯП (история, эволюция вычислительных моделей, парадигмы программирования, поколения ЯП, соответствия между классами языков и решаемых задач, эволюция трансляторов, среда программирования Microsoft.NET).

3. Обзор методов и средств поддержки проектирования и реализации ПО (структурное программирование, модульное проектирование, другие стратегии программирования и проектирования, тестирование и отладка, технологии и средства CASE).

4. Основные понятия ЯП в сравнении с математическим языком (синтаксис, семантика, прагматика, объекты языка и операции над ними, данные и метаданные, проблемы интеграции компонент ПО, использование различных языковых платформ в Microsoft.NET).

5. Введение в -исчисление (алфавит, переменные, константы, функции, аппликация, абстракция, правила построения выражений, постулаты -конверсии).

6. Основные конструкции ЯП на примере SML (ввод-вывод, присваивание, ветвление, циклы, процедуры, способы передачи параметров, конструкции let и where).

7. Типизация объектов ЯП на примере SML (введение в теорию типов, логический тип, строгая и полиморфная типизация, программа контроля типов как часть транслятора ЯП).

8. Основные структуры данных языков функционального программирования на примере SML (списки, иерархические структуры, статические и динамические данные, проблемы хранения, сборка мусора).

9. Рекурсия на примере SML (рекурсивные математические фукнции, теорема о неподвижной точке, рекурсивные описания структур

- 805 данных, рекурсивные функции в SML, конструкции letrec и whererec, проблемы эффективной реализации рекурсивных функций).

10. Различные стратегии вычислений (параллельные, псевдопараллельные, «ленивые» и «активные» вычисления, дерево означивания (сборки кода), особенности реализации трансляторов).

11. Стратегии вычислений (вычислительная модель состояний, решеточная модель потоков данных, особенности передачи параметров, принципиальная вычислимость конструкций ЯП).

12. Абстрактные вычислительные машины (машина Тьюринга, машина Поста, SECD-машина Лендина, АМ потоков данных, понятие комбинаторов и категорий, категориальная АМ (КАМ) и ее реализация на SML, реализация рекурсии и других вычислительных особенностей на КАМ).

13. Синтаксис ЯП (понятие синтаксиса, формализация синтаксиса, построение дерева синтаксического разбора программы).

14. Семантика ЯП (понятие семантики, виды семантик, функция вычисления значения, построение денотационной семантики вычислений основных конструкций SML, стратегия выбора адекватной семантики вычислений, особенности семантического анализатора Microsoft Visual Studio.NET).

15. Понятийный аппарат объектно-ориентированного программирования (ООП) на основе математической вычислительной модели (объект, среда вычислений, свойство, метод, состояние программы, динамика и статика вычислений, абстракция по схеме двухуровневой концептуализации, наследование и отношение частичной упорядоченности, полиморфизм).

16. Введение в технологию ООП на примере Microsoft Visual Studio.NET (объектно-ориентированное проектирование, концептуализация в аппликативных вычислительных системах и ООП, инкапсуляция и сокрытие данных, иерархии классов, классы-коллекции и правила итерации, шаблоны проектирования, разделение реализации и интерфейса, подход Microsoft.NET, особенности Microsoft Visual Studio.NET).

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

18. Основные конструкции ЯООП на примере C# (базовые типы, массивы, структуры, строки, указатели и ссылки, их статическая и динамическая реализация, особенности структур данных и их реализации в сравнении функционального и объектного подходов, стратегии выбора структур данных, адекватных постановке задачи).

19. Использование интерфейса API (обработка внутренней информации операционной системы на примере системного реестра, про-

- 806 граммирование графических интерфейсов, особенности отладки программ в Microsoft Visual Studio.NET).

Математические основания курса Комплекс применяемых вычислительных моделей основан на творческом синтезе основных положений теорий конечных последовательностей [7], вычислений (по Д.С.Скотту) [5], категорий [2], семантических сетей [4] и АМ [1,8], а также использует принцип свертывания (концептуализации) [9]. Для графического представления семантических сетей используется фреймовая нотация [4].

Модель управления информацией в среде Интернетвычислений Математические средства описания моделей объектов данных (ОД) основаны на исчислении объектов с операциями аппликации и абстракции, а также с (декартово замкнутыми) категориями. Языковые средства манипулирования категориями должны быть изоморфными при смене уровня проектирования ИС (на основе правил перехода от одной категории к другой) и обеспечивать многоуровневое итеративное моделирование предметной области (ПрО).

Важным результатом для Интернет-систем оказывается достаточность двукратного применения принципа свертывания (см. рис.1).

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

Обобщенно, элементы модели представимы тройками класс, объект, значение, что развивает концептуальный метод проектирования В.Э.Вольфенгагена [9] в направлении современных объектных ИС, прежде всего, ориентированных на Интернет-среду вычислений.

Конкретизация подхода для Интернет-ИС выявляет следующие виды сущностей:

0) класс объектов интегрированной БД программного комплекса;

0) объект шаблона информационной страницы ИСУК;

0) информационная страница ИСУК (как означивание объекта шаблона).

Переходы (1-2) и (2-3) являются шагами концептуализации (в терминологии В.Э.Вольфенгагена [9]), т.е. последовательного снижения уровня абстракции от классов к объектам и далее – к их значениям.

Адекватность модели на основе теории конечных последовательностей (-исчисления) [7] обусловлена наличием операций абстракции (т.е. изменения уровня концептуальности сущностей) и аппликации (приложения функции к аргументу). Последняя позволяет формализовать вычисление значений, т.е. осуществить конкретизацию на каждом

- 807 этапе моделирования и проектирования ИС (техника формализации рассмотрена в работах [9,10,13,15]).

Интеграция ИС вовлекает созданное автором CASE-средство ConceptModeller и алгоритм внедрения для новых компонент ИС в состав корпоративных программных комплексов [15]. Процесс такой интеграции трудно формализуем и в большинстве случаев требует активного участия предметных экспертов.

Класс объектов интегрированной базы (мета)данных (или, короче, класс) понимается традиционно для ООП и моделируется посредством переменных доменов (т.е. как аналог множества, расширенного неопределенным элементом и поддержкой рекурсивных функций и множеств) [15].

Объект шаблона информационной страницы ИСУК (или, короче, объект) понимается как конкретизация (фиксированного) класса интегрированной базы (мета)данных Б(М)Д в соотнесении с выбранным шаблоном.

Значение информационной страницы ИСУК (или, короче, значение) формируется конкретизацией (объекта) шаблона в соотнесениях со значениями корпоративного контента (пример свертывания «класс - объект - значение» см. на рис.1).

В общем виде класс C ОД интегрированной ПрО D моделируется доменом C = Iw:[D] v:D (w(v) ) = {v:D | }, где C и D находятся в отношении частичного порядка (C ISA D);

– критерий принадлежности ОД w к классу C с точки зрения предметного эксперта.

Класс сложных («многомерных») ОД представим как n-арное отношение между ОД (фреймовое представление бинарного отношения приведено в [15]):

Rn = Iw: [V1, V2,..,Vn] v1:V1 v2:V2 … vn:Vn (w[v1,…,vn] ) = {[ v1:V1,…,vn:Vn] | }.

Таким образом, класс ОД представляет собой семейство упорядоченных пар (vi:Vi), где vi – i-й атрибут класса, а Vi – его тип.

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

При конкретизации класса C в соотнесении a1 с шаблоном k информационной страницы ИСУК означивание семейства шаблонов M устанавливает в значение «истинно» тот единственный его элемент mi, который совпадает по номеру (k) с номером шаблона:



Pages:     | 1 |   ...   | 11 | 12 ||
Похожие работы:

«Second International Conference Cluster Computing CC 2013 (Ukraine, Lviv, June 3-5, 2013) _ Мультиагентные технологии управления ресурсами в распределенных вычислительных средах А.В. Прохоров, Е.М. Пахнина Национальный аэрокосмический университет им. Н.Е. Жуковского, Харьков, У...»

«Математическое моделирование субъективных суждений в теории измерительно-вычислительных систем Д. А. Балакин, Б. И. Волков, Т. Г. Еленина, А. С. Кузнецов, Ю. П. Пытьев Рассмотрены методы моделирования неполного и н...»

«ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА 2012 Управление, вычислительная техника и информатика № 4(21) УДК.519.24 Б.С. Добронец, О.А. Попова ЧИСЛЕННЫЙ ВЕРОЯТНОСТНЫЙ АНАЛИЗ ДЛЯ ИССЛЕДОВАНИЯ СИСТЕМ В У...»

«1 ПОЯСНИТЕЛЬНАЯ ЗАПИСКА к завершенной предметной линии учебников «Информатика. Базовый уровень» для 10 – 11 классов общеобразовательных организаций Авторы: Босова Л.Л., Босова А.Ю. ООО «БИНОМ. Ла...»

«Автоматическое распараллеливание последовательных программ Степени параллелизма. Статическое и динамическое распараллеливание последовательных программ Как писать код для параллельного выч...»

«Всероссийская олимпиада школьников по информатике, 2014-15 уч. год Первый (школьный) этап, г. Москва Разбор заданий для 9-11 классов Каждая задача оценивается в 100 баллов. Ограничение по времени работы в каждой задаче — 1 секунда. Задача 1. Шахматная доска Шахматная доска состоит из n m клеток, покрашенных в...»

«Глава 2. Новая кибернетика как объект исследования 2.1. Кризис кибернетики В настоящее время термин «кибернетика» практически вышел из употребления и считается многими учеными и инженерами чуть ли ни архаизмом. Вместо термина «кибернетика»...»

«ВВЕДЕНИЕ В MAPINFO МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ГЕОДЕЗИИ И КАРТОГРАФИИ И.И. Лонский, П.Д. Кужелев, А.С. Матвеев Введение в MapInfo Москва Рецензенты: профессор кафедры прикладной информатики МИИГАиК А.П. Галеев; профессор, доктор техн. наук В.Н....»

«Речевые информационные технологии ОБ ОЦЕНКЕ ИНФОРМАТИВНОСТИ ИДЕНТИФИКАЦИОННЫХ ПРИЗНАКОВ ДЛЯ ЧАСТОТНОГО АТЛАСА ИНДИВИДУАЛЬНЫХ АРТИКУЛЯЦИОННЫХ ОСОБЕННОСТЕЙ ДИКТОРОВ Д.т.н., профессор В.Р. Женило (Академия управления МВД...»

«Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «Поволжский государственный университет телекоммуникаций и информатики» «УТВЕРЖДАЮ» Декан факультета _ФИСТ наименование факультета Салмин А.А._ подпись Фамилия И.О. « » _ 201...»





















 
2017 www.pdf.knigi-x.ru - «Бесплатная электронная библиотека - разные матриалы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.