Автор: Сергей Зыков | Национальный исследовательский ядерный университет «МИФИ»
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Для всех
Длительность:
10:03:00
Студентов:
3805
Выпускников:
320
Качество курса:
4.02 | 3.77
Курс основан на творческом синтезе избранных формальных теорий (ламбда-исчисление, комбинаторная логика, теория категорий и др.) и уникальной технологической платформы Microsoft.NET, обеспечивающей практически прозрачную интеграцию кода на языках программирования различных типов.
Первая часть курса посвящена основам функционального подхода к программированию на основе метаязыка SML.NET. Курс будет полезен как для опытных программистов, так и для студентов, аспирантов и исследователей, специализирующихся в области компьютерных наук и информационных технологий.
ISBN: 978-5-9556-0009-3
 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
21 минута
Вступительная лекция
Обзор истории развития научных направлений, сформировавших теоретическое основание курса.
Оглавление
    -
    Лекция 2
    33 минуты
    Классификация языков программирования
    В лекции исследуются вопросы истории и эволюции языков и подходов к программированию, анализируются их достоинства и недостатки, строится классификация языков и подходов к программированию.
    Оглавление
      -
      Лекция 3
      31 минута
      Концепция и возможности подхода .NET
      В лекции рассматриваются вопросы, относящиеся к идеологии, технологии и обзору практических возможностей создания программных систем на основе наиболее современного подхода к проектированию и реализации программного обеспечения, известного под названием Microsoft .NET.
      Оглавление
        -
        Лекция 4
        24 минуты
        Функциональный подход к программированию
        В лекции обсуждаются вопросы, касающиеся истории развития, идеологии, математического обоснования и возможностей программных систем на основе функционального подхода к проектированию и реализации программного обеспечения.
        Оглавление
          -
          Лекция 5
          28 минут
          Ламбда-исчисление как формализация языка функционального программирования
          В лекции производится анализ идеологии, математического основания и возможностей ламбда-исчисления – математической формализации, моделирующей языки функционального программирования.
          Оглавление
            -
            Базисные типы и стандартные функции языка SML
            Цель: ознакомиться с ядром языка SML, стандартным набором функций, принципами построения функций и типов.
            Оглавление
              -
              Лекция 6
              29 минут
              Комбинаторная логика как формальная система
              В лекции обсуждаются вопросы, относящиеся к идеологии, математическому основанию и обзору возможностей комбинаторной логики - математической формализации, моделирующей языки функционального программирования и абстрактные вычислительные машины.
              Оглавление
                -
                Лекция 7
                36 минут
                Теория типов и комбинаторная логика
                В данной лекции исследуются принципы, математическое основание и выразительные возможности теории типов и типизированной комбинаторной логики - математической формализации, моделирующей типы выражений в языках программирования.
                Оглавление
                  -
                  Функции SML для основных комбинаторов
                  Цель: получить представление об отображении комбинаторной логики на язык SML.
                  Оглавление
                    -
                    Лекция 8
                    40 минут
                    Синтаксис языков программирования
                    В лекции рассматриваются вопросы, относящиеся к понятийному аппарату, истории развития и выразительным возможностям синтаксического представления формальных теорий и языков программирования.
                    Оглавление
                      -
                      Лекция 9
                      35 минут
                      Семантика языков программирования
                      В лекции излагаются основополагающие принципы, история развития, существующие подходы и выразительные возможности семантического представления формальных теорий и языков программирования.
                      Оглавление
                        -
                        Функции для синтаксического разбора простых языковых конструкций
                        Цель: ознакомление с механизмами синтаксического разбора (parsing) простых языковых конструкций.
                        Оглавление
                          -
                          Лекция 10
                          28 минут
                          Рекурсивные функции и множества
                          В лекции исследуется рекурсивное представление функций и множеств в формальных теориях и языках программирования. Рассматриваются вопросы, относящиеся к понятийному аппарату и возможностям рекурсивных вычислений.
                          Оглавление
                            -
                            Рекурсивные вычисления
                            Цель: ознакомление с принципами работы механизма рекурсии
                            Оглавление
                              -
                              Лекция 11
                              26 минут
                              Абстрактные машины и категориальная комбинаторная логика
                              В лекции излагаются основные концепции абстрактных вычислительных машин. При этом обсуждается история развития последних, анализируются существующие подходы к их реализации.
                              Оглавление
                                -
                                Лекция 12
                                32 минуты
                                Категориальная абстрактная машина
                                В лекции предлагается вариант формальной системы комбинаторной логики, а также систематизируется технология построения категориальной абстрактной машины как формализации языков программирования.
                                Оглавление
                                  -
                                  Лекция 13
                                  30 минут
                                  Оптимизация вычислений и абстрактные машины
                                  В лекции рассматриваются возможные направления и ключевые стратегии повышения вычислительной производительности программных систем. Значительное внимание уделяется моделированию этих направлений и стратегий путем внесения "конструктивных изменений" в инструкции и среду вычислений абстрактных машин, в частности, КАМ.
                                  Оглавление
                                    -
                                    Реализация категориальной абстрактной машины
                                    Цель: практически ознакомиться с принципами реализации категориальной абстрактной машины (КАМ) на основе примеров фрагментов реализации.
                                    Оглавление
                                      -
                                      1 час 40 минут
                                      -