Опубликована: 05.04.2011 | Уровень: для всех | Стоимость: 490.00 руб. | Длительность: 14 дней
Курс основан на творческом синтезе избранных формальных теорий (ламбда-исчисление, комбинаторная логика, теория категорий и др.) и уникальной технологической платформы Microsoft.NET, обеспечивающей практически прозрачную интеграцию кода на языках программирования различных типов.
Первая часть курса посвящена основам функционального подхода к программированию на основе метаязыка SML.NET. Курс будет полезен как для опытных программистов, так и для студентов, аспирантов и исследователей, специализирующихся в области компьютерных наук и информационных технологий.
Цель: Целью курса является формирование адекватного мировозрения на современное программирование.
Необходимые знания: Фундаментальные понятия математики из курса средней школы ("функция", "множество" и т.д.) на интуитивном уровне.
План занятий
Занятие | Заголовок << | Дата изучения |
---|---|---|
- | ||
Лекция 121 минута | Вступительная лекция
Обзор истории развития научных направлений, сформировавших теоретическое основание курса.
Оглавление | - |
Лекция 233 минуты | Классификация языков программирования
В лекции исследуются вопросы истории и эволюции языков и подходов к программированию, анализируются их достоинства и недостатки, строится классификация языков и подходов к программированию.
Оглавление | - |
Тест 115 минут | - | |
Лекция 331 минута | Концепция и возможности подхода .NET
В лекции рассматриваются вопросы, относящиеся к идеологии, технологии и обзору практических возможностей создания программных систем на основе наиболее современного подхода к проектированию и реализации программного обеспечения, известного под названием Microsoft .NET.
Оглавление | - |
Тест 215 минут | - | |
Лекция 424 минуты | Функциональный подход к программированию
В лекции обсуждаются вопросы, касающиеся истории развития, идеологии, математического обоснования и возможностей программных систем на основе функционального подхода к проектированию и реализации программного обеспечения.
Оглавление | - |
Тест 315 минут | - | |
Лекция 528 минут | Ламбда-исчисление как формализация языка функционального программирования
В лекции производится анализ идеологии, математического основания и возможностей ламбда-исчисления – математической формализации, моделирующей языки функционального программирования.
Оглавление | - |
Тест 415 минут | - | |
Самостоятельная работа 112 минут | Базисные типы и стандартные функции языка SML
Цель: ознакомиться с ядром языка SML, стандартным набором функций, принципами построения функций и типов.
Оглавление | - |
Лекция 629 минут | Комбинаторная логика как формальная система
В лекции обсуждаются вопросы, относящиеся к идеологии, математическому основанию и обзору возможностей комбинаторной логики - математической формализации, моделирующей языки функционального программирования и абстрактные вычислительные машины.
Оглавление | - |
Тест 515 минут | - | |
Лекция 736 минут | Теория типов и комбинаторная логика
В данной лекции исследуются принципы, математическое основание и выразительные возможности теории типов и типизированной комбинаторной логики - математической формализации, моделирующей типы выражений в языках программирования.
Оглавление | - |
Тест 615 минут | - | |
Самостоятельная работа 25 минут | Функции SML для основных комбинаторов
Цель: получить представление об отображении комбинаторной логики на язык SML.
Оглавление | - |
Лекция 840 минут | Синтаксис языков программирования
В лекции рассматриваются вопросы, относящиеся к понятийному аппарату, истории развития и выразительным возможностям синтаксического представления формальных теорий и языков программирования.
Оглавление | - |
Тест 715 минут | - | |
Лекция 935 минут | Семантика языков программирования
В лекции излагаются основополагающие принципы, история развития, существующие подходы и выразительные возможности семантического представления формальных теорий и языков программирования.
Оглавление | - |
Тест 815 минут | - | |
Самостоятельная работа 35 минут | Функции для синтаксического разбора простых языковых конструкций
Цель: ознакомление с механизмами синтаксического разбора (parsing) простых языковых конструкций.
Оглавление | - |
Лекция 1028 минут | Рекурсивные функции и множества
В лекции исследуется рекурсивное представление функций и множеств в формальных теориях и языках программирования. Рассматриваются вопросы, относящиеся к понятийному аппарату и возможностям рекурсивных вычислений.
Оглавление | - |
Тест 915 минут | - | |
Самостоятельная работа 45 минут | Рекурсивные вычисления
Цель: ознакомление с принципами работы механизма рекурсии
Оглавление | - |
Лекция 1126 минут | Абстрактные машины и категориальная комбинаторная логика
В лекции излагаются основные концепции абстрактных вычислительных машин. При этом обсуждается история развития последних, анализируются существующие подходы к их реализации.
Оглавление | - |
Тест 1015 минут | - | |
Лекция 1232 минуты | Категориальная абстрактная машина
В лекции предлагается вариант формальной системы комбинаторной логики, а также систематизируется технология построения категориальной абстрактной машины как формализации языков программирования.
Оглавление | - |
Тест 1115 минут | - | |
Лекция 1330 минут | Оптимизация вычислений и абстрактные машины
В лекции рассматриваются возможные направления и ключевые стратегии повышения вычислительной производительности программных систем. Значительное внимание уделяется моделированию этих направлений и стратегий путем внесения "конструктивных изменений" в инструкции и среду вычислений абстрактных машин, в частности, КАМ.
Оглавление | - |
Тест 1215 минут | - | |
Самостоятельная работа 53 минуты | Реализация категориальной абстрактной машины
Цель: практически ознакомиться с принципами реализации категориальной абстрактной машины (КАМ) на основе примеров фрагментов реализации.
Оглавление | - |
5 часов | - |